[gelöst] DOIF schaltet mit $SELF-Schalter und zusäzlicher Schaltzeit nicht

Begonnen von Mihca, 14 Juli 2020, 08:08:38

Vorheriges Thema - Nächstes Thema

Mihca

Mit nachfolgender RAW-Def bekomme ich meine Bewässerung nicht ans laufen. Es wird zu den gewünschten Zeiten, wenn AnAus "on" ist, nicht geschaltet.

defmod BewaesserungTerrasseTimer DOIF ([03:30] and ["$SELF:AnAus: on"] ) \
(\
set BewaesserungTerrasse on-for-timer 600\
) \
DOELSEIF ([09:05] and ["$SELF:AnAus: on"] and ([Heiss] eq "on")) \
(\
set BewaesserungTerrasse on-for-timer 180\
) \
DOELSEIF ([19:05] and ["$SELF:AnAus: on"] and ([Trocken] eq "on")) \
(\
set BewaesserungTerrasse on-for-timer 240\
)
attr BewaesserungTerrasseTimer devStateIcon cmd_1:general_an@#1de223 cmd_2:general_aus
attr BewaesserungTerrasseTimer do always
attr BewaesserungTerrasseTimer icon time_timer
attr BewaesserungTerrasseTimer initialize initialized
attr BewaesserungTerrasseTimer readingList AnAus
attr BewaesserungTerrasseTimer room Außen,z.at
attr BewaesserungTerrasseTimer setList AnAus:on,off
attr BewaesserungTerrasseTimer webCmd AnAus


Einzeln funktionieren die beiden Bedingungen '[03:30]' und '["$SELF:AnAus: on"]', aber nicht mit 'and' verknüpft. Kann jemand helfen?

Vielen Dank vorab!!
Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 24.04 Perl 5.38.2, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Frank_Huber

Du musst den $SELF:AnAUs genau um 3:30 anschalten, dann gehts.

Lösung: Baue um auf Zustandsprüfung. [$SELF:AnAUs] eq "an" anstelle vom Ereignisstrigger.

Damian

Zitat von: Frank_Huber am 14 Juli 2020, 08:25:35
Du musst den $SELF:AnAUs genau um 3:30 anschalten, dann gehts.

Auch dann nicht. Selbst wenn beide Ereignisse in der selben Millisekunde stattfinden würden, werden die Ereignisse von FHEM separat nacheinander an ein Modul (hier DOIF) weitergegeben.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Mihca

Zitat von: Frank_Huber am 14 Juli 2020, 08:25:35
Lösung: Baue um auf Zustandsprüfung. [$SELF:AnAUs] eq "an" anstelle vom Ereignisstrigger.

Ja, so geht es :) Danke
VG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 24.04 Perl 5.38.2, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic