[gelöst] HM-TC-IT-WM-W-EU und HM-CC-RT-DN mit (notify) DOIF und Dummy verbinden

Begonnen von 3dmanipulator, 24 September 2015, 15:15:18

Vorheriges Thema - Nächstes Thema

3dmanipulator

hallo,

ich möchte mit folgenden notify's meine Heizkörper durch den wandthermostaten steuern.
klappt aber leider nicht.
in fhem werden zwar die boost taste oder die Temperatur des Thermostaten erkannt, aber leider nicht an die Heizkörper weitergeleitet.

define hk.essen.desired_temp notify wohnen__fb_Climate.desired-temp:.* set essen_Climate desired-temp $EVTPART1
define hk.essen.controlMode notify wohnen__fb_Climate.controlMode:.* set essen_Climate controlMode $EVTPART1
define hk.wohnen.desired_temp notify wohnen__fb_Climate.desired-temp:.* set wohnen_Climate desired-temp $EVTPART1
define hk.wohnen.controlMode notify wohnen__fb_Climate.controlMode:.* set wohnen_Climate controlMode $EVTPART1

wisst ihr was ich da falsch mache?


grüße horst
raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT

marvin78

Ich würde die Komponenten an deiner Stelle jeweils direkt miteinander peeren (bzw. die geeigneten Kanäle dieser). Dann funktioniert deine Heizung auch noch, wenn FHEM mal ausgefallen ist und du benötigst dann auch keine notifys.

Falls du das nicht möchtest (einen Grund kann ich mir nicht vorstellen), schau mal, wie die Events wirklich aussehen (Eventmonitor).

3dmanipulator

hallo Marvin,

ich hatte die Komponenten auch gepeert, aber dann bekomme ich keine temperatur-ist-werte mehr von den Heizkörpern, die werden dann dann vom wandthermostat überschrieben.

meiner Meinung nach sollten die Heizkörper aber noch in jedem fall, durch das in ihnen eingeschriebene temperaturprogramm, auch bei ausfall von fhem weiterlaufen.

im Event Monitor kommen nur die Infos vom Thermostaten an. von einem notify ist nix zu sehen; und das vertehe ich eben nicht.
raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT

frank

Zitatim Event Monitor kommen nur die Infos vom Thermostaten an. von einem notify ist nix zu sehen; und das vertehe ich eben nicht.
wir sehen noch viel weniger.  ;)

wenn du desired-temp von fhem setzen lassen willst, muss der rt im controlmode cent sein, sonst wird die temp, mindestens im auto mode, wieder vom tempprogram überschrieben.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Hollo

Zitat von: 3dmanipulator am 24 September 2015, 15:38:40
...ich hatte die Komponenten auch gepeert, aber dann bekomme ich keine temperatur-ist-werte mehr von den Heizkörpern, die werden dann dann vom wandthermostat überschrieben...
Der Wandthermostat ist dann ja auch der externer IST-Wert-Fühler; also measured-temp vom Wandthermostat = measured-temp Heizkörperthermostat.
Das ist IMHO auch viel besser so, weil das Ding auch nur dann vernünftig regelt.  :P
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

networker

#5
schau dir mal diesen Link durch.

klausph

Genau mit diesen beiden Geräte kämpfe ich auch. Lt. wiki wird beim peeren des Weather channel die aktuelle Temperatur Übertragen und bei Peeren des Climate channel die vorgewählte Temperatur. Leider wird aber schon durch den Climate channel auch die gemessene Temperatur Übertragen. das will ich aber nicht, da ich mit einem TC die Temperatur im Erdgeschoss für Wohnzimmer, Küchen und Essecke vorgeben will. Und damit jeder der drei RT selber die aktuelle Raumtemperatur messen und entsprechend regeln soll. Hier meine Frage, kann man beim peeren des Climate channel die Übertragung der gemessenen Temperatur verhindern, oder muss ich die Vorgabe der Temperatur über ein notify vornehmen?

Hollo

