DOIFs laufen nicht immer mit HM485 Ausgängen

Begonnen von Jewe, 23 Juli 2017, 19:00:54

Vorheriges Thema - Nächstes Thema

Jewe

Hallo,

zwei von meinen DOIF´s laufen nicht immer richtig. Habe ich da einen Fehler drin ?

Beregnung ist ein Dummy mit on/off. Ist eigentlich immer an.

Garten_Beete_Automatik_doif :

DOIF (([Beregnung] eq "on") and [19:30]) (set A2_DO04_04_Gartenwasser_unten_Beete on-for-timer 750)
DOELSEIF ([Beregnung] eq "off") (set A2_DO04_04_Gartenwasser_unten_Beete off)


Garten_Rasen_Automatik_doif :

DOIF (([Beregnung] eq "on") and [19:45|Di Fr]) (set A2_DO06_06_Gartenwasser_oben_Rasen on-for-timer 1200)
DOELSEIF ([Beregnung] eq "off") (set A2_DO06_06_Gartenwasser_oben_Rasen off)


Die Ausgänge sind an einem HM485-Modul angeschlossen. Kann es sein, dass es hier bei Netzwerktraffic zu Störungen kommt ? Wie kann ich das abfangen ?

Jens

Frank_Huber

Was steht im log? Beregnung on können die klammern weg. Do always gesetzt?

Gesendet von meinem S3_32 mit Tapatalk


Jewe

Im Log kommt nichts davon. Da müsste ich glaube ich erstmal den loglevel umstellen.
Die Klammern kann ich nicht weglassen, denn dann funktioniert der Dummy Beregnung nicht in dem doif.
Doalways habe ich jetzt gesetzt, allerdings sollte das doch egal sein. Der Zustand "on" wird von dem Dummy nur einmal gesetzt ?

Frank_Huber

Die klammer meine ich: (([Beregnung] eq "on") and [19:30])
Das kannst so machen: ([Beregnung] eq "on" and [19:30])

Welchen Zustand hat das doif denn? Bleibt es bei Initialized?

Gesendet von meinem S3_32 mit Tapatalk


amenomade

#4
Das Problem kommt von deinem DOIF. Wenn Beregnung immer "on" ist:

- kommt 19:30 => wasser on, DOIF im Status cmd_1.
- 19:31 => keine andere Bedingung ist wahr. Das DOIF bleibt bei cmd_1
- nächsten Tag 19:30 => Das DOIF ist schon bei cmd_1 => es passiert nix.

Entweder musst Du einen zusätzlichen leeren DOELSE haben:
DOIF (([Beregnung] eq "on") and [19:30]) (set A2_DO04_04_Gartenwasser_unten_Beete on-for-timer 750)
DOELSEIF ([Beregnung] eq "off") (set A2_DO04_04_Gartenwasser_unten_Beete off)
DOELSE

damit um 19:31 das DOIF auf cmd_3 wechselt,

oder ein "attr <doifname> do always", damit am nächsten Tag der 1. Befehl wiederholt wird, obwohl der Zustand schon immer noch cmd_1 ist.


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jewe

Zitat von: amenomade am 23 Juli 2017, 22:40:28
Das Problem kommt von deinem DOIF. Wenn Beregnung immer "on" ist:

- kommt 19:30 => wasser on, DOIF im Status cmd_1.
- 19:31 => keine andere Bedingung ist wahr. Das DOIF bleibt bei cmd_1
- nächsten Tag 19:30 => Das DOIF ist schon bei cmd_1 => es passiert nix.

Entweder musst Du einen zusätzlichen leeren DOELSE haben:
DOIF (([Beregnung] eq "on") and [19:30]) (set A2_DO04_04_Gartenwasser_unten_Beete on-for-timer 750)
DOELSEIF ([Beregnung] eq "off") (set A2_DO04_04_Gartenwasser_unten_Beete off)
DOELSE

damit um 19:31 das DOIF auf cmd_3 wechselt,

oder ein "attr <doifname> do always", damit am nächsten Tag der 1. Befehl wiederholt wird, obwohl der Zustand schon immer noch cmd_1 ist.
Supi,  vielen Dank  werde es gleich ausprobieren.

Gesendet von meinem KFFOWI mit Tapatalk