Wie kann ein Passwortgenerator (pwgen) auf dem Raspberry Pi installiert werden?

Wer sich Passwörter leicht generieren möchte, kann das mit dem coolen Tool pwgen tun.
Dieser Generator ist schnell installiert mit:

apt-get update && apt-get upgrade
apt-get install pwgen

Dann einfach pwgen eingeben und es werden Passwörter generiert, hier ein Beispiel (natürlich diese nicht verwenden ;-)):

Piec3Eeg oothei5J Jah5eyoo eeya3IeM pi3ahyeT Zohw0udo oovai7Ji Nohgha6j
voP5ieho Ahpit7ta neiX6eex ni6zu1Ei lahV4aix Heuth7Ch kie5Zaim oache8Oo
ooPh3xof Hied4she quuph3Qu lai3Aefu ruaF2rie Ing7faes quoh7taP nieNoa9f
aiTh4sho iecheiT6 Ahj2wah8 Cee6uu1x Iefah3oh pah3Jode yoBoh7oo Aicea4qu
la5uoSee Lesai2ha XeiKie5E meiNg1Ov poogee6W she9Ohji lieJ6Poh EiC1veit
Zouc9sei pie1NaMi jaiph3iS pixei7Ei nei8eeCi kiel4Yoo Chah5ale dei1tieZ
AiSahB3D ohy6Air6 Ozie4qui uiG1Eoji Jeireo0t hedooY3i od1vauDe eereF5ku
ootei4aZ ieB0ij9e ahgia2Oo Eeng2tah AiWi2aiz JaeR3hio ieTie9ti aeN8seid
ieg9Ea2f ahth0Oon goeQu6ae eivee7Ei toh7Ding Ohhein3w hiph0Aec sheiJie0
sheeBo7u dooYah4e gai4og2E aih6Epha Shuth3Ju cheaLoK9 oo2BuM5a nae0ooTh
eakeeHa9 ohB2aqu9 Ahxuz5fo si2Paexu iek5cieH eejie3Gu eeTh6tai ashuu4Ai
Aibux0ua Rohghoh1 Jahp2Uhu rie4xeCu IeJ2leiR gia3OoRo An2ohJae auJa6mai
iub1Pei6 Tei7Hahd chib6Hei ouf6Zooc As1tasae fee2Jang ahcee4Ie Mahke0io
paw6UJai Quuc8wa3 oe7Wurah iJu1ieG3 ohgh6Poh eeKo7ip9 fahjooM3 ooS1ohju
xua7riZo pueW0iex sheig3Al Zeuc0min Oor7keet dahm4ahH Ki8aiqua bee9Choh
GaisaeN5 aijo7EiB die9Aipo Ne8ohvoo leSheK5d vei3Regi ishung5W Nue3Aide
Aiw9aibo ieTah2ug Iey9eeng iehoh0Oe Fai3OhSo uPhae6Ie It9oeyiu dahNgoh9
mio6EiGe Eichee3u ku4veiSh eu3Ohsev pish5AB3 Ishir7ai thei2Sai Lae0phei
Fer2ki3W xoop0Wae uM9engee cha8cahB Iexeip0I Ze1avo2a zohZoh2K ohg3Ooco
Eijoh1Ee Yiex6ahh Ov8onuSh Wug1yuo5 phewee8A Gohqu6io Deighoo4 ielo2eiJ

Der pwgen hat aber noch mehr Optionen, die werden mit:
pwgen -help
oder mit
man pwgen
angezeigt:
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words

Wenn ich also eine Liste von 20 Stelligen sicheren (s) Passwörtern und keinen ähnlichen Zeichen (wie l und 1) haben möchte (B), kann ich folgenden Befehl absetzen:

pwgen -sB 20

Das Ergebnis:

