[gelöst] DOIF erkennt Eintrag in holiday, $we=1, holiday2we nicht als Feiertag

Begonnen von Ellert, 27 November 2015, 08:53:51

Vorheriges Thema - Nächstes Thema

Ellert

Zitat von: bmwfan am 04 Mai 2016, 20:18:48
Hallo Ellert,

ich habe mir beides mehrmals durchgelesen, kann aber den Fehler nicht finden. Lediglich, dass ich Samstag nicht explizit aufgeführt habe, aber der wird ja in 7 (WE) eingerechnet. Ansonsten bin ich der Meinung, dass die Zeitangaben korrekt sind und es paßt ja auch für die Arbeitstage, Feiertage und Wochenende. Lediglich die Urlaubstage stimmen nicht. Daher dachte ich nicht, dass es an den Zeitangaben liegt.
Kannst Du mir bitte genauer sagen, was Deiner Meinung nach nicht stimmt?

Grüße Jürgen
Zitat von: Ellert am 04 Mai 2016, 22:48:07
Ich hatte keine 7 gesehen.
Der 4.5.2016 ist Mittwoch, das ist Tag 3, mit [07:00-09:00|134] wird die Jalousie immer angesteuert, auch wenn Feiertag ist.

bmwfan

Wenn Deine Aussage so stimmt, dann hätte ich ja nie die Möglichkeit, mehr als eine Schaltzeit in einer Woche einzustellen und gleichzeitig Feiertage zu berücksichtigen. Die Feiertagsregelung muß doch übergeordnet sein.
Dem Verhalten nach muss das auch so sein, da ja ansonsten, wenn ein Feiertag auf Montag, Mittwoch oder Donnerstag fällt, die Jalousien um 7:00 Uhr hochgehen würden. Machen Sie aber nicht. Nur wenn ich Urlaubstage eintrage, wird das nicht als Feiertag interpretiert.
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

Ellert

([07:00-09:00|134] or [09:15-09:30|257]) diese Bedingung ist wahr an 134 zwischen 7 Uhr und 9 Uhr und zwischen 9.15 Uhr und 9.30 Uhr an 2560 und allen Feiertagen. Du möchtest es vielleicht so:
(([07:00-09:00|134] and !$we) or [09:15-09:30|257])

Damian

Feiertage können nur in Kombination mit Wochenende angegeben werden. In DOIF mit 7. Das entspricht $we = 1.

[07:00-09:00|134] ist immer am Montag, Mittwoch und Donnerstag wahr und das unabhängig davon ob es ein Feiertag ist oder nicht.

Mit dem Vorschlag von Ellert ([07:00-09:00|134] and !$we) kannst du den Feiertag allerdings ausschließen.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

bmwfan

Hallo Ellert und Damian,

ich war in Urlaub und konnte nicht auf meine FHEM-Installation.
Eure Argumentation ist schlüssig, allerdings hatte ich trotz wirklich vielem Durchlesen der commandref das Verhalten niocht so aufgefasst. Entweder zu kompliziert oder zu einfach gedacht (or-Verknüpfung und !we im zweiten Teil verleitete mich dazu zu meine, dass damit auch im ersten Teil automatisch das Wochenende berücksictigt wird).

Ich baue es mal in alle Jalousien so ein und warte auf Montag.

Besten Dank für die Hilfe.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

bmwfan

Es hat funktioniert!! Wir konnten heute morgen tatsächlich ausschlafen, ohne von den Jalousien geweckt zu werden.
Auch der von Damian angeregte Umbau auf reine DOIF-Abfrage hat funktioniert. Jetzt baue ich noch die anderen DOIF der Jalousien um und schaue mal, ob alles noch geht.

Danke nochmal an die Helfer.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd