Wie kann ich ein (oder zwei) PHP-Script(s) in regelmässigen Abständen auslösen lassen?
die FHEM Lösung?
Beispiel a3 modifiziert mit Beispiel a4
https://commandref.fhem.de/#at
define a3 at *17:00:00 "/bin/echo "Teatime" > /dev/console" # shell command
Oder ich hab es nicht verstanden, liegt die Frage bei PHP Script auslösen oder regelmäßig?
Gruß Otto
Otto, Du warst schneller .. da ich aber schon gesucht habe:
http://www.fhem.de/commandref.html#command (http://www.fhem.de/commandref.html#command)
http://www.fhem.de/commandref.html#at (http://www.fhem.de/commandref.html#at)
also:
define a3 at *17:00:00 "/usr/bin/php MeinTollesPHPScript"
Wenn Dein php-Script richit Shell-Conform mit #! geschrieben ist, dann kann man den "/usr/bin/php" teil weglassen
@Otto
Was mir noch auffält ... Du hast innerhalb der " nochmals " (Um Teatime), das kann doch nicht funktionieren??
Besten Dank für die rasche Antwort - und es geht um auslösen und regelmässig. Regelmässig mit dem "at" habe ich verstanden.
Das PHP script liest aus einer MySQL Datenbank Wetterdaten und stellt diese im JSON Format zur Verfügung. Ich möchte eben dieses PHP script alle 15 Minuten laufen lassen.
Wäre das was?
define php_script at +*00:15:00 "php /opt/fhem/www/db/script.php &"
Ja sollte so gehen - wobei Du das & am Ende nicht brauchst. Warum steht wieder in der Doku:
https://commandref.fhem.de/#command
ZitatIch möchte eben dieses PHP script alle 15 Minuten laufen lassen.
Könntest Du auch über crontab im System machen
@Werner, ich hatte einfach das Beispiel aus der Doku kopiert und nicht nachgedacht. Aber ich glaube das funktioniert wirklich. Wobei ich nicht weiß wo dann /dev/console überhaupt ist :)
Und das Beispiel an sich funktioniert nicht wirklich, zumindest bei mir. Es gibt keine Pipe innerhalb "" also die Umleitung geht nicht, wenn man das so testet:
"/bin/echo "Teatime" > t.txt"
landet Teatime im Log und die Datei wird leer angelegt.
Auch bei
"/bin/echo 'Teatime' > t.txt"
@Otto .. da Bewege ich mich auf verdammt dünnen Eis ... kann deshalb wenig dazu sagen
@uwirt
Bei automatischen Scripten arbeite bitte mit Kompletten Pfaden. php kann funktionieren, muß aber nicht. Besser ist s, sich anzugewöhnen und es richtig machen: "/usr/bin/php".
Wenn bei Dir php woanders liegt, einfach rauszufinden mit
whereis php
Da hat Werner verdammt recht: Also bez. der Ausführung dann eher so:
Den Pfad zum Script kann man gerne relativ zu FHEM angeben, oder eben auch absolut.
define php_script at +*00:15:00 "/usr/bin/php ./www/db/script.php"
stdout Ausgaben des Scripts landen ungefiltert im FHEM Log!