YgjNwvYemaAhWx9fHThg ATwxvf3NJwYntwxjWWzL CWRYn9KaAus4YLfb4Cro
XCPtEXNmUiAEP4ULizgN XepEta7NjypmFJfCzHsc N7kFENh3PMi9qbVwryKb
gNwjqveYkshdaL4gjehT fjzzmNfgtnVoaCH7dVKt rb3suCzadpj7fp9y3JHt
s3YwxAUqMrNNANPmWxFa FsuWngN9qLqXp7jTxJr7 VcWyXgskfAyuvzHeLh7e
7wEjhadTdmAe4Riz3oaH MAogzqyiYVegJFx4nwqa sAwW3w4V7mUmUsiWEN44
KeMeAb9kfHuyAsh3W4oL N9NXjWV3JVgddeas7vWz PhoCNLzxHNEdtCxo4MYh
MsRLj44Xe4uvM4oLTdxa HLVvqq94TqrnyycbaKJC sx3rcnYrMFcaq9nFHChT
Jvc3TtLUHpnbqFpbjWYe r4z4R7Uzc7jyLAVd9wNu vkgdqkmsUnNTR3aJXcTm
UArR4WCcndEnNRPorr7e cCW9TYjizh3FxLEMiWsd dqxu3NWgEWEcVnR7kdtb
KorKCagv3tiFPedRCxY4 MvaKWq4aMfuvqudKNATv dPgR4rFyMfjiMCwx4mac
PrnmoJwiHd4sNtpUhwrt 44uFHPxgsqvvkxCUfTMg iofY9kMvqjFnLrzREtAV
XVXAoe3eHvFArCvphhRJ 7ozVRLVAcWwKnwsy47oy wEjehHscpLXRMuvxua9z
EKvChrkLfXdRuWT4U9WH KyAjaTXuh7xkeFb3RoRU VNz33urjqEAMtNFgNMoL
e49ic3ceuAwabgfKrxdj PkR4ETdqKufWcep7hscx bxwRRALNVWkEqqAM9bRm
EYqqLnjR3exqpmNo9bMp fpvuh4CarVLXhwsULodK oedNeFstpnryXV9qvYmY
n4ptWFwmLw9XmvgEteRX vimxprjruksCK3iaTzxn EVCJFvPAiu4NK9cNgKda
vMFw4wJvfkpuuCjtz4rb UFd4HLqVvV7awtJHWwHf rftMpbCTuHzbLU3YEMeg
FUveaeHvV4dLdFwfuaF3 WdYqhCxe3rC9fLxUHJjc YmgzCkzkLqdTqfJry9jX
UnfEPWVqk3kPkhEcbKCs Whho7FfCtuqbbgEKtJvj CFu4AsMHANnw4HXpem3t
4TWweTY7iEqqPqpeX9en 3Viq7hqkh3FwsgpEnmzX Yw4bfMmJAotymPTJkfjM

Viel Spaß beim generieren von Passwörtern?

Wie kann auf einem Raspberry Pi die Zeit angezeigt werden, wie lange der Pi läuft (uptime)?

Manchmal möchte man wissen, wie lange der Raspberry Pi läuft. Windows Systeme müssen oder werden häufig gebootet. Der kleine Raspberry Pi, läuft unter Linux Debian sehr stabil.

Zum Beispiel läuft einer meiner PasPis, über 86 Tage ohne das er vom Strom getrennt wurde. Er hat ja auch noch nicht einmal einen an/aus Schalter.

Unter Webmin kann man diese Zeit, über den Menüpunkt Systeminformationen abrufen:
Bildschirmfoto 2014-07-12 um 20.14.35

Oder einfach auf der Konsole uptime eingeben, es wird dann ua. die Zeit geliefert:

20:16:10 up 86 days, 23:46, 1 user, load average: 0,02, 0,33, 0,87

Wie lange läuft Euer rPi? Kommentare dazu erwünscht.

Wie kann die aktuellste Node.js v0.10.29 auf einem Raspberry Pi (Version Jessie) installiert werden?

Wer die neue Node.js v0.10.29 braucht, muss sie selbst compilieren, oder etwas warten bis die binaries hier auch vorhanden sind.

Dazu erst mal das System aktualisieren.

sudo apt-get update && sudo apt-get upgrade

Dann noch die neueste Firmware installieren mit:

sudo rpi-update
Ergebnis:
Bildschirmfoto 2014-06-21 um 18.37.49

Ein reboot ist noch nötig:

sudo reboot

Jetzt kann es losgehen mit der Installation der nötigen Pakete (ca. 84 MB):

sudo apt-get install git-core build-essential python libssl-dev nano screen

Nun das Node.js Repo nach /opt clonen und die aktuellste Version auschecken:

