IF innerhalb DOIF mit Zeitangabe

Begonnen von abraxas678, 10 Oktober 2016, 12:36:27

Vorheriges Thema - Nächstes Thema

abraxas678

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!






Ellert

Das 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.

abraxas678

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!

Ellert

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 ...)