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
- pc-einsteigerkurs (7x gelesen)
- datenschutz (7x gelesen)
- windows-schneller-starten-autostart-aufraeumen (7x gelesen)
- windows-beschleunigen (6x gelesen)
- pc-einsteigerkurs-5-6 (5x 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: Log-File Einträge reduzieren mit verbose
Wenn die FHEM Log Datei zuviele Einträge anzeigt oder ein bestimmtes Device zu oft Mitteilungen speichert, hilft "verbose". Dieses kann sowohl global die Anzahl der...
-
FHEM & Philips Hue: HueDevice ID wechselt / ändert sich automatisch
Wenn sich die ID von einem HueDevice in FHEM immer wieder automatisch ändert, obwohl das Device über autocreate korrekt aus den Einstellungen der Hue Bridge...
-
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