FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Amenophis86 am 08 September 2015, 22:18:55

Titel: [Gelöst] DOIF Schaltung, obwohl eine "and" Abfrage nicht erfüllt ist
Beitrag von: Amenophis86 am 08 September 2015, 22:18:55
Ich bin dabei meine Heizungssteuerung von Notifys und Scripten in meiner MyUtils auf DOIF umzustellen, da ich ein großer Fan des Moduls bin und es sehr praktisch und übersichtlich finde. Allerdings habe ich dabei folgendes Problem. Voraussetzung:

- Dummy Jahreszeit "winter" oder "sommer"
- Anwesenheitserkennung für zwei Personen mit Dummy: AE.Anja und AE.Etienne mit "on" oder "off"
- Dummy Heizung "on" oder "off" als Einfache Übersicht
- Die DOIF Anweisung aus der DEF:


([AE.Anja] eq "off" and [AE.Etienne] eq "off" and [Jahreszeit] eq "winter")
(set Heizung off, set WR.Heizung.Alle desired-temp 15.0, {Log 1, "-- Heizung runtergefahren--"})
DOELSEIF (([AE.Anja] eq "on" and [09:30-22:00|01234]) or ([AE.Etienne] eq "on" and [12:00-22:00|01234]) and [Jahreszeit] eq "winter")
(set Heizung on, set WR.Heizung.Alle desired-temp 19.0, {Log 1, "-- Heizung hochgefahren --"})
DOELSEIF ([AE.Anja] eq "off" and [AE.Etienne] eq "on" and [09:30-12:00|01234] and [Schicht] ne "Frei1" and [Jahreszeit] eq "winter")
(set Heizung on, set WR.Heizung.Alle desired-temp 19.0, {Log 1, "-- Heizung hochgefahren --"})
DOELSEIF (([AE.Anja] eq "on" and [10:00-23:00|56]) or ([AE.Etienne] eq "on" and [12:00-23:00|56]) and [Jahreszeit] eq "winter")
(set Heizung on, set WR.Heizung.Alle desired-temp 19.0, {Log 1, "-- Heizung hochgefahren --"})
DOELSEIF ([AE.Anja] eq "off" and [AE.Etienne] eq "on" and [10:00-12:00|56] and [Schicht] ne "Frei1" and [Jahreszeit] eq "winter")
(set Heizung on, set WR.Heizung.Alle desired-temp 19.0, {Log 1, "-- Heizung hochgefahren --"})
DOELSEIF ([Jahreszeit] eq "winter") (set Heizung off, set WR.Heizung.Alle desired-temp 15.0, {Log 1, "-- Heizung runtergefahren--"})


Aktuell steht Jahreszeit auf "sommer", aber trotzdem würden alle Aktionen ausgeführt werden. Wo ist mein Denkfehler? Müssten die nicht durch das -and [Jahreszeit] eq "winter"- verhindert werden?
Titel: Antw:DOIF Verständnisfrage / Schaltung, obwohl eine "and" Abfrage nicht erfüllt ist
Beitrag von: Ellert am 09 September 2015, 09:39:02
Du machst (Anja and Uhrzeit) or (Etienne and Uhrzeit and Jahreszeit) and wird vor or ausgeführt.

So müsste es gehen:
(([AE.Anja] eq "on" and [09:30-22:00|01234] or [AE.Etienne] eq "on" and [12:00-22:00|01234]) and [Jahreszeit] eq "winter")

Den Rest müsstest Du dann selbst berichtigen.
Titel: Antw:DOIF Verständnisfrage / Schaltung, obwohl eine "and" Abfrage nicht erfüllt ist
Beitrag von: Amenophis86 am 09 September 2015, 12:34:03
Es kann manchmal so einfach sein. Danke, habe solange drauf geschaut und nicht gesehen, dass die Klammer gefehlt hat. Danke