Hallo. Folgendes DOIF zur Erklärung: Wenn der Trockner fertig ist, verbraucht er zwischen 0.38-0.42W. Wenn er dan aus ist 0W. Habe das Problem, dass das DOIF nicht nach cmd2 springt.
Also er ist fertig, dann ist er unter 0.6W, somit cmd1. Dann schalte ich aus, dann hat er 0W, dann sollte doch cmd2 dran kommen, oder? Da ich kein do always verwende, dachte ich das DOIF wiederholt den Zweig nicht und schaltet in den nächsten. Was habe ich für einen Fehler? Danke
Internals:
DEF ([Zw_UG_Trockner_Pwr:power]<0.6) (set Telegram msg Trockner fertig, set Sonos_Mobil Speak 50 de der Trockner ist fertig und kann entleert werden) DOELSEIF ([Zw_UG_Trockner_Pwr:power]<0.1) (set Telegram msg Trockner geleert)
NAME di_Trockner_fertig
NR 220
NTFY_ORDER 50-di_Trockner_fertig
STATE cmd_1
TYPE DOIF
READINGS:
2017-11-08 19:50:24 Device Zw_UG_Trockner_Pwr
2017-11-08 19:49:38 cmd 1
2017-11-08 19:49:38 cmd_event set_cmd_1
2017-11-08 19:49:38 cmd_nr 1
2017-11-08 19:50:24 e_Zw_UG_Trockner_Pwr_power 0
2017-11-08 19:49:38 state cmd_1
condition:
0 ReadingValDoIf($hash,'Zw_UG_Trockner_Pwr','power')<0.6
1 ReadingValDoIf($hash,'Zw_UG_Trockner_Pwr','power')<0.1
devices:
0 Zw_UG_Trockner_Pwr
1 Zw_UG_Trockner_Pwr
all Zw_UG_Trockner_Pwr
do:
0:
0 set Telegram msg Trockner fertig, set Sonos_Mobil Speak 50 de der Trockner ist fertig und kann entleert werden
1:
0 set Telegram msg Trockner geleert
2:
helper:
event energy: 3483.6,power: 0
globalinit 1
last_timer 0
sleeptimer -1
timerdev Zw_UG_Trockner_Pwr
timerevent energy: 3483.6,power: 0
triggerDev Zw_UG_Trockner_Pwr
timerevents:
energy: 3483.6
power: 0
timereventsState:
energy: 3483.6
power: 0
triggerEvents:
energy: 3483.6
power: 0
triggerEventsState:
energy: 3483.6
power: 0
internals:
itimer:
readings:
0 Zw_UG_Trockner_Pwr:power
1 Zw_UG_Trockner_Pwr:power
all Zw_UG_Trockner_Pwr:power
regexp:
0:
1:
all:
state:
STATE:
trigger:
Attributes:
Liegt es daran, dass Du set cmd_1 ausgeführt hast, das umgeht die Bedingungsprüfung?
Geprüft wird immer von links nach rechts. Er prüft also ob Power kleiner 0.6 ist, ist es. Und zwar auch wenn 0.1 gegeben ist.
Ganz kurz falls Dich Mal jemand darauf an spricht, es sind Watt nicht Volt. Anliegen tun immer 230 V
Zurück zum Thema, was bedeutet das für Dein DOIF? Drehe die Prüfungen um, prüfe erst auf kleiner 0.1 und im DOELSEIF dann auf kleiner 0.6
Zitat von: CoolTux am 09 November 2017, 06:17:07
Geprüft wird immer von links nach rechts. Er prüft also ob Power kleiner 0.6 ist, ist es. Und zwar auch wenn 0.1 gegeben ist.
Ganz kurz falls Dich Mal jemand darauf an spricht, es sind Watt nicht Volt. Anliegen tun immer 230 V
Zurück zum Thema, was bedeutet das für Dein DOIF? Drehe die Prüfungen um, prüfe erst auf kleiner 0.1 und im DOELSEIF dann auf kleiner 0.6
Ups, ja da war ich wohl falsch ::). Habs editiert. Das probiere ich auf jeden Fall mal aus. Dachte halt nur dass er den ersten Zweig auslässt, weil kein do always...
Zitat von: Ellert am 09 November 2017, 00:32:19
Liegt es daran, dass Du set cmd_1 ausgeführt hast, das umgeht die Bedingungsprüfung?
Also vorher ging es auch schon nicht. Aber umgeht er es echt wenn ich manuell ein set cmd mache?