FHEM Forum

FHEM => Automatisierung => Thema gestartet von: elektrikpe2 am 29 März 2021, 11:11:29

Titel: **gelöst** notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: elektrikpe2 am 29 März 2021, 11:11:29
Hallo,

ich muss mal wieder die Genies benühen. Ich habe wieder Problem mit ; Bitte mal drüber schauen
define n_allepumpenhintereinander notify Pumpe_Alle:on {fhem("set Pumpevtest on ;; define tmp_time1 at +00:00:05 set Pumpevtest off; set Pumpettest on ;; define tmp_time2 at +00:00:10 set Pumpettest off; set Pumpewtest on ;; define tmp_time3 at +00:00:15 set Pumpewtest off; set Pumpe_Alle off")}

Ich möchte meine Pumpen im Abstand von (hier alles nur Test) einer bestimmten Zeit laufen lassen. Dazu mache ich die erste direkt an und im Rahmen der at-Zeiten alle (testweise 5 sec) die vorher angeschaltete aus und eine weitere an. Zum Abschluss wird ein Dummy zurückgesetzt. Das läuft auch dann, wenn ich nur ein Device schalte. Bitte um Hilfe. Danke.

LG Peter
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: Otto123 am 29 März 2021, 11:31:00
Hallo Peter,

in der FHEM Kommanozeile muss jedes ; was in der DEF bleiben soll verdoppelt werden!
Hier wird es mehrfach ungenügend:
Zitatset Pumpevtest off; set Pumpettest on
In einem define in einem define muss dann wieder alles verdoppelt werden!
https://commandref.fhem.de/commandref_DE.html#command

Für meine Begriffe tust Du dich bei deinem notify leichter, wenn Du sleep verwendest (ungetestet):
define n_allepumpenhintereinander notify Pumpe_Alle:on set Pumpevtest on ;; sleep 5;; set Pumpevtest off;; set Pumpettest on ;; sleep 10 ;; set Pumpettest off;; set Pumpewtest on ;; sleep 15 ;; set Pumpewtest off;; set Pumpe_Alle off

Gruß Otto
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: rudolfkoenig am 29 März 2021, 12:10:47
Und ich empfehle on-for-timer, wenn die Geraete sowas verstehen.
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: betateilchen am 29 März 2021, 12:58:52
oh, ein Popcorn-Thread...  8)
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: elektrikpe2 am 29 März 2021, 13:10:43
Hallo alle,

erstmal Danke. Von Otto sieht ja schon sehr viel einfacher aus.

Wenn ich on-for-timer nehme, erreiche ich aber doch nicht, dass die dann brav hintereinander laufen.

Und wenn ich mir das so ansehe, könnte ich es doch auch in einen Doif mit wait machen so:
defmod di_allepumpenhintereinander DOIF ([Pumpe_Alle] eq "on"") (set PumpeVorne_HM on) (set PumpeVorne_HM off, set PumpeTerrasse_HM on) (set PumpeTerrasse_HM off, set PumpeWiese_HM on) (set PumpeWiese_HM off, set Pumpe_Alle off)
wait 0,900,900,900


Das müsste doch auch funktionieren?

LG Peter

Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: Otto123 am 29 März 2021, 14:32:21
ZitatWenn ich on-for-timer nehme
Aber Du erreichst, dass der Hardware Timer es macht und Dein Garten nicht geflutet wird wenn irgendwas stehen bleibt.
Dein DOIF wird nicht gehen: Anzahl der " und die wait Konstruktion - da bin ich spontan unsicher.
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: elektrikpe2 am 29 März 2021, 14:55:10
Ja, das mit den Wait-Blöcken würde stimmen, aber ihr plädiert ja dann für diese Lösung:

define n_allepumpenhintereinander notify Pumpe_Alle:on set Pumpevtest on-for-timer 5 ;; sleep 5;; set Pumpettest on-for-timer 5 ;; sleep 5 ;; set Pumpewtest on-for-timer 5 ;; sleep 5 ;; set Pumpe_Alle off


Sleep führt hier ja nicht zum Stillstand von FHEM so wie ich das irgendwo gelesen habe (nur sicherheitshalber)?

LG Peter
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: Otto123 am 29 März 2021, 15:41:59
dann hätte ich es nicht empfohlen :)
Titel: Antw:notify mit mehreren at und innerhalb at mehrere devices
Beitrag von: elektrikpe2 am 29 März 2021, 16:28:40
Danke für die Hilfe, dann lass ich das so.