FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Hausierer am 09 Februar 2019, 14:24:23

Titel: Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Hausierer am 09 Februar 2019, 14:24:23
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
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Otto123 am 09 Februar 2019, 14:55:57
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
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Hausierer am 09 Februar 2019, 15:22:10
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
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Otto123 am 09 Februar 2019, 17:24:25
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?
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: amenomade am 09 Februar 2019, 17:36:17
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.
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Hausierer am 09 Februar 2019, 18:52:49
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

Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Otto123 am 09 Februar 2019, 19:04:13
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 ?
Titel: Antw:Frage zu DOIF oder schalten in Abhängigkeit von Temeratur
Beitrag von: Hausierer am 10 Februar 2019, 12:42:29
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