cd /opt
sudo git clone https://github.com/joyent/node.git
cd node

Ergebnis:
Bildschirmfoto 2014-06-21 um 18.52.15
Nun die gewünschte Version auschecken mit:

sudo git checkout v0.10.29

Ergebnis:Bildschirmfoto 2014-06-21 um 18.52.04

Nun starten wir das Tool screen mit:

screen

damit beim beenden der SSH Session, der Prozess weiter läuft.

Und nun compilieren wir wie in https://github.com/joyent/node beschrieben mit:

sudo ./configure
sudo make
sudo make install

Das dauert dann so ca. 2-4 Stunden.

Wir können das Terminal Fenster schließen und mit

screen -r

wieder jederzeit die Session aufnehmen.

Nun noch den Pfad in der ~/.profile Datei ergänzen mit:


nano ~/.profile
export PATH=$PATH:/opt/node

Checken ob node installiert wurde mit

node --version

Ergebnis:

Bildschirmfoto 2014-06-22 um 08.50.32

Oder das Testportfolio mit 601 Test ausführen (Laufzeit bei mir 22 Minuten) mit:

sudo make test

Bildschirmfoto 2014-06-22 um 14.26.05

Ein Fehler, das ist nicht so schlimmm 😉 Rest läuft ja.

Dann evl. noch die Dokumentation erstellen, mit

sudo make doc

nach ein paar Minuten kann z.B. mit

man doc/node.1

die Doku gelesen werden:
Bildschirmfoto 2014-06-22 um 14.31.55

Oder ein kleines Hallo Welt Beispiel. Die node Konsole aufrufen mit node und console.log("Hallo Welt") eingeben:

Bildschirmfoto 2014-06-22 um 14.38.04

Nun viel Spaß mit Node.js.

Wie wird die Wetterstation Square Plus TFA 35.1121.IT in Fhem auf Raspberry Pi eingebunden?

Die Wetterstation Square Plus TFA 35.1121.IT besteht aus einem Hauptgerät (Betriebsanleitung):
20140614-230405-83045899.jpgund einem Aussensensor für Temperatur und Luftfeuchte, so sieht er von vorne aus:
20140614-230404-83044067.jpg und so von hinten:20140614-230404-83044958.jpg

Diese Wetterstation tauscht die Daten von dem Aussensensor zum Innensensor nach dem La Crosse Protokoll auf 868 MHz aus. Diese Daten können auch von einem JeeLink empfangen werden und in Fhem dargestellt werden.

Wie hier schon ausführlich beschrieben, denn LaCrosselTPlusReader10.ino Sketch auf den JeeLink laden.
La Crosse Sketch

Die Fhem Referenz gibt Infos zu LaCrosse.

[LOGFILE]
attr myJeeLink room CUL

Automatisch wird dann folgendes erkannt. Dazu vom Aussensensor die Batterien entfernen und in Fhem, für 120 Sekunden den Empfang anschalten mit klick auf set
Bildschirmfoto 2014-06-14 um 23.16.17 und dann die Batterien wieder einsetzen. Wenn alles erfolgreich gelaufen ist, sind folgende Einträge in der fhem.cfg Datei zu finden:

# Aussensensor Temp und Feuchte Sensor über JeeLink
define LaCrosse_08 LaCrosse 08
attr LaCrosse_08 IODev myJeeLink
attr LaCrosse_08 room Terrasse
define FileLog_LaCrosse_08 FileLog ./log/LaCrosse_08-%Y.log LaCrosse_08
attr FileLog_LaCrosse_08 logtype text
attr FileLog_LaCrosse_08 room Terrasse

In Fhem:
Bildschirmfoto 2014-06-14 um 23.01.38

Bildschirmfoto 2014-06-14 um 23.01.53

Ein passendes Diagramm, das schön den Verlauf der Temperatur und der Luftfeuchte zeigt, könnte so aussehen:
Bildschirmfoto 2014-06-17 um 18.17.11

Leider werden die Daten dieser Innenstation nicht versendet und können somit auch nicht von Fhem empfangen werden. Das währe das Optimum, so hätte man dann alle Werte auch in Fhem. Das währe dann die Eierlegende Wollmilchsau.

