Hallo,
ich habe ein IF innerhalb eines DOIFs:
([ga_bm:"on"] and [ha_home] ne 3) (
IF ([do_home] eq 3 and ([T] ne 6 or [16:00-23:00])) ((set ga_lampe1 on, set ku_lichter on))
)
Der Zeitbereich [16:00-23:00] wird nicht erkannt anscheinend, hier der Log:
IF ([do_home] eq 3 and ([T] ne 6 or [16:00-23:00])) ((set ga_lampe1 on, set ku_lichter on)): IF: unknown Device: 16
Wie kann ich in diesem Fall die Zeit mit angeben?
Danke!
Das IF (http://fhem.de/commandref_DE.html#IF) ist ein FHEM-Befehl und kennt die DOIF Syntax nicht, Zeitangaben must Du in die Bedingung des DOIF einbauen.
Bitte poste Deinen Code das nächste Mal in Code-Tags (Rautezeichen (#) ), dann ist er besser zu lesen.
Hallo,
ich brauche die Zeitangabe im IF, davon gibt es mehre. Ich hatte ne Zeile gekürzt, weil die nicht relevant war.
Ich hab jetzt verstanden, dass ich bei den IF nicht mehr im DOIF bin. Logisch eigentlich! :-[
So funktionerts nun:
([ga_bm:"on"] and [ha_home] ne 3) (
IF ([do_home] eq 3 and ([T] ne 6 or ($hms gt "16:00" and $hms lt "23:00"))) (set ga_lampe1 on, set ku_lichter on)
)
Danke!
Das sollte doch auch ohne IF klappen, solange andere Bedingungen im DOIF nicht gleichzeitig wahr werden
([ga_bm:"on"] and [ha_home] ne 3 and [?do_home] eq 3 and ([?T] ne 6 or [?16:00-23:00]))
(set ...)