FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Beetle2003 am 12 Juni 2021, 22:29:39

Titel: [gelöst] SUB verzögert aus DOIF starten
Beitrag von: Beetle2003 am 12 Juni 2021, 22:29:39
Hallo,

ich habe folgendes doif

   

([heatDemand.Heizung] eq "off" or [Aussentemp] eq "warm") {
      {Heizkoerper_off("1")};
      fhem {"define Heizkoerper_off_wait at +00:10:00 {Heizkoerper_off(\"2\")}"};
}

Das erste SUB {Heizkoerper_off("1")}; wird durchgeführt.
Dann soll zeitverzögert das SUB mit einem anderen Parameter aufgerufen werden ( {Heizkoerper_off("2")}; ). Dieses habe ich mit einem at versucht.
Dieser Aufruf wird mit einem Fehler quittiert.

Was ist falsch? Gibt es eine bessere Möglichkeit?

Danke
Titel: Antw:SUB verzögert aus DOIF starten
Beitrag von: Sany am 13 Juni 2021, 09:57:00
Hi,

ZitatWas ist falsch? Gibt es eine bessere Möglichkeit?

"falsch", oder eher ungünstig und fehlerträchtig, ist Dein Versuch, DOIF-Syntax mit fhem-Syntx zu vermischen. Das geht zwar (irgendwie immer), aber es gibt im DOIF (Perl-Modus, den Du ja offensichtlich nutzt) eigentlich alles, was Du für Dein Ansinnen brauchst.

Siehe:
Zitathttps://fhem.de/commandref_modular_DE.html#DOIF_Ausführungstimer

Viel Erfolg!
Titel: Antw:SUB verzögert aus DOIF starten
Beitrag von: Otto123 am 13 Juni 2021, 10:55:42
Hi,

versuch doch deinen Syntax von innen heraus in der FHEM Kommandozeile zu prüfen.
Funktioniert das?
{fhem {"define Heizkoerper_off_wait at +00:00:10 {}"}}
Funktioniert das?
{fhem ("define Heizkoerper_off_wait at +00:00:10 {}")}

Perlmodus vom DOIF brauchst Du hier nicht wirklich, nimm einfach FHEM Befehle.

Gruß Otto
Titel: Antw:SUB verzögert aus DOIF starten
Beitrag von: Beetle2003 am 13 Juni 2021, 20:52:45
Hallo,

das ist was funktioniert.

   

([heatDemand.Heizung] eq "off" or [Aussentemp] eq "warm") {
      {Heizkoerper_off("1")};
      {fhem ("define Heizkoerper_off_wait at +00:10:00 {Heizkoerper_off(\"2\")}")};
}

Gruss
Titel: Antw:[gelöst] SUB verzögert aus DOIF starten
Beitrag von: Damian am 13 Juni 2021, 22:25:26
DOIF ([heatDemand.Heizung] eq "off" or [Aussentemp] eq "warm")
(fhem'Heizkoerper_off("1")')
(fhem'Heizkoerper_off("2")')

attr wait 0,10


so würde es im FHEM-Modus funktionieren, evtl. brauchst du noch ein do always Attribut
Titel: Antw:[gelöst] SUB verzögert aus DOIF starten
Beitrag von: McShire am 14 Juni 2021, 03:31:05
Meines Wissens werden bei wait Sekunden angegeben, dann muss es attr <device> wait 0,600 heißen.
Gruss
Werner
Titel: Antw:[gelöst] SUB verzögert aus DOIF starten
Beitrag von: Damian am 14 Juni 2021, 13:41:12
Zitat von: McShire am 14 Juni 2021, 03:31:05
Meines Wissens werden bei wait Sekunden angegeben, dann muss es attr <device> wait 0,600 heißen.
Gruss
Werner

Das ist richtig, da habe ich wohl auf die falsche Lösung von Otto geschaut ;)
Titel: Antw:[gelöst] SUB verzögert aus DOIF starten
Beitrag von: Otto123 am 14 Juni 2021, 14:09:44
Zitat von: Damian am 14 Juni 2021, 13:41:12
Das ist richtig, da habe ich wohl auf die falsche Lösung von Otto geschaut ;)
War nicht als Lösung sondern als Lernhilfe gedacht. Deswegen hatte ich die Minuten in Sekunden umgemünzt. Aber Du hast ja schnell aufgelöst  :P