Hallo,
ich habe für meine Gartenbewässerung eine AT Definition erstellt!
*05:00 {
if (ReadingsVal("Regen","24H","off") ne "on") {
fhem("set ESPEasy_Gartenbewaesserung_1_SWITCH on");;
Log 1, "Bewässerung an";;
my $onfortimer = ReadingsVal("at_Giesen","on_for_timer","00:15");;
fhem("define at_Giesen_aus_1 at +".$onfortimer.":00 set ESPEasy_Gartenbewaesserung_1_SWITCH off");;
}
}
Bei diesem Beispiel wird jeden Tag um 5:00 Uhr die Gartenbewässerung eingeschaltet, im Log ein Eintrag gemacht und
15 Minuten später (on_for_timer) ein AT Befehl erstellt, der die Bewässerung wieder ausschaltet!
Kann mir jemand helfen die letzte Sequenz so zu ändern, dass ich im Log auch den Eintrag "Bewässerung aus" bekomme?
Ich komme mit den Hochkommas nicht ganz zurecht!
Danke im voraus
Gruß
Johann
Das ist kein Problem der Hochkommas, sondern Deines Verständnisses zur Unterscheidung zwischen "perl Code" und "FHEM Befehl".
Aber da das hier im Forum schon ca. 3498 Mal erklärt ist und nachgelesen werden kann, will ich darauf nicht weiter eingehen.
*05:00 {
if (ReadingsVal("Regen","24H","off") ne "on") {
fhem("set ESPEasy_Gartenbewaesserung_1_SWITCH on");;
Log 1, "Bewässerung an";;
my $onfortimer = ReadingsVal("at_Giesen","on_for_timer","00:15");;
fhem("define at_Giesen_aus_1 at +".$onfortimer.":00 set ESPEasy_Gartenbewaesserung_1_SWITCH off");;
fhem("define at_Giesen_aus_log at +".$onfortimer.":00 {Log 1, 'Bewässerung aus' }");;
}
}
Hallo betateilchen,
ich habe mich falsch ausgedrückt, ich wollte keine zusätzliche AT Definition sondern alles in einem z.B. so:
fhem("define at_Giesen_aus_1 at +".$onfortimer.":00 set { fhem('ESPEasy_Gartenbewaesserung_1_SWITCH off';; Log 1, 'Bewässerung aus'}");;
kann das funktionieren?
Gruß
Johann
Nachtrag: Auf die Idee mit dem zweiten AT bin ich gar nicht gekommen (schäm)
FYI
Ich habe es jetzt mit den zwei AT gelöst!
Meine Definition hat nicht funktioniert, schliesse das Thema!
Danke betateilchen
Johann
Zitatfhem("define at_Giesen_aus_1 at +".$onfortimer.":00 set { fhem('ESPEasy_Gartenbewaesserung_1_SWITCH off';; Log 1, 'Bewässerung aus'}");;
kann das funktionieren?
Nein, der set ist an falschen Stelle, man kann perl und FHEM Befehle nicht wild kombinieren, ein Befehl ist entweder perl oder FHEM.
.":00" ueberfluessig, at interpretiert 00:15 als 15 Minuten.
ESPEasy schreibt beim jedem Schalten eine Zeile ins Log, ich haette das verwendet, evtl. durch aendern des verbose Attributes.
Man sollte dem ESPEasy-Maintainer vorschlagen, SetExtensions zu verwenden, damit waere on-for-timer als Befehl (mit Sekundenangabe als Argument) direkt verfuegbar.
Der AT ist über FTUI änderbar, ich habe on-for-time für ebenfalls im Einsatz!