Zitat von: klausph am 28 September 2015, 23:01:43
...Lt. wiki wird beim peeren des Weather channel die aktuelle Temperatur Übertragen und bei Peeren des Climate channel die vorgewählte Temperatur. Leider wird aber schon durch den Climate channel auch die gemessene Temperatur Übertragen...
Das ist etwas unglücklich formuliert.
Am besten man guckt sich mal die Inhalte der Kanäle an, die man peeren will.
Dann erkennst Du, dass beim Wandthermostat der Weather-Kanal NUR die  gemessene Temperatur beinhaltet, der Climate-Kanal dagegen measured- UND desired-temp.

Zitat...kann man beim peeren des Climate channel die Übertragung der gemessenen Temperatur verhindern, oder muss ich die Vorgabe der Temperatur über ein notify vornehmen?
Wenn Du aus räumlichen Gründen nicht die IST-Temp vom Wandthermostat haben willst, vermute ich mal, dass das dann nur per notify geht !?!
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

3dmanipulator

#8
so, nach einigem rumprobieren habe ich jetzt die lösung für mein Problem selbst gefunden. anstatt notify benutze ich dummy und DOIF.

insgesamt brauche ich 4 DOIFs und ein dummy.

die RTs werden bei mir nicht mit der fhem zentrale verbunden natürlich sind sie gepairt, aber controlMode ist nicht cent. dadurch ist sichergestellt dass bei Störungen die RTs ihre eigenen Programme weiter abspulen können.

hiermit wird die Temperatur gesteuert:
Internals:
   DEF        ([wohnen__fb_Climate:desired-temp] != [va.wohnen__fb_Climate:state])    ## vergleich neuer wunsch mit altem wunsch
  (set va.wohnen__fb_Climate [wohnen__fb_Climate:desired-temp])         ## wunsch aktualisieren
  (set (essen|buero|wohnen)_Clima desired-temp [va.wohnen__fb_Climate:state])          ## temperaturwunsch übermitteln
  (set (essen|buero|wohnen)_Clima burstXmit)                                           ## sofort



   NAME       do.wohnen__fb_Climate.temp
   NR         149
   NTFY_ORDER 50-do.wohnen__fb_Climate.temp
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-09-29 14:24:11   Device          wohnen__fb_Climate
     2015-09-29 14:14:19   cmd_event       wohnen__fb_Climate
     2015-09-29 14:14:19   cmd_nr          1
     2015-09-29 14:14:19   cmd_seqnr       3
     2015-09-29 14:14:19   e_va.wohnen__fb_Climate_state 19.0
     2015-09-29 14:24:11   e_wohnen__fb_Climate_desired-temp 19.0
     2015-09-29 14:14:19   state           cmd_1
   Condition:
     0          ReadingValDoIf('wohnen__fb_Climate','desired-temp','') != ReadingValDoIf('va.wohnen__fb_Climate','state','')
   Devices:
     0           wohnen__fb_Climate va.wohnen__fb_Climate
     all         wohnen__fb_Climate va.wohnen__fb_Climate
   Do:
     0:
       0          set va.wohnen__fb_Climate [wohnen__fb_Climate:desired-temp]
       1          set (essen|buero|wohnen)_Clima desired-temp [va.wohnen__fb_Climate:state]
       2          set (essen|buero|wohnen)_Clima burstXmit
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           wohnen__fb_Climate:desired-temp va.wohnen__fb_Climate:state
     all         wohnen__fb_Climate:desired-temp va.wohnen__fb_Climate:state
   State:
   Timerfunc:
   Trigger:
Attributes:
   do         always
   room       Doif


burstXmit ist nicht unbedingt notwendig, wurde aber von meinem Freund so gewünscht.

so sieht der dummy aus:
Internals:
   NAME       va.wohnen__fb_Climate
   NR         148
   STATE      19.0
   TYPE       dummy
   Readings:
     2015-09-29 14:14:19   state           19.0
Attributes:
   room       Doif



