Snippet – FHEM mit PHP über Telnet abfragen

Für alle die den Status Ihrer Homemmatic-Geräte anstelle der FHEM-Webseite in einer eigenen Webseite darstellen wollen, gibt es diesmal einen einfachen Schnippsel PHP-Code um den Status eines Homematic-Fensterkontaktes hm-sec-sc per Telnet abzufragen.
Hierfür bietet sich das list-Kommando von FHEM an. Die Syntax ist sehr einfach:

list [devspec] [value]

Wobei [devspec] der Name des Homematic-Gerätes ist, wie es in der FHEM-Einstellungen konfiguriert ist. Für [value] wird STATE als eines der Attribute des Fensterkontaktes abgefragt. STATE gibt neben dem Gerätenamen den aktuellen Zustand closed oder open aus.

Folgendes Script setzt ein entsprechendes Telnet-Kommando ab und parst das Ergebnis:

[cclN_php]
//Hostname und Telnet-Port des FHEM-Servers
$fhemhost = „localhost“;
$fhemport = 7072;

//Socket öffnen
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
//FHEM Kommando definieren (Name des Homematic-Gerätes eintragen)
$fhemcmd = „list STATE\r\nquit\r\n“;
fwrite($fhemsock, $fhemcmd);
while(!feof($fhemsock)) {
$ergebnis=fgets($fhemsock, 128);
$zustand=explode(‚ ‚,$ergebnis);
switch (trim($zustand[1])) {
case „closed“:
$zustand=“geschlossen“;
break;
case „open“:
$zustand=“offen“;
break;
default:
$zustand=$ergebnis[1];
break;
}
if ($ergebnis[1]!=““) {
print „:“.$zustand;
}
}
[/cclN_php]

In einer Webseite kann das dann z.B. folgendermaßen implementiert werden:

fenstersensoren

Ich lasse dann auch jeden Abend um 21 Uhr per Cron-Script prüfen ob alle Fenster geschlossen sind. Wenn nicht, wird eine Mail versendet.

Viel Spaß mit den Schnippsel
Chris

Raspberry PI – Heimautomatisierung mit COC, Homematic & FHEM

Damit der Raspberry PI sich nicht nur mit dem Aufzeichnen des Stromverbrauches langweilt, musste noch etwas anderes her. Kennt ihr das: Sobald man von Zuhause weg ist und gerade auf die Autobahn auffahrt, geht es einem durch den Kopf, ob auch alle Fenster zu sind und der Herd ausgeschaltet?

Um diese Frage, zumindest für die Fenster, auch auf der Autobahnauffahrt klären zu können, habe ich im Internet nach einer Lösung gesucht und Homematic und www.busware.de gefunden. Die nötige Software bietet FHEM.

Mehr lesen