Hallo Leute,
ich glaube ich sehe gerade den Wald vor lauter Bäumen nicht. Bisher habe ich mich nur wenig mit DOIF beschäftigt und merke gerade auch warum ;). Um bevor jemand schreibt, ja ich habe die Modulbeschreibung gelesen, aber nicht komplett verstanden.
Aufgabe: Ich möchte einen Schalter in Abhängigkeit von einer Temperatur auslösen (ab 20°).
Versuch: define Kino.Heizung.Ven.doif DOIF ([Kino_Klima:desired-temp]<20) (set Sonoff.Kino.Heizung on) DOELSE (set Sonoff.Kino.Heizung off)
Frage: Nicht nur das es nicht bei einer Temperatur ab 20° ein schaltet, ich finde auch keinen Ansatz wie ich die Funktion überprüfen kann.
Gibt es jemanden der mir einen kleinen Schupser in die richtige Richtung geben kann?
Lieben Dank
Hi,
gib mal bitte ein list Kino.Heizung.Ven.doif und ein list Kino_Klima
https://forum.fhem.de/index.php/topic,71806.0.html
Gruß Otto
gerne...
Internals:
CFGFN
DEF ([Kino_Klima:desired-temp]<20) (set Sonoff.Kino.Heizung on) DOELSE (set Sonoff.Kino.Heizung off)
FUUID 5c5db600-f33f-4782-3524-838ddc9b0891f159
MODEL FHEM
NAME Kino.Heizung.Ven.doif
NR 99374
NTFY_ORDER 50-Kino.Heizung.Ven.doif
STATE cmd_1
TYPE DOIF
READINGS:
2019-02-09 15:17:34 Device Kino_Klima
2019-02-08 19:32:37 cmd 1
2019-02-08 19:32:37 cmd_event Kino_Klima
2019-02-08 19:32:37 cmd_nr 1
2019-02-09 15:17:34 e_Kino_Klima_desired-temp 19.0
2019-02-08 19:23:50 mode enabled
2019-02-08 19:32:37 state cmd_1
Regex:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'Kino_Klima','desired-temp')<20
devices:
0 Kino_Klima
all Kino_Klima
do:
0:
0 set Sonoff.Kino.Heizung on
1:
0 set Sonoff.Kino.Heizung off
helper:
event ValvePosition: 14,desired-temp: 19.0,measured-temp: 20.0
globalinit 1
last_timer 0
sleeptimer -1
timerdev Kino_Klima
timerevent ValvePosition: 14,desired-temp: 19.0,measured-temp: 20.0
triggerDev Kino_Klima
DOIF_eventas:
cmd_nr: 1
cmd: 1
cmd_event: Kino_Klima
state: cmd_1
timerevents:
ValvePosition: 14
desired-temp: 19.0
measured-temp: 20.0
timereventsState:
ValvePosition: 14
desired-temp: 19.0
measured-temp: 20.0
triggerEvents:
ValvePosition: 14
desired-temp: 19.0
measured-temp: 20.0
triggerEventsState:
ValvePosition: 14
desired-temp: 19.0
measured-temp: 20.0
internals:
itimer:
readings:
0 Kino_Klima:desired-temp
all Kino_Klima:desired-temp
trigger:
uiState:
uiTable:
Attributes:
room 1 - Kino
Internals:
DEF 33AFD304
FUUID 5c59bde3-f33f-4782-a6c0-57de863da1b8a796
NAME Kino_Klima
NOTIFYDEV global
NR 390
NTFY_ORDER 50-Kino_Klima
STATE T: 19.9 desired: 19.0 valve: 14
TYPE CUL_HM
chanNo 04
device Kino.Heizung.HM
READINGS:
2019-02-09 14:01:27 CommandAccepted yes
2019-01-08 18:03:12 R-boostPos 80 %
2019-01-08 18:03:12 R-btnNoBckLight off
2019-01-08 18:03:12 R-dayTemp 21 C
2019-01-08 18:03:12 R-daylightSaveTime on
2019-01-08 18:03:12 R-modePrioManu all
2019-01-08 18:03:12 R-modePrioParty all
2019-01-08 18:03:12 R-nightTemp 17 C
2019-01-08 18:03:12 R-noMinMax4Manu off
2019-01-08 18:03:12 R-regAdaptive on
2019-01-08 18:03:12 R-showInfo time
2019-01-08 18:00:30 R-sign off
2019-01-08 18:03:12 R-tempOffset -1.0K
2019-01-08 18:03:12 R-valveOffsetRt 0 %
2019-01-08 18:03:12 R-winOpnBoost off
2019-02-08 19:27:53 R_0_tempListSat 08:00 17.0 14:00 19.0 19:30 20.0 24:00 17.0
2019-02-08 19:27:53 R_1_tempListSun 08:00 17.0 12:00 19.0 19:30 20.0 24:00 17.0
2019-02-08 19:27:53 R_2_tempListMon 15:00 17.0 15:00 18.0 21:00 18.0 24:00 17.0
2019-02-08 19:27:53 R_3_tempListTue 15:00 17.0 15:00 18.0 19:00 18.0 24:00 17.0
2019-02-08 19:27:53 R_4_tempListWed 15:00 17.0 19:00 20.0 22:30 21.0 24:00 17.0
2019-02-08 19:27:53 R_5_tempListThu 15:00 17.0 18:00 17.0 21:00 19.0 24:00 17.0
2019-02-08 19:27:53 R_6_tempListFri 15:00 17.0 18:00 17.0 21:00 19.0 24:00 17.0
2019-02-08 19:27:53 R_tempList_State verified
2019-02-09 15:20:20 ValvePosition 14
2019-02-09 15:20:20 boostTime -
2019-02-09 15:20:20 controlMode manual
2019-02-09 15:20:20 desired-temp 19.0
2019-02-09 15:20:20 measured-temp 19.9
2019-02-09 15:20:20 partyEnd -
2019-02-09 15:20:20 partyStart -
2019-02-09 15:20:20 partyTemp -
2019-02-09 14:01:27 recentStateType ack
2019-02-09 15:20:20 state T: 19.9 desired: 19.0 valve: 14
helper:
peerIDsRaw ,00000000
regLst ,1,7
expert:
def 1
det 0
raw 0
tpl 1
regCollect:
role:
chn 1
shRegR:
07 00
shadowReg:
tmpl:
Attributes:
event-on-update-reading desired-temp,measured-temp,ValvePosition
fm_type temp,desiredtemp,tempbutton,actuators
group Heizung
model HM-CC-RT-DN
peerIDs 00000000,
room 1 - Kino
Also ich denke, es läuft alles gut:
ZitatREADINGS:
2019-02-09 15:17:34 Device Kino_Klima
2019-02-08 19:32:37 cmd 1
2019-02-08 19:32:37 cmd_event Kino_Klima
2019-02-08 19:32:37 cmd_nr 1
2019-02-09 15:17:34 e_Kino_Klima_desired-temp 19.0
2019-02-08 19:23:50 mode enabled
2019-02-08 19:32:37 state cmd_1
Er hat gestern 19:32 gemerkt das Du 19.0 gesetzt hast (kleiner 20) und reagiert -> cmd_1
Was findest Du läuft falsch?
Ich verstehe nicht ganz was Du erreichen willst: Du steuerst einen Sonoff Schalter in Abhängigkeit der Solltemperatur eines (unbeteilgten dritten?) Thermostaten?
Da seit gestern 19:32 Uhr das DOIF schon auf cmd_1 ist, hat das letzte Event mit desired-temp 19 dann nicht geschaltet, das ist normal.
ja schon, wenn ich aber auf 21° schalte passiert auch nichts....
Internals:
CFGFN
DEF ([Kino_Klima:desired-temp]<20) (set Sonoff.Kino.Heizung on) DOELSE (set Sonoff.Kino.Heizung off)
FUUID 5c5db600-f33f-4782-3524-838ddc9b0891f159
MODEL FHEM
NAME Kino.Heizung.Ven.doif
NR 99374
NTFY_ORDER 50-Kino.Heizung.Ven.doif
STATE cmd_2
TYPE DOIF
READINGS:
2019-02-09 18:49:12 Device Kino_Klima
2019-02-09 18:49:12 cmd 2
2019-02-09 18:49:12 cmd_event Kino_Klima
2019-02-09 18:49:12 cmd_nr 2
2019-02-09 18:49:12 e_Kino_Klima_desired-temp 21.0
2019-02-08 19:23:50 mode enabled
2019-02-09 18:49:12 state cmd_2
Regex:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'Kino_Klima','desired-temp')<20
devices:
0 Kino_Klima
all Kino_Klima
do:
0:
0 set Sonoff.Kino.Heizung on
1:
0 set Sonoff.Kino.Heizung off
helper:
event desired-temp: 21.0
globalinit 1
last_timer 0
sleeptimer -1
timerdev Kino_Klima
timerevent desired-temp: 21.0
triggerDev Kino_Klima
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: Kino_Klima
state: cmd_2
timerevents:
desired-temp: 21.0
timereventsState:
desired-temp: 21.0
triggerEvents:
desired-temp: 21.0
triggerEventsState:
desired-temp: 21.0
internals:
itimer:
readings:
0 Kino_Klima:desired-temp
all Kino_Klima:desired-temp
trigger:
uiState:
uiTable:
Attributes:
room 1 - Kino
Internals:
DEF 33AFD304
FUUID 5c59bde3-f33f-4782-a6c0-57de863da1b8a796
NAME Kino_Klima
NOTIFYDEV global
NR 390
NTFY_ORDER 50-Kino_Klima
STATE T: 18.9 desired: 21.0 valve: 35
TYPE CUL_HM
chanNo 04
device Kino.Heizung.HM
READINGS:
2019-02-09 18:49:12 CommandAccepted yes
2019-01-08 18:03:12 R-boostPos 80 %
2019-01-08 18:03:12 R-btnNoBckLight off
2019-01-08 18:03:12 R-dayTemp 21 C
2019-01-08 18:03:12 R-daylightSaveTime on
2019-01-08 18:03:12 R-modePrioManu all
2019-01-08 18:03:12 R-modePrioParty all
2019-01-08 18:03:12 R-nightTemp 17 C
2019-01-08 18:03:12 R-noMinMax4Manu off
2019-01-08 18:03:12 R-regAdaptive on
2019-01-08 18:03:12 R-showInfo time
2019-01-08 18:00:30 R-sign off
2019-01-08 18:03:12 R-tempOffset -1.0K
2019-01-08 18:03:12 R-valveOffsetRt 0 %
2019-01-08 18:03:12 R-winOpnBoost off
2019-02-08 19:27:53 R_0_tempListSat 08:00 17.0 14:00 19.0 19:30 20.0 24:00 17.0
2019-02-08 19:27:53 R_1_tempListSun 08:00 17.0 12:00 19.0 19:30 20.0 24:00 17.0
2019-02-08 19:27:53 R_2_tempListMon 15:00 17.0 15:00 18.0 21:00 18.0 24:00 17.0
2019-02-08 19:27:53 R_3_tempListTue 15:00 17.0 15:00 18.0 19:00 18.0 24:00 17.0
2019-02-08 19:27:53 R_4_tempListWed 15:00 17.0 19:00 20.0 22:30 21.0 24:00 17.0
2019-02-08 19:27:53 R_5_tempListThu 15:00 17.0 18:00 17.0 21:00 19.0 24:00 17.0
2019-02-08 19:27:53 R_6_tempListFri 15:00 17.0 18:00 17.0 21:00 19.0 24:00 17.0
2019-02-08 19:27:53 R_tempList_State verified
2019-02-09 18:49:11 ValvePosition 35
2019-02-09 18:49:12 boostTime -
2019-02-09 18:49:12 controlMode manual
2019-02-09 18:49:12 desired-temp 21.0
2019-02-09 18:49:11 measured-temp 18.9
2019-02-09 18:49:12 partyEnd -
2019-02-09 18:49:12 partyStart -
2019-02-09 18:49:12 partyTemp -
2019-02-09 18:49:12 recentStateType ack
2019-02-09 18:49:12 state T: 18.9 desired: 21.0 valve: 35
helper:
peerIDsRaw ,00000000
regLst ,1,7
expert:
def 1
det 0
raw 0
tpl 1
regCollect:
role:
chn 1
shRegR:
07 00
shadowReg:
tmpl:
Attributes:
event-on-update-reading desired-temp,measured-temp,ValvePosition
fm_type temp,desiredtemp,tempbutton,actuators
group Heizung
model HM-CC-RT-DN
peerIDs 00000000,
room 1 - Kino
finde ich nicht:
Zitat2019-02-09 18:49:12 cmd 2
2019-02-09 18:49:12 cmd_event Kino_Klima
2019-02-09 18:49:12 cmd_nr 2
2019-02-09 18:49:12 e_Kino_Klima_desired-temp 21.0
er schaltet gleichzeitig.
Vielleicht funktioniert einfach Sonoff.Kino.Heizung nicht wie Du denkst?
Was passiert denn bei set Sonoff.Kino.Heizung on oder off ?
ich schäme mich gerade. set Sonoff.Kino.Heizung on oder off hatte ich natürlich schon vorher probiert.
Ich habe einfach nur ">" und "<" verwechselt. wie kann man so blöd sein....
Immerhin habe ich bei der Fehlersuche gelernt wie DOIF funktioniert bzw. das ich mit cmd 1 oder CMD 2 ablesen kann in welchem Zustand es sich befindet. Und damit natürlich auch sehen kann das es arbeitet.
@ Otto123: Trotzdem vielen Dank für Deine Mühe