Hi,
gibt es eine effiziente Möglichkeit Fhem Perl Expressions zu testen??
Ich möchte Timer mit mehr oder weniger komplizierten Perl Expressions
aufbauen. Es ist aber mühselig und langwierig den timer 1. zu
modifizieren, 2. die Ausführunfzeit auf die kommenden Minute
umzusetzen, 3. zu warten bis die Timerzeit ran ist und 4. das Fhem Log
zu checken auf entsprechende Fehlermeldungen.
Und oweit ich gelesen habe funktioniert "trigger" auch nur mit notifiy
events...
Bsp:
define a8 at *10:06:00 {\
if($value{Bodenfeuchtesensor} eq "on") {\
fhem "set Bewaesserung_Ventil1 on-for-timer 1920";;\
} else {\
fhem "set Bewaesserung_Ventil1 off"\
}\
}
Wie macht ihr das??
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
> Wie macht ihr das??
- direkt auf der Kommandozeile, siehe http://fhem.de/commandref.html#perl
- wenn es laenger wird, dann notify schreiben, mit trigger testen, und in at
das trigger ausloesen. Hat den Vorteil, dass man es auch anderweitig
verwenden kann. Ich sehe in fhem die notify's zunehmend als Unterprogramm
bzw. Funktion
define n8 notify n8 { ... }
define a8 +*10:00 trigger n8
- und wenn es noch laenger wird, dann z.Bsp. nach 99_MyUtils (Kopie von
99_Utils.pm) als "richtige" perl Funktion auslagern. Sowas kann man mit
"reload 99_MyUtils" neuladen (die Syntax-Fehler stehen in fhem Log), mit
{ MyFn() } von der fhem Kommandozeile testen, und mit
define a8 +*10:00 { MyFn() }
aufrufen.
- und wenn es noch laenger wird :), dann als externes Programm mit beliebige
Programmiersprache, Aufrufbeispiel:
define a8 +*10:00 "garden.pl"
Siehe z.Bsp fhem/contrib/garden.pl. Das Programm liest die fhem-Stati z.Bsp
mit system("perl fhem.pl localhost:7072 'list device'").
- und wenn es noch laenger wird, dann laeuft das externe Programm als daemon,
verbindet sich via TCP/IP mit fhem 2-mal. Auf dem ersten wird ein "inform
timer" abgesetzt, und da kriegt man dann alle Events mit, auf dem zweiten
sendet man die Befehle.
So. :)
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Sehr gut.. Danke für die ausführliche Antwort... so komme ich dann -
glaub ich - erstmal alleine weiter
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com