DOIF, Ausführungen mit unterschiedlichen Bedingungen

Begonnen von Knallfrosch, 27 Oktober 2025, 00:53:02

Vorheriges Thema - Nächstes Thema

Knallfrosch

Hallo,

ich nutze folgendes DOIF:

([3D_Drucker:ENERGY_Power] > 100)
(setreading 3D_Drucker_Zustand status 3D-Druck läuft)
DOELSEIF ([3D_Drucker:ENERGY_Power] < 20)
(setreading 3D_Drucker_Zustand status 3D-Druck beendet)
(set ECHO_G090U607835206H1 routine_play fhemprintend@amzn1.alexa.automation.d0aa3542)
(set ECHO_G090U607835206H1 routine_play fhemprintend@amzn1.alexa.automation.d0aa3542)

Soweit so gut!

Nun würde ich aber gerne den 2. und 3. Set-Befehl des DOELSEIF nur ausführen, wenn die Uhrzeit ([06:00-23:00]) ist.

Wie kann ich das realisieren?

([3D_Drucker:ENERGY_Power] > 100)
(setreading 3D_Drucker_Zustand status 3D-Druck läuft)

DOELSEIF ([3D_Drucker:ENERGY_Power] < 20)
(setreading 3D_Drucker_Zustand status 3D-Druck beendet)
([06:00-23:00])
(set ECHO_G090U607835206H1 routine_play fhemprintend@amzn1.alexa.automation.d0aa3542)
(set ECHO_G090U607835206H1 routine_play fhemprintend@amzn1.alexa.automation.d0aa3542)

Funktioniert natürlich nicht!


Danke für die Hilfe.


Grüße



rabehd

Ernsthaft?
Ich sehe da schon zu Beginn in der Commander Beispiele.

Warum mischt Du Bedingungen und Ausführung?
Auch funktionierende Lösungen kann man hinterfragen.

Per

Du kannst in den Commands IF verwenden. Sonst müsstest du 3 Bedingungen nutzen und die Commands wiederholen, wäre mMn nicht so elegant.
Oder Perl Mode nehmen.