Wie wird ein Arduino Nano mit Firmata geflasht, mit dem iMac und dem Firmata-Testprogramm getestet und in Fhem auf dem Raspberry Pi eingebunden?

Als ich diesen Beitrag gelesen hatte, hatte ich Lust, auch mal was mit Firmata zu machen. Mit dem Firmata Protokoll kann man einfach auf alle Ein und Ausgänge zugreifen ohne ein eigenes Protokoll zu entwickeln.

Also einen Arduino Nano aus der Bastelkiste geholt und ihn mit dem Firmata Standard Sketch geflasht. Das wird ja ganz gut in dieser Anleitung beschrieben.

Arduino flashen

Also über die Arduino IDE den Standard Firmata flashen:
Firmata flashen

Quicktest

“Wie wird ein Arduino Nano mit Firmata geflasht, mit dem iMac und dem Firmata-Testprogramm getestet und in Fhem auf dem Raspberry Pi eingebunden?” weiterlesen

Wie kann der JeeLink (=JeeNode) mit neuen Sketch für Fhem auf den Raspberry Pi geflasht werden?

Im JeeLink ist der Demo Version 5 Sketch wie schon mal hier beschrieben.

Wie hier beschrieben, kann der JeeLink mit neuen Sketchen für PCA301, Lacrosse, Energy Count 3000, JeeLabs RoomNode und anderen geflasht werden.

Dazu die 36_LaCrosse-LaCrosseITPlusReader.zip
und die master.zip laden.

Beide in ein Verzeichnis ohne Sonderzeichen auspacken. Also das Verzeichnis jeelib-master in jeelibmaster umbenennen. Sonst kommt es zu Fehlern. Hier mal die Verzeichnisstruktur: “Wie kann der JeeLink (=JeeNode) mit neuen Sketch für Fhem auf den Raspberry Pi geflasht werden?” weiterlesen

Wie wird eine Logitech QuickCam, an einem Raspberry Pi mit #jessie und #fswebcam zum laufen gebracht?

In diesem Beitrag hatte ich schon beschrieben, wie ich eine alte Logitech QuickCam am rPi zum laufen bringen wollte.

Habe nun die gleiche “Logitech QuickCam” nun mal an einem neuen und aktuellen “jessie” System ausprobiert.

Es musste da das fswebcam nicht manuell installiert werden, da “jessie” schon die aktuellste Version enthält.

Aber, gleicher Fehler.

Dann einmal
sudo raspi-config
aufgerufen und dort die camera angeschaltet unter Punkt 5.

Dann, oh Wunder, wurde ein Foto erstellt 🙂

Das Foto noch auf den Mac kopieren mit:
scp pi@{Raspberry-Pi-Adresse}:/home/pi/test.jpg .
vom Mac aus. Und das test.jpg bewundern:
1. Test Foto mit fswebcam
Was habe ich da fotografiert, das ist auch die Frage des Monats. “Wie wird eine Logitech QuickCam, an einem Raspberry Pi mit #jessie und #fswebcam zum laufen gebracht?” weiterlesen

Wie kann der Raspberry Pi auf die neue Debian Version Jessie upgedated werden?

Aktuell ist die Linux Wheezy Version. Wer aber neue Funktionen ausprobieren will, kann den Raspberry Pi auch auf Jessie updaten. Wenn auch noch nicht alles so stabil sein soll, bekommt man doch einfach die neuesten Versionen. Z.b. PHP 5.5.12. Diese Version wird aber noch nicht zeitnah mit Sicherheitsaktualisierungen versorgt und hat den Status Testing.

Es braucht nur die folgende Datei angepasst zu werden:
sudo nano /etc/apt/sources.list

Wo “wheezy” steht auf “jessie” ändern und speichern. Dann den update Vorgang starten mit:

sudo apt-get update && apt-get dist-upgrade && apt-get autoremove

Es kommen dann während der Installation einige Fragen die beantwortet werden müssen, ob Service usw. restartet werden sollen. Dann nach ca. eine Stunde kann mit

sudo apt-get autoclean

die Reste entfernt werden und das System neu gestartet werden:

sudo shutdown -r now

Dann evl. noch checken ob alles ok ist mit:
sudo apt-get check