...und so die zwei mode umschalter:
Internals:
   DEF        ([wohnen__fb_Climate:controlMode]eq "auto")    ## Modus
   ((set (essen|buero|wohnen)_Clima controlMode auto)   ##modus übermitteln
(set (essen|buero|wohnen)_Clima burstXmit)   ###sofort
)


   NAME       do.wohnen__fb_Climate.auto
   NR         145
   NTFY_ORDER 50-do.wohnen__fb_Climate.auto
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2015-09-29 14:27:02   Device          wohnen__fb_Climate
     2015-09-29 14:13:13   cmd_event       wohnen__fb_Climate
     2015-09-29 14:13:13   cmd_nr          2
     2015-09-29 14:27:02   e_wohnen__fb_Climate_controlMode manual
     2015-09-29 14:13:13   state           cmd_2
   Condition:
     0          ReadingValDoIf('wohnen__fb_Climate','controlMode','')eq "auto"
   Devices:
     0           wohnen__fb_Climate
     all         wohnen__fb_Climate
   Do:
     0:
       0          (set (essen|buero|wohnen)_Clima controlMode auto)   (set (essen|buero|wohnen)_Clima burstXmit)
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           wohnen__fb_Climate:controlMode
     all         wohnen__fb_Climate:controlMode
   State:
   Timerfunc:
   Trigger:
Attributes:
   room       Doif

Internals:
   DEF        ([wohnen__fb_Climate:controlMode]eq "manual")    ## modus
(
  (set (essen|buero|wohnen)_Clima controlManu [va.wohnen__fb_Climate:state])             ##modus übermitteln
   (set (essen|buero|wohnen)_Clima burstXmit)   ###sofort
)

   NAME       do.wohnen__fb_Climate.manual
   NR         146
   NTFY_ORDER 50-do.wohnen__fb_Climate.manual
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-09-29 14:27:02   Device          wohnen__fb_Climate
     2015-09-29 14:13:59   cmd_event       wohnen__fb_Climate
     2015-09-29 14:13:59   cmd_nr          1
     2015-09-29 14:27:02   e_wohnen__fb_Climate_controlMode manual
     2015-09-29 14:13:59   state           cmd_1
   Condition:
     0          ReadingValDoIf('wohnen__fb_Climate','controlMode','')eq "manual"
   Devices:
     0           wohnen__fb_Climate
     all         wohnen__fb_Climate
   Do:
     0:
       0            (set (essen|buero|wohnen)_Clima controlManu [va.wohnen__fb_Climate:state])                (set essen_Clima burstXmit)
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           wohnen__fb_Climate:controlMode
     all         wohnen__fb_Climate:controlMode
   State:
   Timerfunc:
   Trigger:
Attributes:
   room       Doif


...und zu guter letzt boost:
Internals:
   DEF        ([wohnen__fb_Climate:controlMode]eq "boost")    ## modus
   ((set (essen|buero|wohnen)_Clima controlMode boost)   ##modus übermitteln
    (set (essen|buero|wohnen)_Clima burstXmit)   ###sofort
    )


   NAME       do.wohnen__fb_Climate.boost
   NR         147
   NTFY_ORDER 50-do.wohnen__fb_Climate.boost
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2015-09-29 14:29:38   Device          wohnen__fb_Climate
     2015-09-29 14:09:33   cmd_event       wohnen__fb_Climate
     2015-09-29 14:09:33   cmd_nr          2
     2015-09-29 14:29:38   e_wohnen__fb_Climate_controlMode manual
     2015-09-29 14:09:33   state           cmd_2
   Condition:
     0          ReadingValDoIf('wohnen__fb_Climate','controlMode','')eq "boost"
   Devices:
     0           wohnen__fb_Climate
     all         wohnen__fb_Climate
   Do:
     0:
       0          (set (essen|buero|wohnen)_Clima controlMode boost)       (set (essen|buero|wohnen)_Clima burstXmit)
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           wohnen__fb_Climate:controlMode
     all         wohnen__fb_Climate:controlMode
   State:
   Timerfunc:
   Trigger:
Attributes:
   room       Doif


das ganze macht halt sinn, wenn es sich um große räume oder um mehrere räume handelt, bei denen auch die Temperatur beim RT ausgelesen werden soll.
zusätzlich kann noch jeder RT vollkommen individuell programmiert werden.

grüße horst
raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT

frank

Zitatdie RTs werden bei mir nicht mit der fhem zentrale verbunden.
was meinst du damit?
gepaired müssen sie ja sein, sonst könnten deine doif keine temps setzen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

3dmanipulator

das war etwas unglücklich ausgedrückt.

natürlich sind sie gepairt, aber controlMode ist nicht cent.
raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT