Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
Wie können Benachrichtigungen von einem Fhem-Server unter Raspberry Pi und auch anderen Programmiersprachen (Bash, Perl, PHP, Web…) an ein Handy versendet werden. Z.B. will man benachrichtigt werden wenn die Tür geöffnet wird oder wenn der Speicherplatz auf dem Rechner voll ist. Oder wenn die Temperatur unter 0 Grad ist oder oder…
Das geht mit Pushover. Es wird die kostenplichtige App (ein paar Euro) einmalig benötigt, und dann kann man diese REST-API kostenlos nutzen:
In Fhem in der fhem.cfg kann dann ein Eintrag erstellt werden, der z.B. täglich um 18 Uhr eine Nachricht versenden, wenn die Batterie von einem Gerät (hier Pulse von Withings) kleiner als 50 Prozent der Accu-Ladung ist. Versendete Nachrichten kommen innerhalb von wenigen Sekunden auf den Mobilen Geräten an. Es könnte also auch leicht alle 10 Sekunden abgefragt werden.
Es muss auf der Pushover-Seite nach der Anmeldung eine Application angelegt werden. Von der Seite erhält man dann auch den API-Token und auf der Hauptseite den User-Key. Die müssen hier ersetzt werden:
define pushPulseAccuStand at *18:00:00 {\
my $temp=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($temp < 50){\
system ("curl -s -F 'token=--API-TOKEN' -F 'user=--USER-KEY---' -F 'message=Accu von Pulse beträgt: $temp.' -F 'title=Fhem: Accu Status zu Pulse' http://api.pushover.net/1/messages.json");;}\
}
Es gibt nun auch ein Fhem Modul, was die Nutzung mir dem Pushover Service vereinfacht.
Es muss nun kein curl mehr verwendet werden. Es reicht ein zwei Zeiler.
Erst das Device definieren und dann die Befehle absetzen. Z.B. täglich um 12 Uhr eine Nachricht senden "Pulse laden":
define Pushover1 Pushover TOKEN KEY
define at_Push at *12:00 set Pushover1 msg 'Titel' 'Pulse laden' '' 0 ''
Oder täglich um 12 Uhr Accu Warnung wenn kleiner als 70% Ladung:
define pushPulseAccuStandPulse at *12:00:00 {\
my $accu=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($accu < 70){\
set Pushover1 msg 'Titel' 'Pulse laden, da nur noch $accu Prozent.' '' 0 ''\
}\
}
Habt ihr noch weitere Anwendungsgebiete? Dann bitte als Kommentar.
Resilienz Mindmap
Stressreport Mindmap – Deutschland
Wie können die Daten von einer Withings Waage und Pulse mit einem Fhem-Server auf einem Raspberry Pi ausgelesen werden?
Dafür gibt es ein fertiges Modul in Fhem. Es müssen nur die zwei Zeilen mit den device, userid und publickey aus der Web-Oberfläche von Withings (alt)
define withings withings [device]
define withings> withings [userid] [publickey]
in der fhem.cfg ergänzt werden und ein restart des Fhem-Servers durchgeführt werden.
Dann kamm es bei mir zu folgender Fehlermeldung:
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/32_withings.pm line 9, <> line 3.
BEGIN failed--compilation aborted at ./FHEM/32_withings.pm line 9, <> line 3.
An der Fehlermeldung kann man erkennen das JSON für Perl auf den Rasperry Pi nicht installiert war.
In der Modulbeschreibung steht auch das „JSON, LWP::Simple and Digest::MD5 have to be installed on the FHEM host“. Also noch ein paar Module neu installieren mit
sudo apt-get install libjson-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl
auf der Konsole. Nach einem Restart, super es wird mein Gewicht angezeigt 🙁
Wie bekomme ich diese Gewichts-Daten nun in ein schönes Diagramm? Hat schon jemand eine passende gplot Datei? Dann bitte hier posten.
Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
Der Fhem-Server läuft bei mir unter OpenWrt. Nun möchte ich in auf einem Raspberry Pi neu installieren. Vorbedingung ist ein laufender rPi unter Debian wheezy.
Zu erste Perl und einig libs installieren. Dann das Debian Package (8,8 MB) von der Fhem Seite runterladen und installieren. Zu guter letzt die Berechtigungen setzen.
1 2 3 4 5 6 7 8 9 |
mkdir download cd download sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl wget http://fhem.de/fhem-5.7.deb sudo dpkg -i fhem-5.7.deb cd /opt sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem cd ~ ln -s /opt/fhem/ fhem |
Nach eingabe der URL http://[ip-vom-rpi]:8083 wird man mit der GUI des Fhem-Servers begrüßt:
Dann noch ein in dem Browser-Eingabe von Fhem oben, ein update und restart eingeben um den Fhem-Server auf dem neuesten Stand zu bringen.
Fhem kann auf der Konsole mit folgenden Befehlen gestartet oder gestopt werden. Auch der jeweilige Status kann abgefragt werden.
1 2 3 |
sudo /etc/init.d/fhem start sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem status |
Top 5 Best Jobs Mindmap
Top 10 der free Software 2013 von Heise.de Mindmap
Wie wird unter Fhem der Sysmon (Systemmonitor) auf einem WR703N unter OpenWrt installiert?
Wer sein Fhem Server heute updated bekommt den Sysmon mitgeliefert (FHEM/42_SYSMON.pm). Installation wie in der Beschreibung von
Sysmon angegeben. Wenn man das Beispiel in die fhem.cfg kopiert erhält man folgende Ausgaben:
Folgende Dinge fallen auf wenn man den Beispielcode 1:1 unter OpenWrt attitude_adjustment/12.09 verwendet:
1. Die Überschrift RPi stimmt in meinem Fall nicht, da es ein WR703N ist. Evl. muss da nur die Gruppe geändert werden.
2. Die Temperatur wird nicht angezeigt. Das liegt wohl daran, das der WR703N kein eingebauten Temp.-Sensor hat. Dann sollte die Zeile nicht vorhanden sein oder aber NN stehen. Oder hat der 703N ein Temp.-Sensor?
3. Die Frequenz in Mhz wird nicht angezeigt.
4. Wifi zeigt not available an, wohl weil es ausgeschaltet ist. Gut wäre auch, wenn alles in wahlweise in Deutsch angezeigt würde.
5. USB-Stick wird auch noch nicht richtig angezeigt.
6. Die 6 Plot Dateien werden noch nicht gefunden (Cannot read ./www/gplot/mySMNetworkEth0.gplot). Habe in das www/gplot Verzeichnis geschaut. Da sind die Dateien auch nicht vorhanden. Wo bekomme ich die? Hier steht, das die von GitHub geladen werden könne. Die könnten doch auch in Fhem eingescheckt werden?
Heute noch mal ein Fhem Update, aber die plott Dateien waren noch nicht eingescheckt, ok dann eben aus dem Git holen. Ab heute sind die Dateien nun auch eingescheckt. Der folgende Schritt kann also entfallen.
[Optional]
Ein neues Verzeichnis erstellt und die Dateien aus dem Git Repository geholt und in das Fhem/www/gplot Verzeichnis kopiert mit:
mkdir plott-dateien
cd plott-dateien
git clone git://github.com/hexenmeister/MyFHEM
cp SM* ~/fhem/www/gplot/
Nach reread der Config sind die Plotts auch da, Super!
Die CPU-Speed kann auf OpenWrt wie folgt angezeigt werden, hier meine getestete Perl Funktion:
sub
CPUSpeed
{
my $CPUSpeed = qx(cat /proc/cpuinfo | grep "BogoMIPS" | sed 's/[^0-9\.]//g');
return $CPUSpeed;
}
Die könnte in Fhem integriert werden, dann würde auch die Frequenz (CPU-Speed) unter OpenWrt attitude_adjustment/12.09 angezeigt werden.
Der Entwickler hat die Funktion nun eingebaut, und der BogoMips wird nun auch angezeigt. Vielen Dank für das schnelle update. Das liebe ich an Open-Source-Projekten.
Habe die Config nun etwas angepasst, so sieht es super aus und kann bleiben:
TOP 10 der ruhigen Jobs 2014
TOP 10 der stressigsten Jobs 2014
Sichere Airline Mindmap
Wie kann auf einem Raspberry Pi ein Sicherheits und Spam-Schutz als IDS „fail2ban“ installiert werden?
Das ist auf der Konsole des rPi nach der Aktualisierung des Systems mit einem Befehl getan:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install fail2ban |
Weitere Infos zu fail2ban gibt es im MANUAL oder auf der Seite von Sergej Müller.
Hier noch eine Mindmaps, mit den Abhängigkeiten von fail2ban auf Debian von links nach rechts:
Oder noch eine zentrierte Mindmap:
Hast Du noch weitere Infos zu diesem Thema? Welche der drei Mindmaps gefällt Dir am Besten?
WebDAV Apps Mindmap
WebDAV Mindmap
Dopamin Mindmap
Mail-Verschlüsselung: Mittwochs PGP-Schlüssel zertifizieren bei Heise mit Diskette!!!
Wo bekomme ich den die Diskette her? Hier mal ein Auszug aus dem Antrag:
Aber eine gute Idee mit PGP.
TOP 10 Städte Mindmap
Wie kann ein aus dem Internet geladenes *.deb Archive auf einem Raspberry Pi installiert bzw. gelöscht werden?
Manchmal muss man ein deb-Archive auf dem rPi aus dem Internet laden und lokal einspielen, da das deb Archive nicht im Repository vorhanden ist.
Das geht einfach mit dpkg (Debian Package) und nicht mit apt-get da dies nur Pakete aus dem Repository landen kann, das in der Datei /etc/apt/sources.list aufgelistet ist. In der Regel deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi.
z.B. wenn das lokale Archive auto-pdf-1.0.deb installiert werden soll:
sudo dpkg -i auto-pdf-1.0.deb
-i = install = installieren
und schauen ob es installiert wurde mit:
sudo dpkg -l | grep 'autopdf'
oder
sudo dpkg -l | grep 'auto-*'
und alles wieder löschen mit:
sudo dpkg -r autopdf
-r = remove = löschen
Auch noch hilfreich für Infos und anzeige des Inhalts des Archivs.
dpkg --info auto-pdf-1.0.deb
dpkg --contents auto-pdf-1.0.deb
Cheat Sheet und man-Page
Wie kann die installierte Version auf dem Raspberry Pi angezeigt werden?
Manchmal will man wissen welche Linux Version auf dem Raspberry Pi installiert ist. Es gibt mehrere Möglichkeiten diese auszulesen. Über die Konsole mit diesen vier Möglichkeiten:
cat /proc/version
uname -a
cat /etc/issue
# nur bei Debian
cat /etc/debian_version
Oder hier eine Möglichkeit über Webmin (https://IP:10000/):
Kennt ihr noch weitere?