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?
Was kann getan werden, wenn die NTP-Zeitsynchronisation (Atomzeit) auf dem Raspberry Pi mit ntpdate not found fehlschlägt?
Wenn in der default Konfiguration die Zeitzone mit NTP automatisch abgeglichen werden soll, kommt es beim aufrufen von Webmin (https://IP:10000/)

beim setzen des NTP-Servers (Atomzeit Physikalisch-Technische Bundesanstalt (PTB), Braunschweig, Germany , Hostname: ptbtime2.ptb.de ) zum Fehler: ntpdate: not found.

Es muss das fehlende ntpdate Paket installiert werden. Das geht über die Konsole wie folgt:
sudo apt-get update
sudo apt-get install ntpdate
Wie kann ein eBook im ePub Format mit Apple App Pages auf einem iMac, iPhone, iPad, iPadMini… erstellt werden?
Mit der Apple App Pages (ist beim neuen iPadMini kostenlos dabei) ein Dokument erstellen und dann
- 1.Oben rechts auf das Bereitstellen Icon klicken
- 2. „In anderer App öffnen“ wählen
- 3. wie oben im Bild auf ePub klicken
- 4. dann noch ein paar Infos zum eBook wie Titel, Autor, Genre und Sprache auswählen
Fertig ist das eBook im ePub-Format.
TOP 10 Google Suchbegriffe 2013
Neurotransmitter zum 2014 Start Mindmap
Wie kann ich auf einem Mac (OS X) die Sicherheitsabfrage beim leeren des Papierkorbs abschalten?
Dieser Dreamliner (B-787) war in Hannover!
Der Dreamliner 787 war neulich in Hannover.
Cooles Schiff mit 360 m
Die Oasis of the Seas kommt übrigens 2014 nach Europa!
VPN on Demand mit IPSec unter iOS 7 mit „shared secret“
Suche eine Möglichkeit mit dem iPhone per VNP on Demand mit IPSec zu machen.
Wie ich bei Apple gelesen habe, soll das gehen.
Die Option wird ja auch im Konfigurationsprogramm angeboten:

Wie ich aber leider feststellen mußte, nur mit Zertifikate und nicht mit Shared Secret.
Da wird die Option auch nicht angeboten:

Selbst wenn man das exportierte Konfigurations-Profile (XML), manuell anpasst, sagt das Konfigurationsprogramm dann beim import, das der Wert nicht gültig ist.
Somit geht „VPN on Demand“ mit dem iPhone mit der FritzBox 7940 leider nicht, da keine zertifikatsbasierte Authentifizierung möglich ist, wie auch schon die c’t feststellte.
Ok, das ist also ein Feature, und kein Fehler. Oder kennt Ihr eine Möglichkeit ohne jailbreak?
Dank per Bitcoin oder besser per Paypal für die 392 Beiträge und Tipps!
Deine Unterstüzung hält diesen Blog auch nächstes Jahr aktuell. Danke.
Bitcoin habe ich nun gelöscht, nun nur noch PayPal.
Aber besser per Paypal. Da Warnung!
Wie lege ich auf einem Raspberry Pi den default Drucker für lpr (line print) fest?
Wenn man eine Datei von der Konsole mit lpr ausdrucken will kommt evl. diese Fehlermeldung:
pi@rPi ~ $ lpr beispiel-anhang.txt
lpr: Error - no default destination available.
Dann kann man mit lpstat -s alle im System bekannten Drucker listen lassen:
i@rPi ~ $ lpstat -s
no system default destination
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Wie kann nun der default Drucker gesetzt werden? Mit z.B.
pi@rPi ~ $ lpoptions -d PDF_Drucker
Ein wiederholtes checken mit lpstat ergibt nun den gesetzten default Drucker.
pi@rPi ~ $ lpstat -s
system default destination: PDF_Drucker
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Nun läuft auch das Drucken mit
lpr beispiel-anhang.txt

















