Hauptmenü

Frage zu Timer

Begonnen von satprofi, 29 Juni 2026, 14:20:08

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Habe hier problem mit timer eines wasserventiles.
ein DOIF das ein Ventil öffnen soll
([04:45] or [05:30] or [06:15] or [07:00] or [07:05] or [07:10]) (set MQTT2_zigbee_WasserVentil open) das funktioniert auch,
weiters habe ich einen wasserverteiler der 6 ausgänge hat, der weiterdreht, durch schliessen des ventils. dies geschieht , wenn regen vorhanden, 1 min. später, oder eben wie angegeben nach ablauf der zeit
DOELSEIF ((([Vorhersage:fc0_rain] >6 or [Regenmenge_gestern] >6) and ([04:46] or [05:31] or [06:16] or [07:01] or [07:06] or [07:11])) or\
 (([Vorhersage:fc0_rain] <6 or [Regenmenge_gestern] <6) and ([05:00] or [06:00] or [06:45] or [07:01] or [07:06] or [07:11]))) (set MQTT2_zigbee_WasserVentil close)

timer 1 -6 schlugen perfekt zu, aber statt 15 - 18 schlug 9 - 12 zu. warum?
2026-06-29_04:45:00 DI_Giessen cmd_nr: 1
2026-06-29_04:45:00 DI_Giessen cmd: 1
2026-06-29_04:45:00 DI_Giessen cmd_event: timer_1
2026-06-29_05:00:00 DI_Giessen cmd_nr: 2
2026-06-29_05:00:00 DI_Giessen cmd: 2
2026-06-29_05:00:00 DI_Giessen cmd_event: timer_13
2026-06-29_05:30:00 DI_Giessen cmd_nr: 1
2026-06-29_05:30:00 DI_Giessen cmd: 1
2026-06-29_05:30:00 DI_Giessen cmd_event: timer_2
2026-06-29_06:00:00 DI_Giessen cmd_nr: 2
2026-06-29_06:00:00 DI_Giessen cmd: 2
2026-06-29_06:00:00 DI_Giessen cmd_event: timer_14
2026-06-29_06:15:00 DI_Giessen cmd_nr: 1
2026-06-29_06:15:00 DI_Giessen cmd: 1
2026-06-29_06:15:00 DI_Giessen cmd_event: timer_3
2026-06-29_06:16:00 DI_Giessen cmd_nr: 2
2026-06-29_06:16:00 DI_Giessen cmd: 2
2026-06-29_06:16:00 DI_Giessen cmd_event: timer_9
2026-06-29_07:00:00 DI_Giessen cmd_nr: 1
2026-06-29_07:00:00 DI_Giessen cmd: 1
2026-06-29_07:00:00 DI_Giessen cmd_event: timer_4
2026-06-29_07:01:00 DI_Giessen cmd_nr: 2
2026-06-29_07:01:00 DI_Giessen cmd: 2
2026-06-29_07:01:00 DI_Giessen cmd_event: timer_10
2026-06-29_07:05:00 DI_Giessen cmd_nr: 1
2026-06-29_07:05:00 DI_Giessen cmd: 1
2026-06-29_07:05:00 DI_Giessen cmd_event: timer_5
2026-06-29_07:06:00 DI_Giessen cmd_nr: 2
2026-06-29_07:06:00 DI_Giessen cmd: 2
2026-06-29_07:06:00 DI_Giessen cmd_event: timer_11
2026-06-29_07:10:00 DI_Giessen cmd_nr: 1
2026-06-29_07:10:00 DI_Giessen cmd: 1
2026-06-29_07:10:00 DI_Giessen cmd_event: timer_6
2026-06-29_07:11:00 DI_Giessen cmd_nr: 2
2026-06-29_07:11:00 DI_Giessen cmd: 2
2026-06-29_07:11:00 DI_Giessen cmd_event: timer_12
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Damian

Mit deinen Angaben kann man nicht erkennen welcher Timer welche Nummer hat.

Das Gegenteil von:([Vorhersage:fc0_rain] >6 or [Regenmenge_gestern] >6) ist nicht ([Vorhersage:fc0_rain] <6 or [Regenmenge_gestern] <6), sondern eher ([Vorhersage:fc0_rain] <= 6 and [Regenmenge_gestern] <=6), falls es das Gegenteil sein soll.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

tomcat.x

Also ich denke auch, es sollte das Gegenteil sein. Da die Bewässerung abgebrochen wird, wenn es gestern ODER heute geregnet hat, würde ich vermuten, es soll nur länger bewässert werden, wenn es gestern UND heute nicht geregnet hat.

Was ich mich aber auch gefragt habe, wie reagiert das DOIF, wenn Zeitpunkte mehrfach aufgeführt sind ([07:01], [07:06], [07:11]"), triggert es dann jeweils beide?
FHEM: 6.4 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.25), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Damian

Zitat von: tomcat.x am 30 Juni 2026, 11:43:35Also ich denke auch, es sollte das Gegenteil sein. Da die Bewässerung abgebrochen wird, wenn es gestern ODER heute geregnet hat, würde ich vermuten, es soll nur länger bewässert werden, wenn es gestern UND heute nicht geregnet hat.

Was ich mich aber auch gefragt habe, wie reagiert das DOIF, wenn Zeitpunkte mehrfach aufgeführt sind ([07:01], [07:06], [07:11]"), triggert es dann jeweils beide?

Doppelte Trigger in einer Bedingung werden vom DOIF-Modul erkannt - es gibt dann nur einen Trigger. Es wird natürlich die gesamte Bedingung des Zweiges durch Perl-Interpreter logisch ausgewertet.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

satprofi

Zitat von: Damian am 30 Juni 2026, 09:24:42Mit deinen Angaben kann man nicht erkennen welcher Timer welche Nummer hat.

.
die timernummern sind ja fortlaufend der zeitangaben.
also 1-6 für cmd1, 7-12 fur cmd2.1 und 13-18 für cmd2.2.

habe es jetzt geändert und heute hats funktioniert


([04:45] or [05:30] or [06:15] or [07:00] or [07:05] or [07:10]) (set MQTT2_zigbee_WasserVentil open)
DOELSEIF ((([Vorhersage:fc0_rain] >6 or [Regenmenge_gestern] >6) and ([04:46] or [05:31] or [06:16])) or (([Vorhersage:fc0_rain] <6 or [Regenmenge_gestern] <6) and ([05:00] or [06:00] or [06:45])) or [07:01] or [07:06] or [07:11]) (set MQTT2_zigbee_WasserVentil close)
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram