[Gelöst] DOIF Schaltung, obwohl eine "and" Abfrage nicht erfüllt ist

Begonnen von Amenophis86, 08 September 2015, 22:18:55

Vorheriges Thema - Nächstes Thema

Amenophis86

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?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Ellert

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.

Amenophis86

Es kann manchmal so einfach sein. Danke, habe solange drauf geschaut und nicht gesehen, dass die Klammer gefehlt hat. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...