So hat man jetzt auch die aktuellste PHP Version, testen mit
php -v
Erzeugt nun:

PHP 5.5.12-1 (cli) (built: May 11 2014 09:41:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Wie kann auf einem Raspberry Pi alle mDNS/DNS-SD Services mit avahi-browse gelistet werden?

Es gibt eine avahi-browse, mit dem kann auf einem Raspberry Pi alle Services im lokalen Netz angezeigt werden. Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Und keine Angst, Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.

Dazu die avahi-utils installieren mit:

sudo apt-get install avahi-utils

Dann kann mit

avahi-browse -at

die Liste aller im LAN registrierten Services auf der Konsole ausgegeben werden.
Will man nur die Domänen anzeigen, geht das mit:

avahi-browse -Dt

Eine ganz ausführliche Liste mit aufgelösten IP usw. gibt es mit

avahi-browse -art

Weitere Parameter zu dem avahi-browse können mit

man avahi-browse

ausgegeben werden. Hier eine Mindmap zu dem Thema:

Avahi
Avahi

Wie kann eine Apple Freigabe mit Netatalk und Bonjour (Zeroconf) für den Finder auf dem Raspberry Pi mit AFP installiert werden?

Um mit Apple-Rechner (Mac OS X, Yosemite 10.10.2) per Freigaben mit dem Finder auf dem Raspberry Pi zugreifen zu können, kann Netatalk verwendet werden. So würde eine Freigabe z.B. aussehen:

Bildschirmfoto 2014-05-07 um 20.23.33
Was ist nötig?

Das System aktualisieren und avahi-daemon und netatalk installieren:

Dann in der Datei:

Am Ende anfügen bzw. das # am Anfang entfernen:

Dann in der Datei:

vor der Zeile “End of File” folgenden Eintrag ergänzen um die Public Freigabe zu erzeugen, sonst ist nur das Home-Verzeichnis des Users freigegeben:

Nun noch die Datei

mit folgenden Inhalt anlegen:

Der Eintrag in der Zeile mit model= legt das Icon fest. Möglich Werte sind da: Mac (default), AirPort, AppleTV1,1, iMac, MacBook, MacBookAir, MacBookPro, Macmini, MacPro, PowerBook, PowerMac und Xserve.

Beide Services noch restarten:

Nach ein paar Sekunden kann auf die Verzeichnisse “normal” Zugegriffen werden.
Die Freigabe für “Apple Time Machine” kommt dann in einem anderen Blogeintrag.

Soll der avahi beim Neustart des Pi automatisch starten? Dann noch ein:

Optional, mal testweise schauen ob alles nach einen reboot läuft

Viel Spaß

Wie kann ein Jabber Client auf Raspberry PI unter Fhem eingerichtet werden?

Account auf jabber.de anmelden.

Evl. noch einen Jabber Client installieren um den Account zu testen. Für Mac z.B. adium.im verwenden. Dann auf der Kommandozeile im rPi ein paar Module installieren:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libnet-jabber-perl libnet-xmpp-perl libxml-stream-perl libauthen-sasl-perl libnet-ssleay-perl libnet-jabber-bot-perl libdigest-sha-perl

In der fhem.cfg folgende Zeile eintragen:
(Achtung, den Username in der define Zeile ohne @jabber.de angeben)

define Jabber_Client Jabber jabber.de 5222 JABBERUSER PASSWORT 1 0
attr Jabber_Client OnlineStatus available
attr Jabber_Client PollTimer 2
attr Jabber_Client RecvWhitelist JABBERUSER@jabber.de
attr Jabber_Client ResourceName FHEM
attr Jabber_Client userReadings 1
attr Jabber_Client room Jabber

Details zu den Parametern sind in der Fhem commandref zu finden.

Speichern und restart von FHEM. Im Raum Jabber schauen:

Jabber
Jabber

Dann in der Kommandozeile von Fhem z.B.:

set Jabber_Client msg JABBERUSER@jabber.de Hallo Fhem Welt!

Habe ich noch was vergessen? Weiter Tips?

BPMN 2.0 validieren und Fehler beheben

Das folgende Diagramm sollte eher die Funktion der CUPS Drucklösung auf dem Raspberry Pi darstellen.
tw-druck
Ist aber kein gültiges bzw. valides BPMN 2.0 Diagramm. Wenn das Diagramm validiert wird, gibt es folgende 8 Fehlermeldungen und 4 Warnungen. Wenn schon BPMN 2.0 Standard verwendet werden soll, dann sollte es auch valide sein.
Bildschirmfoto 2014-04-24 um 22.05.07
Deshalb hier der 1. Versuch der valide ist:
Bildschirmfoto 2014-04-24 um 22.29.53
Bei Gelegenheit kommt noch eine Version mit Swimlane. Oder habt Ihr einen anderen Vorschlag?

Die TOP 5: Wie werden auf dem Raspberry Pi alle angelegten Nutzer angezeigt?

Evl. will man ja mal schauen, ob nicht ein unbekannter einen Nutzer angelegt hat 😉
Um alle im System angelegten Nutzer anzuzeigen gibt es viele Möglichkeiten.
Die Nutzer werden in der Datei /etc/passwd abgelegt.

Jede angezeigte Zeile hat dieses Format:

Name:Passwort:User-ID:Group-ID:Kommentar:Verzeichnis:Shell

Es gibt viele Seiten, die alles genau beschreiben, hier eine kleine Auswahl:

Aber jetzt zu den TOP 5 Befehlen, die die Nutzer ausgeben (alle mit cat /etc/passwd), aber nur die User:

cut -d: -f1 /etc/passwd
at /etc/passwd | cut -d: -f1
sed 's/:.*//' /etc/passwd
cat /etc/passwd | awk -F : '{print $1}'
awk -F: '{print $1}' /etc/passwd

Kennt ihr auch noch einen? 😉

Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?

Wollte schon immer einen eigenen LDAP-Server haben. Da es heute regnet, habe ich mir einen mal auf dem Raspberry Pi eingerichtet. Hier gibt es eine gute Anleitung (auf englisch) zum installieren eines Ldap Servers. Analog dazu habe ich mal eine Anleitung zum openLDAP in deutsch angelegt. Erste mal eine Mindmap zum Thema:
Ldap
Kurz ist folgende nötig (BPMN 2.0):
ldap
“Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?” weiterlesen

Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?

Folgende 24/7 Drucklösung wird hier beschrieben.

Es können alle Dateien die in einem Dropbox Verzeichnis kopiert werden, automatisch in PDF-Dateien umgewandelt werden. Diese PDF Dateien werden in ein weiteres Dropbox Verzeichnis bereitgestellt. So ist über Dropbox ein platformübergreifender Zugriff möglich. Einfach die zu druckenden Dateien in das Verzeichnis kopieren. Der Drucker muss dazu nicht an sein.

Auch können mit dieser Lösung über iPhone, iPad… Dokumente über AirPrint gedruckt werden auch wenn der Drucker nicht AirPrint-Fähig ist. Das läuft über den CUPS-Server.

Der Drucker muss nicht immer an sein, da der Druckvorgang im Spooler des Raspberry Pi landet. Wenn der Drucker angeschaltet wird, werden die Dokumente gedruckt. Es ist rund um die Uhr ein Drucker erreichbar.

Es werden also PDF Dateien erzeugt und es wird der angeschlossene Drucker über CUPS “normal” verwendet. Das heißt es kann von jedem Gerät, auch iPhone und iPad gedruckt werden!

Was ist dafür zu tun?
Zuerst mal ein Überblick.:
Bildschirmfoto 2014-04-24 um 22.05.07
Eine valide BMPN 2.0 Version ist hier zu finden.
“Wie können Dateien automatisch über ein Dropbox Verzeichnis zu PDF umwandeln werden mit CUPS auf dem Raspberry Pi inklusive AirPrint?” weiterlesen

Wie kann die Copyright-Anzeige, nach SSH Login auf dem Raspberry Pi verkürzt werden?

Beim Anmelden mit SSH auf den Raspberry Pi wird jedes mal diese Meldung ausgegeben.

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Die habe ich gelöscht und durch eine für mich sinnvolle Bezeichnung welches Gerät es ist angepasst. So kann ich beim anmelden leichter sehen, mit welchem Gerät ich mich verbunden haben. Dazu einfach mit

die Datei wie gewünscht bearbeiten.

Ich habe da z.B. nur

Raspberry Pi Testgerät

oder für mein Produktionssever

Raspberry Pi PROD (FHEM, CUPS-Druckserver, Mail)

drinnen. So sieht man den Baum im Wald!

Wie kann per Karotz eine Sprachausgabe (Klingelbenachrichtigung) über Fhem und Raspberry Pi mit PushingBox realisiert werden?

Seit langem habe ich einen Karotz und schon einige Beiträge darüber hier veröffentlicht.

Karotz kann blinken!
Karotz kann Hausautomatisation!
Nun wollte ich ihn mal in Fhem für die Hausautomatisation einsetzen.

Habe nun eine generelle Lösung über die kostenlose PushingBox realisiert.

Es können jegliche Textausgaben auf den Karotz gemacht werden. Bei mir läuft eine Ansage, wenn es an der Haustür klingelt. Es könnte auch jede Stunde die Temperatur von Karotz angesagt werden oder … (weitere Ideen als Kommentar).

Was ist also nötig?

1. Die kostenlose App PushingBox auf den Karotz über die Karotz Seite installieren. Es ist diese App, die auch über die Suchefunktion im englischen Store gefunden werden kann. Klickt man dann auf die installierte App, findet man dort die Install id die wird für weiter installation benötigt.
Bildschirmfoto 2014-04-17 um 19.38.19
Bildschirmfoto 2014-04-17 um 19.36.42

2. Einen kostenlosen Account bei PushingBox mit dem Google-Account einrichten.

3. Im Menü auf My Services klicken und auf Add a Service Button klicken:
Bildschirmfoto 2014-04-17 um 20.55.28
Dann den Karotz Service auswählen mit klick auf den Button “Select this Service”.
Bildschirmfoto 2014-04-17 um 20.56.15

4. Im folgenden Dialog den “Namen der Karotz configuration” eingeben, der kann frei gewählt werden und der InstallID eintragen. Die kann wie unter 1. beschrieben ermittelt werden. Die Sprache auswählen, damit Karotz auch deutsch spricht einstellen und klick auf “Submit”.
Bildschirmfoto 2014-04-17 um 17.43.04

5. Dann unter “My Scenarios” über den Button “Add an Action” hinzufügen. Bei dem Parameter folgenden Text eingeben: $nachricht$
Der Service Name ist frei wählbar. Nach dem speichern erscheint in der Tabelle die DeviceId die später noch verwendet wird.Bildschirmfoto 2014-04-17 um 21.16.15
Jetzt einmal auf den “Test” Button klicken. Karotz muss nun “Nachricht” sagen. Wenn das alles läuft, kann es an die Einrichtung in Fhem gehen.

6. In der 99_Utils.pm (oder besser eine neue anlegen 99_myUtils.pm analog zu 99_Utils.pm) folgende Funktion ergänzen und abspeichern. Neueste Version kann auch von GitHub geladen werden.

#
# Sendet eine Nachricht an Karotz.
#
# Aufruf z.B.: {Set_Karotz_Nachricht('Device ID','Hallo herzlich Willkommen zu Hause')}
#
sub
Set_Karotz_Nachricht
{
my ($devid, $text) = @_;

Log 5, ">>> Set_Karotz_Nachricht: $text";
Log 5, ">>> ---------------------------------------------------------------------------------";

system("curl -d \"devid=$devid&nachricht=$text\" http://api.pushingbox.com/pushingbox");

return "OK, sende die Nachricht:\"$text\" an Karotz.";
}

7. Fhem restarten und in der Kommandline die Funktion testen mit (?? durch DeviceID ersetzen):
{Set_Karotz_Nachricht(‚v??????????’,’Hallo herzlich Willkommen zu Hause’)}
und return. Schon spricht Karotz!

8. Jetzt kann diese Zeile in die gewünschten Abläufe in Fhem integriert werden.
Z.b. wenn es klingelt:
define klingenOffPush notify fl_klingel_1:on* {\
Set_Karotz_Nachricht('v???????','Hallo, es hat an der Haustür geklingelt.');;\
}

wird nun die Meldung: “Hallo, es hat an der Haustür geklingelt.” von Karotz ausgegeben.

Hast Du noch weitere Anwendungsfälle, dann hinterlasse einen Kommentar?