FHEM: PHP, Python oder SH Skript ausführen und Rückgabe-Wert speichern
Mit FHEM lassen sich auch fremde Skripte ausführen: Zum Beispiel ein Python- oder PHP-Programm, das Daten ausliest oder auswertet und dann weitergibt. Wenn diese Skripte einen Rückgabe-Wert zurückgeben sollen, den man mit FHEM nutzen möchte, lässt sich der Wert mit diesem Beispiel-Skript speichern und später auswerten. So lässt sich zum Beispiel mit einem Python-Skript ein an die GPIO-Ports eines Raspberry Pi angeschlossener Sensor auswerten und die Daten dann in FHEM weiternutzen.
In dem Beispiel werden zwei dummies angelegt: Der erste dummy “testdummy” dient als Schalter, um per Klick auf “on” das externe Skript zu starten, der zweite dummy “testdummywert” erhält nach dem Ausführen des externen Skripts den Rückgabewert als Wert zugewiesen: So wird der Rückgabewert in FHEM gespeichert und kann später genutzt werden.
Der notify “act_on_testdummy” reagiert auf den testdummy: Klickt man bei dem dummy “testdummy” auf “on”, wird das PHP Skript /home/pi/testdummy.php ausgeführt und der Rückgabewert in dem zweiten dummy “testdummywert” gespeichert. Statt dem PHP Skript lassen sich natürlich auch andere Programme starten.
define testdummy dummy attr testdummy webCmd on:off define testdummywert dummy define act_on_testdummy notify testdummy {\ my $rueckgabe = "php /home/pi/testdummy.php &";;\ fhem("set testdummywert $rueckgabe;;");;\ }
Statt dem dummy, der die Werte aus dem externen Skript nur auf Knopfdruck ausliest, könnte man später mit einem “at” device die Daten automatisch regelmäßig einlesen.
Zum Testen: Dies ist der Code für das Skript “testdummy.php”, das nach “/home/pi” kopiert werden muss:
< ?php echo time(); ?>
Das PHP Skript gibt per echo die aktuelle Zeit in Sekunden seit dem ersten Januar 1970 aus. Wird es mit unserem Skript aus FHEM aufgerufen, wird dieser Wert direkt bei Klicken auf den “testdummy” über das aufgerufene PHP-Skript in dem zweiten Dummy “testdummywert” gespeichert. Statt der Uhrzeit, die man auch einfacher direkt mit FHEM abfragen kann, lassen sich dann so vor allem die Werte von einem Temperatursensor, einem Helligkeitssensor oder einem Wasserstandssensor abfragen, für die es häufiger ein Python-Programm statt Perl-Code zum Auslesen gibt.
- Automatisches Kopieren einer CD-ROM: Robocopy oder Skript
- Excel: Wert aus Zelle finden und nebenstehenden Wert ausgeben
- Videos speichern, (2,5 oder 3,5 Zoll ?)
Meine WD My Passport 2,5" wird langsam voll. (4 TB)Manchmal ruckeln Filme beim abspielen, weis ...
- wget um einzelne Dateien oder ganze Webseiten lokal zu speichern
- datenschutz (36x gelesen)
- windows-beschleunigen (36x gelesen)
- windows-schneller-starten-autostart-aufraeumen (32x gelesen)
- pc-einsteigerkurs (25x gelesen)
- pc-einsteigerkurs-1-2 (6x gelesen)
Mehr Tipps zu FHEM: PHP, Python oder SH Skript aus...
-
PHP “rename”: Mit PHP Skript mehrere Dateien umbenennen
Dieses kleine Skript hilft dabei, viele Dateien schnell und einfach umzubenennen: Das ist zum Beispiel praktisch, um allen Bildern in einem Ordner eine fortlaufende Nummer...
-
PHP “rename”: Mit PHP Skript mehrere Dateien umbenennen
Dieses kleine Skript hilft dabei, viele Dateien schnell und einfach umzubenennen: Das ist zum Beispiel praktisch, um allen Bildern in einem Ordner eine fortlaufende Nummer...
-
Webmaster: Python Code im PHP Skript ausgeben
Ob auf einem lokalen Server oder auf einem Webserver: Manchmal arbeitet man mit verschiedenen Programmen und Programmiersprachen zusammen. Mit PHP und Python geht das einfacher...
-
FHEM: JeeLink / LaCrosse Sensor: Batterie wechseln
Wer bei einem LaCrosse Temperatursensor die Batterien tauscht, muss eine Sache beachten - andernfalls wird die Hardware-ID zurückgesetzt und der Sensor wird unter einem neuen...
-
FHEM: Logitech Harmony Hub “Disconnected”
FHEM / Logitech Harmony Hub: Steht der Harmony Hub nach einem Update in der Smart Home Software plötzlich auf "Disconnected", lässt sich das in der...
-
PHP Fehler anzeigen: Fehleranzeige aktivieren für eine oder alle Seiten!
Schnell sehen, wo der PHP Fehler liegt: Dazu schaltet man die PHP Fehleranzeige ein, um genaue Informationen zu Problem und Zeilennummer zu bekommen. Die PHP...
FHEM: PHP, Python oder SH Skript ausführen und Rückgabe-Wert speichern