[gelöst] DOIF: mehrere Schaltzeiten, alle unter einer Bedingung

Begonnen von justcallmeal, 02 Juli 2020, 17:22:30

Vorheriges Thema - Nächstes Thema

justcallmeal

Hallo Leute,
sorry, aber ich kriegs nicht hin und gefunden hab ich die Lösung auch nicht, auch wenn sie sicher irgendwo steht.

Also ich will meine Brunnenpumpe zu drei verschiedenen Zeiten laufen lassen, immer unter der Bedingung, dass der Tanksensor auf "open" steht.

define Tanken DOIF ([23:00] or [1:30] or [2:30] and [Tanksensor:state] = "open") (set  Brunnenpumpe on-for-timer 1800)
attr Tanken do always


Bei diesem Befehl wird die Bedingung des Tanksensors nur bei der letztgenannten Uhrzeit (2:30h) berücksichtigt.
Wie kriegt man das elegant hin, dass die Bedingung auch bei den anderen Uhrzeiten berücksichtigt wird, ohne für jede Uhrzeit eine eigenen Befehlszeile zu schreiben? Vllt. irgendwie Klammern setzen?

VG,
al





HM-Sen-DB-PCB, HM-Sec-SCo, HM-MOD-Re-8, HM-SEC-SC-2, HM-Sen-MDIR-O, HM-LC-Sw1PBU-FM, HM-LC-RGBW-WM, HM-ES-PMSw1-SM, HM-LC-Sw1-DR, div. Shellies u.v.m.

rischbiter123

Moin,

Grundsätzlich gilt: Und vor Oder. Setz also erst mal um die Oder-Verknüpfung eine Klammer. Außerdem muss das = durch eq ersetzt werden.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

justcallmeal

Zitat von: rischbiter123 am 02 Juli 2020, 17:30:54
Moin,
Grundsätzlich gilt: Und vor Oder. Setz also erst mal um die Oder-Verknüpfung eine Klammer. Außerdem muss das = durch eq ersetzt werden.

Perfekt, so funktioniert's:

define Tanken DOIF ([Tanksensor:state] eq "open" and ([18:08] or [18:09] or [18:10])) (set Brunnenpumpe on-for-timer 10)
attr Tanken do always


Vielen Dank!!!
HM-Sen-DB-PCB, HM-Sec-SCo, HM-MOD-Re-8, HM-SEC-SC-2, HM-Sen-MDIR-O, HM-LC-Sw1PBU-FM, HM-LC-RGBW-WM, HM-ES-PMSw1-SM, HM-LC-Sw1-DR, div. Shellies u.v.m.