Hallo zusammen,
ich nutze 2 HM-LC-SW4-DR Hutschienen Aktoren (Firmware 2.8.000) zur Steuerung meiner Fußbodenheizung-Ventile. Neben FHEM ist jeder entsprechende Kanal auch mit je einem HM-TC-IT-WM-W-EU Wandthermostat (Firmware 1.3.002) verknüpft, welches über die Soll-/Ist-Temperatur das jeweilige Ventil ansteuern kann. FHEM hält sich da grundsätzlich raus.
Nun möchte ich aber über FHEM einen sog. Ventilschutz (Kalkablagerungen) realisieren und zu einer festgelegten Uhrzeit die Ventile für 5 Minuten öffnen - unabhängig von einer eventuell schon erreichten Soll-Temperatur. Der entsprechende Code-Block sieht wie folgt aus und funktioniert grundsätzlich:
define Job_Heizung_Ventilschutz at *23:50 { \
fhem("set Badezimmer_Heizung inhibit on ;; set Badezimmer_Heizung on ;; sleep 300 ;; set Badezimmer_Heizung inhibit off");; \
fhem("set Buero_Heizung inhibit on ;; set Buero_Heizung on ;; sleep 300 ;; set Buero_Heizung inhibit off");; \
fhem("set Flur_Heizung inhibit on ;; set Flur_Heizung on ;; sleep 300 ;; set Flur_Heizung inhibit off");; \
fhem("set Schlafzimmer_Heizung inhibit on ;; set Schlafzimmer_Heizung on ;; sleep 300 ;; set Schlafzimmer_Heizung inhibit off");; \
fhem("set Wohnzimmer_Heizung inhibit on ;; set Wohnzimmer_Heizung on ;; sleep 300 ;; set Wohnzimmer_Heizung inhibit off");; \
}
attr Job_Heizung_Ventilschutz room Kammer
Mein Problem ist das zwar umgesetzte, aber nicht wirkende INHIBIT. Im Logfile sieht es wie folgt aus:
2017-08-14_23:50:00 Wohnzimmer_Heizung inhibit: set_on
2017-08-14_23:50:00 Wohnzimmer_Heizung set_inhibit on
2017-08-14_23:50:00 Wohnzimmer_Heizung set_on
2017-08-14_23:50:04 Wohnzimmer_Heizung deviceMsg: off (to vCCU)
2017-08-14_23:50:04 Wohnzimmer_Heizung level: 0
2017-08-14_23:50:04 Wohnzimmer_Heizung pct: 0
2017-08-14_23:50:04 Wohnzimmer_Heizung off
2017-08-14_23:50:04 Wohnzimmer_Heizung timedOn: off
2017-08-14_23:50:04 Wohnzimmer_Heizung deviceMsg: on (to vCCU)
2017-08-14_23:50:04 Wohnzimmer_Heizung level: 100
2017-08-14_23:50:04 Wohnzimmer_Heizung pct: 100
2017-08-14_23:50:04 Wohnzimmer_Heizung on
2017-08-14_23:50:04 Wohnzimmer_Heizung timedOn: off
2017-08-14_23:50:04 Wohnzimmer_Heizung deviceMsg: on (to vCCU)
2017-08-14_23:50:04 Wohnzimmer_Heizung level: 100
2017-08-14_23:50:04 Wohnzimmer_Heizung pct: 100
2017-08-14_23:50:04 Wohnzimmer_Heizung on
2017-08-14_23:50:04 Wohnzimmer_Heizung timedOn: off
2017-08-14_23:50:35 Wohnzimmer_Thermostat_Climate desired-temp: 19.0
2017-08-14_23:50:35 Wohnzimmer_Thermostat_Climate humidity: 53
2017-08-14_23:50:35 Wohnzimmer_Thermostat_Climate measured-temp: 25.9
2017-08-14_23:50:35 Wohnzimmer_Thermostat_Climate T: 25.9 desired: 19.0
2017-08-14_23:50:55 Wohnzimmer_Thermostat_Weather humidity: 53
2017-08-14_23:50:55 Wohnzimmer_Thermostat_Weather T: 25.9 H: 53
2017-08-14_23:50:55 Wohnzimmer_Thermostat_Weather temperature: 25.9
2017-08-14_23:52:07 Wohnzimmer_Heizung trigLast: Wohnzimmer_Thermostat_SwitchTr:0
2017-08-14_23:52:07 Wohnzimmer_Heizung trig_Wohnzimmer_Thermostat_SwitchTr: 0_187
2017-08-14_23:52:07 Wohnzimmer_Thermostat_SwitchTr level: 0
2017-08-14_23:52:07 Wohnzimmer_Thermostat_SwitchTr trigger_cnt: 187
2017-08-14_23:52:09 Wohnzimmer_Heizung deviceMsg: off (to vCCU)
2017-08-14_23:52:09 Wohnzimmer_Heizung level: 0
2017-08-14_23:52:09 Wohnzimmer_Heizung pct: 0
2017-08-14_23:52:09 Wohnzimmer_Heizung off
2017-08-14_23:52:09 Wohnzimmer_Heizung timedOn: off
Das Wandthermostat schafft es trotz INHIBIT, die Heizung wieder auszuschalten ???
Sieht jemand von euch, was ich falsch mache???
Hi,
spontane alternative Idee, lass es den Wandthermostat machen :) dreh ihn für 5 min auf eine Temperatur wo er nicht widersprechen kann :)
Gruß Otto
Das wäre der Notfallplan, die Solltemperatur irgendwann für 5 Minuten auf 40 °C stellen. Aber trotzdem müsste/sollte das ja wie oben beschrieben funktionieren. Ansonsten hätte FHEM ja auch keine Möglichkeit, das Thermostat zu überstimmen, weil beispielsweise irgendeine Situation erkannt wird, die dies sinnvoll erscheinen lässt.
Naja, ich kann Dir zumindest bestätigen, dass auch bei einem HM-LC-SW1-FM inhibit nicht funktioniert. Es bleibt bei set_on stehen und kommt offenbar nicht an. Der gepeerte Thermostat schaltet munter weiter. Wenn ich das in der Geschwindigkeit wie Du teste.
Nochmal nachgetestet, es braucht eventuell Zeit bzw. ein getConfig, dann funktioniert es wie gewünscht. Irritierend bleibt das set_on _ aber kann ja sein es gibt dafür einen Grund.
Gruß Otto
D.h. sobald du ein getConfig hinterher schickst, funktioniert es?
Gesendet von meinem Nexus 5 mit Tapatalk
Ja, zumindest wenn ich das in Ruhe und mit Hand mache. Vielleicht reicht auch einfach eine Weile warten.
Werde ich spätestens morgen ausprobieren, danke für den Hinweis!
Lange warten funktioniert ja leider nicht, das Thermostat ist immer schneller ;)
Gesendet von meinem Nexus 5 mit Tapatalk
Du musst einfach an der richtigen Stelle warten, nach du inhibit setzt und vor der Kalkfahrt 8)
Da ist dann nur die Frage, wie lange man warten muss und ob diese Zeit immer gleich ist/bleibt. Lieber wäre es mir ja, wenn es so funktionieren würde, wie es wahrscheinlich gedacht ist.
Funktioniert leider nicht, sobald was von Wohnzimmer_Thermostat_SwitchTr kommt, macht der Schaltaktor-Kanal (Wohnzimmer_Heizung) die Rolle rückwärts :(
2017-08-15_21:32:48 CUL_HM set Wohnzimmer_Heizung on
2017-08-15_21:32:48 Wohnzimmer_Heizung set_on
2017-08-15_21:32:48 Wohnzimmer_Heizung deviceMsg: on (to vCCU)
2017-08-15_21:32:48 Wohnzimmer_Heizung level: 100
2017-08-15_21:32:48 Wohnzimmer_Heizung pct: 100
2017-08-15_21:32:48 Wohnzimmer_Heizung on
2017-08-15_21:32:48 Wohnzimmer_Heizung timedOn: off
2017-08-15_21:32:52 CUL_HM set Wohnzimmer_Heizung inhibit on
2017-08-15_21:32:52 Wohnzimmer_Heizung inhibit: set_on
2017-08-15_21:32:52 Wohnzimmer_Heizung set_inhibit on
2017-08-15_21:32:53 Wohnzimmer_Heizung deviceMsg: on (to vCCU)
2017-08-15_21:32:53 Wohnzimmer_Heizung level: 100
2017-08-15_21:32:53 Wohnzimmer_Heizung pct: 100
2017-08-15_21:32:53 Wohnzimmer_Heizung on
2017-08-15_21:32:53 Wohnzimmer_Heizung timedOn: off
2017-08-15_21:33:30 CUL_HM set Wohnzimmer_Heizung getConfig
2017-08-15_21:34:12 Wohnzimmer_Thermostat_Climate desired-temp: 19.0
2017-08-15_21:34:12 Wohnzimmer_Thermostat_Climate humidity: 58
2017-08-15_21:34:12 Wohnzimmer_Thermostat_Climate measured-temp: 25.6
2017-08-15_21:34:12 Wohnzimmer_Thermostat_Climate T: 25.6 desired: 19.0
2017-08-15_21:34:32 Wohnzimmer_Thermostat_Weather humidity: 58
2017-08-15_21:34:32 Wohnzimmer_Thermostat_Weather T: 25.6 H: 58
2017-08-15_21:34:32 Wohnzimmer_Thermostat_Weather temperature: 25.6
2017-08-15_21:36:07 Wohnzimmer_Heizung trigLast: Wohnzimmer_Thermostat_SwitchTr:0
2017-08-15_21:36:07 Wohnzimmer_Heizung trig_Wohnzimmer_Thermostat_SwitchTr: 0_1
2017-08-15_21:36:07 Wohnzimmer_Thermostat_SwitchTr level: 0
2017-08-15_21:36:07 Wohnzimmer_Thermostat_SwitchTr trigger_cnt: 1
2017-08-15_21:36:10 Wohnzimmer_Heizung deviceMsg: off (to vCCU)
2017-08-15_21:36:10 Wohnzimmer_Heizung level: 0
2017-08-15_21:36:10 Wohnzimmer_Heizung pct: 0
2017-08-15_21:36:10 Wohnzimmer_Heizung off
2017-08-15_21:36:10 Wohnzimmer_Heizung timedOn: off
Ich finde Deine Reihenfolge unlogisch.
Ich habe versucht:
Zustand SOLL thermostat auf 20° , IST Raum 24° Aktor ist off
set Aktor inhibit on
set Aktor getConfig
set Thermostat SOLL auf 40°
Der Thermostat hat keine Chance, der Aktor bleibt off, der Trigger 200 kommt aber sichtbar an
Gruß Otto
Moment, vielleicht reden wir aneinander vorbei...
Du setzt "Thermostat SOLL auf 40" und zwingst/überredest es damit, selbst den Aktor einzuschalten. Ich versuche es ja anders - das Thermostat in Ruhe zu lassen und per FHEM den Aktor einzuschalten und ihm "verbieten", bis auf weiteres Befehle vom Thermostat zu ignorieren.
... aber andererseits ist es ja trotzdem eine vergleichbare Situation. Dein Thermostat möchte einschalten, wird aber ignoriert (wenn das der Trigger 200 ist).
Aber was ist für dich bei mir unlogisch? Einschalten, "externe" Befehle ignorieren und ein "getConfig" absetzen, um eine eventuelle Verzögerung beim Schreiben in´s Register zu erzwingen (falls das so funktionieren sollte).
Du setzt den Aktor so das der Thermostat reagieren will. (Ich weiß gar nicht warum er das macht, aber er tut es ja scheinbar)
Dann setzt Du inhibit.
Dann setzt Du getConfig.
Der Thermostat überholt vielleicht bloß genau diesen Zustand.
Ich finde es unlogisch, Du provozierst und setzt dann das Verbot.
Ich setze das Verbot, lasse Ruhe und provoziere dann.
Zitat von: Otto123 am 15 August 2017, 22:10:59Du setzt den Aktor so das der Thermostat reagieren will. (Ich weiß gar nicht warum er das macht, aber er tut es ja scheinbar)
Jein - ich setze den Aktor, aber davon weiß das Thermostat doch nichts, oder? Dieses wertet doch alle x Minuten für sich selbst aus (Soll/Ist/Hysterese/...), ob es gerne heizen würde oder nicht - und gibt dann den entsprechenden Befehl - egal ob auf der Gegenseite schon was passiert ist oder nicht.
Zitat von: Otto123 am 15 August 2017, 22:10:59
Dann setzt Du inhibit.
Dann setzt Du getConfig.
Der Thermostat überholt vielleicht bloß genau diesen Zustand.
Ich finde es unlogisch, Du provozierst und setzt dann das Verbot.
Ich setze das Verbot, lasse Ruhe und provoziere dann.
Da hast du Recht, in meiner Config habe ich auch erst
inhibit=on gesetzt und dann den Aktor direkt per FHEM gesteuert. Mein manueller Test war anders ´rum, glaube aber nicht, dass das was ändert - wenn meine o.a. "Logik" stimmt und vom Thermostat alle x Minuten ein Befehl kommt, egal wer diesen verwertet, das Thermostat schreit immer in den Raum, was es möchte.
Ich teste heute Nacht mal mit folgender Config, die müsste aus deiner Sicht doch i.O. sein, oder?
define Job_Heizung_Ventilschutz at *23:45 { \
fhem("set Badezimmer_Heizung inhibit on ;; set Badezimmer_Heizung getConfig ;; sleep 300 ;; set Badezimmer_Heizung on ;; sleep 300 ;; set Badezimmer_Heizung inhibit off");; \
fhem("set Buero_Heizung inhibit on ;; set Buero_Heizung getConfig ;; sleep 300 ;; set Buero_Heizung on ;; sleep 300 ;; set Buero_Heizung inhibit off");; \
fhem("set Flur_Heizung inhibit on ;; set Flur_Heizung getConfig ;; sleep 300 ;; set Flur_Heizung on ;; sleep 300 ;; set Flur_Heizung inhibit off");; \
fhem("set Schlafzimmer_Heizung inhibit on ;; set Schlafzimmer_Heizung getConfig ;; sleep 300 ;; set Schlafzimmer_Heizung on ;; sleep 300 ;; set Schlafzimmer_Heizung inhibit off");; \
fhem("set Wohnzimmer_Heizung inhibit on ;; set set Wohnzimmer_Heizung getConfig ;; sleep 300 ;; Wohnzimmer_Heizung on ;; sleep 300 ;; set Wohnzimmer_Heizung inhibit off");; \
}
attr Job_Heizung_Ventilschutz room Kammer
Die Reihenfolge schon ist ok. Du brauchst die {fhem ()} Kapsel nicht.
Da hast du auch Recht, die ist wohl durch eine historische Copy-Paste-Aktion noch vorhanden. Ich warte einfach mal ab, was nachher passiert, danach kann ich die "Kapsel" entfernen.
Meine Hoffnung ist nicht groß, aber die stirbt ja bekanntlich zuletzt.
Ich kenne da verschiedene Artikel, wo beschrieben wird, dass in bestimmten Situation die Reihenfolge mit sleep nicht wie gewünscht funktioniert. z.B. https://forum.fhem.de/index.php?topic=27305.0
Ich habe es nie richtig verstanden.
Ich weiß nur ohne fhem Klammer funktioniert es wie gewünscht.
sleep ist (oder war?) doch sowieso ein Problem in FHEM... aber auch das ist hier ja nicht das Problem - aber wir werden sehen, nachher oder morgen.
nur wenn es am "Ende" verwendet wird, steht aber exakt in der commandref
Genau in der "Wohnzimmer"-Zeile hat sich natürlich ein set verschoben, aber im Flur lief es... leider aber ohne Erfolg:
2017-08-15_23:45:00 CUL_HM set Flur_Heizung inhibit on
2017-08-15_23:45:00 CUL_HM set Flur_Heizung getConfig
2017-08-15_23:45:00 Flur_Heizung inhibit: set_on
2017-08-15_23:45:00 Flur_Heizung set_inhibit on
2017-08-15_23:45:04 Flur_Heizung deviceMsg: off (to vCCU)
2017-08-15_23:45:04 Flur_Heizung level: 0
2017-08-15_23:45:04 Flur_Heizung pct: 0
2017-08-15_23:45:04 Flur_Heizung off
2017-08-15_23:45:04 Flur_Heizung timedOn: off
2017-08-15_23:45:43 Flur_Thermostat_Climate desired-temp: 19.0
2017-08-15_23:45:43 Flur_Thermostat_Climate humidity: 57
2017-08-15_23:45:43 Flur_Thermostat_Climate measured-temp: 25.1
2017-08-15_23:45:43 Flur_Thermostat_Climate T: 25.1 desired: 19.0
...
2017-08-15_23:50:00 CUL_HM set Flur_Heizung on
2017-08-15_23:50:00 Flur_Heizung set_on
2017-08-15_23:50:00 Flur_Heizung deviceMsg: on (to vCCU)
2017-08-15_23:50:00 Flur_Heizung level: 100
2017-08-15_23:50:00 Flur_Heizung pct: 100
2017-08-15_23:50:00 Flur_Heizung on
2017-08-15_23:50:00 Flur_Heizung timedOn: off
2017-08-15_23:50:29 Flur_Thermostat_Climate desired-temp: 19.0
2017-08-15_23:50:29 Flur_Thermostat_Climate humidity: 57
2017-08-15_23:50:29 Flur_Thermostat_Climate measured-temp: 25.1
2017-08-15_23:50:29 Flur_Thermostat_Climate T: 25.1 desired: 19.0
2017-08-15_23:50:49 Flur_Thermostat_Weather humidity: 57
2017-08-15_23:50:49 Flur_Thermostat_Weather T: 25.1 H: 57
2017-08-15_23:50:49 Flur_Thermostat_Weather temperature: 25.1
2017-08-15_23:50:49 Flur_Heizung trigLast: Flur_Thermostat_SwitchTr:0
2017-08-15_23:50:49 Flur_Heizung trig_Flur_Thermostat_SwitchTr: 0_48
2017-08-15_23:50:49 Flur_Thermostat_SwitchTr level: 0
2017-08-15_23:50:49 Flur_Thermostat_SwitchTr trigger_cnt: 48
2017-08-15_23:50:52 Flur_Heizung deviceMsg: off (to vCCU)
2017-08-15_23:50:52 Flur_Heizung level: 0
2017-08-15_23:50:52 Flur_Heizung pct: 0
2017-08-15_23:50:52 Flur_Heizung off
2017-08-15_23:50:52 Flur_Heizung timedOn: off
...
2017-08-15_23:55:00 CUL_HM set Flur_Heizung inhibit off
Um 23:45 inhibit off gesetzt, um 23:50 eingeschaltet, 49 Sekunden später kam der SwitchTr und das Ding geht wieder aus :'(
Moin,
und Du bist sicher, dass im Aktor wirklich der Trigger vom Thermostaten umgesetzt wird?
Da liegen zwischen Trigger und Reaktion vom Aktor immerhin 3 sec. Bei mir arbeitet das quasi verzögerungsfrei.
Nicht das Du eine Notroutine in FHEM hast die zusätzlich regelt?
Ich habe das gerade nochmal probiert, mit dem Aktor den Du hast und einem gepeerten Button einer Fernbedienung.
Inhibit wird sauber ausgeführt und beachtet. Btn_09 schaltet off Btn_10 schaltet on
2017-08-16 09:36:40 CUL_HM FB12 battery: ok
2017-08-16 09:36:40 CUL_HM FB12 FB12_Btn_09 Short
2017-08-16 09:36:40 CUL_HM FB12_Btn_09 Short 1_106 (to SW1)
2017-08-16 09:36:40 CUL_HM FB12_Btn_09 trigger: Short_106
2017-08-16 09:36:40 CUL_HM FB12_Btn_09 triggerTo_SW1: Short_106
2017-08-16 09:36:40 CUL_HM FB12_Btn_09 trigger_cnt: 106
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 trigLast: FB12_Btn_09:short
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 trig_FB12_Btn_09: Short_106
2017-08-16 09:36:40 CUL_HM FB12_Btn_09 triggerTo_SW1: Short_106_ack
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 deviceMsg: off (to FB12)
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 level: 0
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 pct: 0
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 off
2017-08-16 09:36:40 CUL_HM LichtKeSW1_Sw04 timedOn: off
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 inhibit: set_on
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 set_inhibit on
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 deviceMsg: off (to VCCU)
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 level: 0
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 pct: 0
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 off
2017-08-16 09:36:44 CUL_HM LichtKeSW1_Sw04 timedOn: off
2017-08-16 09:36:50 CUL_HM FB12 battery: ok
2017-08-16 09:36:50 CUL_HM FB12 FB12_Btn_10 Short
2017-08-16 09:36:50 CUL_HM FB12_Btn_10 Short 1_155 (to SW1)
2017-08-16 09:36:50 CUL_HM FB12_Btn_10 trigger: Short_155
2017-08-16 09:36:50 CUL_HM FB12_Btn_10 triggerTo_SW1: Short_155
2017-08-16 09:36:50 CUL_HM FB12_Btn_10 trigger_cnt: 155
2017-08-16 09:36:50 CUL_HM LichtKeSW1_Sw04 trigLast: FB12_Btn_10:short
2017-08-16 09:36:50 CUL_HM LichtKeSW1_Sw04 trig_FB12_Btn_10: Short_155
2017-08-16 09:37:01 CUL_HM LichtKeSW1_Sw04 deviceMsg: off (to VCCU)
2017-08-16 09:37:01 CUL_HM LichtKeSW1_Sw04 level: 0
2017-08-16 09:37:01 CUL_HM LichtKeSW1_Sw04 pct: 0
2017-08-16 09:37:01 CUL_HM LichtKeSW1_Sw04 off
2017-08-16 09:37:01 CUL_HM LichtKeSW1_Sw04 timedOn: off
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 inhibit: set_off
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 set_inhibit off
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 deviceMsg: off (to VCCU)
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 level: 0
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 pct: 0
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 off
2017-08-16 09:37:02 CUL_HM LichtKeSW1_Sw04 timedOn: off
2017-08-16 09:37:05 CUL_HM FB12 battery: ok
2017-08-16 09:37:05 CUL_HM FB12 FB12_Btn_10 Short
2017-08-16 09:37:05 CUL_HM FB12_Btn_10 Short 1_156 (to SW1)
2017-08-16 09:37:05 CUL_HM FB12_Btn_10 trigger: Short_156
2017-08-16 09:37:05 CUL_HM FB12_Btn_10 triggerTo_SW1: Short_156
2017-08-16 09:37:05 CUL_HM FB12_Btn_10 trigger_cnt: 156
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 trigLast: FB12_Btn_10:short
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 trig_FB12_Btn_10: Short_156
2017-08-16 09:37:05 CUL_HM FB12_Btn_10 triggerTo_SW1: Short_156_ack
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 deviceMsg: on (to FB12)
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 level: 100
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 pct: 100
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 on
2017-08-16 09:37:05 CUL_HM LichtKeSW1_Sw04 timedOn: off
Gruß Otto
Von FHEM kommt außer dem Ventilschutz nichts, dort wird die Heizung (bis jetzt) niemals gesteuert, sondern dient nur der Visualisierung.
Hier mal meine komplette Heizungs-Definition:
## Thermostate
# Badezimmer
define Badezimmer_Thermostat CUL_HM 39B42D
attr Badezimmer_Thermostat IODev HMUSB
attr Badezimmer_Thermostat IOgrp vCCU:HMUSB
attr Badezimmer_Thermostat actCycle 000:10
attr Badezimmer_Thermostat actStatus alive
attr Badezimmer_Thermostat autoReadReg 4_reqStatus
attr Badezimmer_Thermostat expert 2_full
attr Badezimmer_Thermostat firmware 1.3
attr Badezimmer_Thermostat model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat msgRepeat 1
attr Badezimmer_Thermostat room Badezimmer
attr Badezimmer_Thermostat serialNr MEQ0602500
attr Badezimmer_Thermostat subType thermostat
attr Badezimmer_Thermostat webCmd getConfig:clear msgEvents
define Badezimmer_Thermostat_Weather CUL_HM 39B42D01
attr Badezimmer_Thermostat_Weather model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat_Weather room Badezimmer
attr Badezimmer_Thermostat_Weather peerIDs 00000000,
define Badezimmer_Thermostat_Climate CUL_HM 39B42D02
attr Badezimmer_Thermostat_Climate model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat_Climate room Badezimmer
attr Badezimmer_Thermostat_Climate peerIDs 00000000,
define Badezimmer_Thermostat_WindowRec CUL_HM 39B42D03
attr Badezimmer_Thermostat_WindowRec model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat_WindowRec room hidden
attr Badezimmer_Thermostat_WindowRec peerIDs 00000000,
attr Badezimmer_Thermostat_WindowRec stateFormat last:trigLast
define Badezimmer_Thermostat_remote CUL_HM 39B42D06
attr Badezimmer_Thermostat_remote model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat_remote room hidden
attr Badezimmer_Thermostat_remote peerIDs 00000000,
define Badezimmer_Thermostat_SwitchTr CUL_HM 39B42D07
attr Badezimmer_Thermostat_SwitchTr model HM-TC-IT-WM-W-EU
attr Badezimmer_Thermostat_SwitchTr room Badezimmer
attr Badezimmer_Thermostat_SwitchTr peerIDs 00000000,3E6D6503
# Büro
define Buero_Thermostat CUL_HM 3F400A
attr Buero_Thermostat IODev HMUSB
attr Buero_Thermostat IOgrp vCCU:HMUSB
attr Buero_Thermostat actCycle 000:10
attr Buero_Thermostat actStatus alive
attr Buero_Thermostat autoReadReg 4_reqStatus
attr Buero_Thermostat expert 2_full
attr Buero_Thermostat firmware 1.3
attr Buero_Thermostat model HM-TC-IT-WM-W-EU
attr Buero_Thermostat msgRepeat 1
attr Buero_Thermostat room Büro
attr Buero_Thermostat serialNr MEQ0863726
attr Buero_Thermostat subType thermostat
attr Buero_Thermostat webCmd getConfig:clear msgEvents
define Buero_Thermostat_Weather CUL_HM 3F400A01
attr Buero_Thermostat_Weather model HM-TC-IT-WM-W-EU
attr Buero_Thermostat_Weather room Büro
attr Buero_Thermostat_Weather peerIDs
define Buero_Thermostat_Climate CUL_HM 3F400A02
attr Buero_Thermostat_Climate model HM-TC-IT-WM-W-EU
attr Buero_Thermostat_Climate room Büro
attr Buero_Thermostat_Climate peerIDs 00000000,
define Buero_Thermostat_WindowRec CUL_HM 3F400A03
attr Buero_Thermostat_WindowRec model HM-TC-IT-WM-W-EU
attr Buero_Thermostat_WindowRec room hidden
attr Buero_Thermostat_WindowRec peerIDs 00000000,
attr Buero_Thermostat_WindowRec stateFormat last:trigLast
define Buero_Thermostat_remote CUL_HM 3F400A06
attr Buero_Thermostat_remote model HM-TC-IT-WM-W-EU
attr Buero_Thermostat_remote room hidden
attr Buero_Thermostat_remote peerIDs 00000000,
define Buero_Thermostat_SwitchTr CUL_HM 3F400A07
attr Buero_Thermostat_SwitchTr model HM-TC-IT-WM-W-EU
attr Buero_Thermostat_SwitchTr room Büro
attr Buero_Thermostat_SwitchTr peerIDs 00000000,3E6D6504
# Flur
define Flur_Thermostat CUL_HM 3F3FF1
attr Flur_Thermostat IODev HMUSB
attr Flur_Thermostat IOgrp vCCU:HMUSB
attr Flur_Thermostat actCycle 000:10
attr Flur_Thermostat actStatus alive
attr Flur_Thermostat autoReadReg 4_reqStatus
attr Flur_Thermostat expert 2_full
attr Flur_Thermostat firmware 1.3
attr Flur_Thermostat model HM-TC-IT-WM-W-EU
attr Flur_Thermostat msgRepeat 1
attr Flur_Thermostat room Flur
attr Flur_Thermostat serialNr MEQ0863728
attr Flur_Thermostat subType thermostat
attr Flur_Thermostat webCmd getConfig:clear msgEvents
define Flur_Thermostat_Weather CUL_HM 3F3FF101
attr Flur_Thermostat_Weather model HM-TC-IT-WM-W-EU
attr Flur_Thermostat_Weather room Flur
attr Flur_Thermostat_Weather peerIDs
define Flur_Thermostat_Climate CUL_HM 3F3FF102
attr Flur_Thermostat_Climate model HM-TC-IT-WM-W-EU
attr Flur_Thermostat_Climate room Flur
attr Flur_Thermostat_Climate peerIDs 00000000,
define Flur_Thermostat_WindowRec CUL_HM 3F3FF103
attr Flur_Thermostat_WindowRec model HM-TC-IT-WM-W-EU
attr Flur_Thermostat_WindowRec room hidden
attr Flur_Thermostat_WindowRec peerIDs 00000000,
attr Flur_Thermostat_WindowRec stateFormat last:trigLast
define Flur_Thermostat_remote CUL_HM 3F3FF106
attr Flur_Thermostat_remote model HM-TC-IT-WM-W-EU
attr Flur_Thermostat_remote room hidden
attr Flur_Thermostat_remote peerIDs 00000000,
define Flur_Thermostat_SwitchTr CUL_HM 3F3FF107
attr Flur_Thermostat_SwitchTr model HM-TC-IT-WM-W-EU
attr Flur_Thermostat_SwitchTr room Flur
attr Flur_Thermostat_SwitchTr peerIDs 00000000,3E6D6501
# Schlafzimmer
define Schlafzimmer_Thermostat CUL_HM 3F3FA7
attr Schlafzimmer_Thermostat IODev HMUSB
attr Schlafzimmer_Thermostat IOgrp vCCU:HMUSB
attr Schlafzimmer_Thermostat actCycle 000:10
attr Schlafzimmer_Thermostat actStatus alive
attr Schlafzimmer_Thermostat autoReadReg 4_reqStatus
attr Schlafzimmer_Thermostat expert 2_full
attr Schlafzimmer_Thermostat firmware 1.3
attr Schlafzimmer_Thermostat model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat msgRepeat 1
attr Schlafzimmer_Thermostat room Schlafzimmer
attr Schlafzimmer_Thermostat serialNr MEQ0863858
attr Schlafzimmer_Thermostat subType thermostat
attr Schlafzimmer_Thermostat webCmd getConfig:clear msgEvents
define Schlafzimmer_Thermostat_Weather CUL_HM 3F3FA701
attr Schlafzimmer_Thermostat_Weather model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat_Weather room Schlafzimmer
attr Schlafzimmer_Thermostat_Weather peerIDs
define Schlafzimmer_Thermostat_Climate CUL_HM 3F3FA702
attr Schlafzimmer_Thermostat_Climate model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat_Climate room Schlafzimmer
attr Schlafzimmer_Thermostat_Climate peerIDs 00000000,
define Schlafzimmer_Thermostat_WindowRec CUL_HM 3F3FA703
attr Schlafzimmer_Thermostat_WindowRec model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat_WindowRec room hidden
attr Schlafzimmer_Thermostat_WindowRec peerIDs 00000000,
attr Schlafzimmer_Thermostat_WindowRec stateFormat last:trigLast
define Schlafzimmer_Thermostat_remote CUL_HM 3F3FA706
attr Schlafzimmer_Thermostat_remote model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat_remote room hidden
attr Schlafzimmer_Thermostat_remote peerIDs 00000000,
define Schlafzimmer_Thermostat_SwitchTr CUL_HM 3F3FA707
attr Schlafzimmer_Thermostat_SwitchTr model HM-TC-IT-WM-W-EU
attr Schlafzimmer_Thermostat_SwitchTr room Schlafzimmer
attr Schlafzimmer_Thermostat_SwitchTr peerIDs 00000000,3E6D6502
# Wohnzimmer
define Wohnzimmer_Thermostat CUL_HM 3F3FFA
attr Wohnzimmer_Thermostat IODev HMUSB
attr Wohnzimmer_Thermostat IOgrp vCCU:HMUSB
attr Wohnzimmer_Thermostat actCycle 000:10
attr Wohnzimmer_Thermostat actStatus alive
attr Wohnzimmer_Thermostat autoReadReg 4_reqStatus
attr Wohnzimmer_Thermostat expert 2_full
attr Wohnzimmer_Thermostat firmware 1.3
attr Wohnzimmer_Thermostat model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat msgRepeat 1
attr Wohnzimmer_Thermostat room Wohnzimmer
attr Wohnzimmer_Thermostat serialNr MEQ0863711
attr Wohnzimmer_Thermostat subType thermostat
attr Wohnzimmer_Thermostat webCmd getConfig:clear msgEvents
define Wohnzimmer_Thermostat_Weather CUL_HM 3F3FFA01
attr Wohnzimmer_Thermostat_Weather model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat_Weather room Wohnzimmer
attr Wohnzimmer_Thermostat_Weather peerIDs
define Wohnzimmer_Thermostat_Climate CUL_HM 3F3FFA02
attr Wohnzimmer_Thermostat_Climate model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat_Climate room Wohnzimmer
attr Wohnzimmer_Thermostat_Climate peerIDs 00000000,
define Wohnzimmer_Thermostat_WindowRec CUL_HM 3F3FFA03
attr Wohnzimmer_Thermostat_WindowRec model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat_WindowRec room hidden
attr Wohnzimmer_Thermostat_WindowRec peerIDs 00000000,
attr Wohnzimmer_Thermostat_WindowRec stateFormat last:trigLast
define Wohnzimmer_Thermostat_remote CUL_HM 3F3FFA06
attr Wohnzimmer_Thermostat_remote model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat_remote room hidden
attr Wohnzimmer_Thermostat_remote peerIDs 00000000,
define Wohnzimmer_Thermostat_SwitchTr CUL_HM 3F3FFA07
attr Wohnzimmer_Thermostat_SwitchTr model HM-TC-IT-WM-W-EU
attr Wohnzimmer_Thermostat_SwitchTr room Wohnzimmer
attr Wohnzimmer_Thermostat_SwitchTr peerIDs 00000000,3E6F1F03
## Module im Heizungsverteiler
define Kammer_Hutschienenaktor1 CUL_HM 3E6D65
attr Kammer_Hutschienenaktor1 IODev HMUSB
attr Kammer_Hutschienenaktor1 IOgrp vCCU:HMUSB
attr Kammer_Hutschienenaktor1 autoReadReg 4_reqStatus
attr Kammer_Hutschienenaktor1 expert 2_raw
attr Kammer_Hutschienenaktor1 firmware 2.8
attr Kammer_Hutschienenaktor1 model HM-LC-SW4-DR
attr Kammer_Hutschienenaktor1 room Kammer
attr Kammer_Hutschienenaktor1 serialNr MEQ1005296
attr Kammer_Hutschienenaktor1 subType switch
attr Kammer_Hutschienenaktor1 webCmd getConfig:clear msgEvents
define Kammer_Hutschienenaktor2 CUL_HM 3E6F1F
attr Kammer_Hutschienenaktor2 IODev HMUSB
attr Kammer_Hutschienenaktor2 IOgrp vCCU:HMUSB
attr Kammer_Hutschienenaktor2 autoReadReg 4_reqStatus
attr Kammer_Hutschienenaktor2 expert 2_raw
attr Kammer_Hutschienenaktor2 firmware 2.8
attr Kammer_Hutschienenaktor2 model HM-LC-SW4-DR
attr Kammer_Hutschienenaktor2 room Kammer
attr Kammer_Hutschienenaktor2 serialNr MEQ1005731
attr Kammer_Hutschienenaktor2 subType switch
attr Kammer_Hutschienenaktor2 webCmd getConfig:clear msgEvents
## Stellmotoren / Kanäle der Switch-Module
define Badezimmer_Heizung CUL_HM 3E6D6503
attr Badezimmer_Heizung model HM-LC-SW4-DR
attr Badezimmer_Heizung peerIDs 00000000,39B42D07
attr Badezimmer_Heizung room Kammer,Badezimmer
attr Badezimmer_Heizung webCmd statusRequest:toggle:on:off
define Buero_Heizung CUL_HM 3E6D6504
attr Buero_Heizung model HM-LC-SW4-DR
attr Buero_Heizung peerIDs 00000000,3F400A07
attr Buero_Heizung room Kammer,Büro
attr Buero_Heizung webCmd statusRequest:toggle:on:off
define Flur_Heizung CUL_HM 3E6D6501
attr Flur_Heizung model HM-LC-SW4-DR
attr Flur_Heizung peerIDs 00000000,3F3FF107
attr Flur_Heizung room Kammer,Flur
attr Flur_Heizung webCmd statusRequest:toggle:on:off
define Schlafzimmer_Heizung CUL_HM 3E6D6502
attr Schlafzimmer_Heizung model HM-LC-SW4-DR
attr Schlafzimmer_Heizung peerIDs 00000000,3F3FA707
attr Schlafzimmer_Heizung room Kammer,Schlafzimmer
attr Schlafzimmer_Heizung webCmd statusRequest:toggle:on:off
define Wohnzimmer_Heizung CUL_HM 3E6F1F03
attr Wohnzimmer_Heizung model HM-LC-SW4-DR
attr Wohnzimmer_Heizung peerIDs 00000000,3F3FFA07
attr Wohnzimmer_Heizung room Kammer,Wohnzimmer
attr Wohnzimmer_Heizung webCmd statusRequest:toggle:on:off
# Kanaäe 3E6F1F01, 3E6F1F02 und 3E6F1F04 sind ungenutzt
define Unused1_Heizung CUL_HM 3E6F1F01
attr Unused1_Heizung model HM-LC-SW4-DR
attr Unused1_Heizung peerIDs 00000000,
attr Unused1_Heizung room hidden
attr Unused1_Heizung webCmd statusRequest:toggle:on:off
define Unused2_Heizung CUL_HM 3E6F1F02
attr Unused2_Heizung model HM-LC-SW4-DR
attr Unused2_Heizung peerIDs 00000000,
attr Unused2_Heizung room hidden
attr Unused2_Heizung webCmd statusRequest:toggle:on:off
define Unused4_Heizung CUL_HM 3E6F1F04
attr Unused4_Heizung model HM-LC-SW4-DR
attr Unused4_Heizung peerIDs 00000000,
attr Unused4_Heizung room hidden
attr Unused4_Heizung webCmd statusRequest:toggle:on:off
## Ventilschutz
define Job_Heizung_Ventilschutz at *23:45 { \
fhem("set Badezimmer_Heizung inhibit on ;; set Badezimmer_Heizung getConfig ;; sleep 300 ;; set Badezimmer_Heizung on ;; sleep 300 ;; set Badezimmer_Heizung inhibit off");; \
fhem("set Buero_Heizung inhibit on ;; set Buero_Heizung getConfig ;; sleep 300 ;; set Buero_Heizung on ;; sleep 300 ;; set Buero_Heizung inhibit off");; \
fhem("set Flur_Heizung inhibit on ;; set Flur_Heizung getConfig ;; sleep 300 ;; set Flur_Heizung on ;; sleep 300 ;; set Flur_Heizung inhibit off");; \
fhem("set Schlafzimmer_Heizung inhibit on ;; set Schlafzimmer_Heizung getConfig ;; sleep 300 ;; set Schlafzimmer_Heizung on ;; sleep 300 ;; set Schlafzimmer_Heizung inhibit off");; \
fhem("set Wohnzimmer_Heizung inhibit on ;; set Wohnzimmer_Heizung getConfig ;; sleep 300 ;; set Wohnzimmer_Heizung on ;; sleep 300 ;; set Wohnzimmer_Heizung inhibit off");; \
}
attr Job_Heizung_Ventilschutz room Kammer
## Logfiles
define Badezimmer_Heizung_FileLog FileLog ./log/Badezimmer_Heizung.log (Badezimmer_Thermostat.*|Badezimmer_Heizung.*)
attr Badezimmer_Heizung_FileLog logtype text
attr Badezimmer_Heizung_FileLog room Logfiles
define Buero_Heizung_FileLog FileLog ./log/Buero_Heizung.log (Buero_Thermostat.*|Buero_Heizung.*)
attr Buero_Heizung_FileLog logtype text
attr Buero_Heizung_FileLog room Logfiles
define Flur_Heizung_FileLog FileLog ./log/Flur_Heizung.log (Flur_Thermostat.*|Flur_Heizung.*)
attr Flur_Heizung_FileLog logtype text
attr Flur_Heizung_FileLog room Logfiles
define Schlafzimmer_Heizung_FileLog FileLog ./log/Schlafzimmer_Heizung.log (Schlafzimmer_Thermostat.*|Schlafzimmer_Heizung.*)
attr Schlafzimmer_Heizung_FileLog logtype text
attr Schlafzimmer_Heizung_FileLog room Logfiles
define Wohnzimmer_Heizung_FileLog FileLog ./log/Wohnzimmer_Heizung.log (Wohnzimmer_Thermostat.*|Wohnzimmer_Heizung.*)
attr Wohnzimmer_Heizung_FileLog logtype text
attr Wohnzimmer_Heizung_FileLog room Logfiles
define Kammer_Hutschienenaktor_FileLog FileLog ./log/Kammer_Hutschienenaktor.log Kammer_Hutschienenaktor.*
attr Kammer_Hutschienenaktor_FileLog logtype text
attr Kammer_Hutschienenaktor_FileLog room Logfiles
## Plots
define Badezimmer_Heizung_Plot SVG Badezimmer_Heizung_FileLog:Badezimmer_Heizung:CURRENT
attr Badezimmer_Heizung_Plot label "Badezimmer - Heizung"
attr Badezimmer_Heizung_Plot room Badezimmer
define Buero_Heizung_Plot SVG Buero_Heizung_FileLog:Buero_Heizung:CURRENT
attr Buero_Heizung_Plot label "Büro - Heizung"
attr Buero_Heizung_Plot room Büro
define Flur_Heizung_Plot SVG Flur_Heizung_FileLog:Flur_Heizung:CURRENT
attr Flur_Heizung_Plot label "Flur - Heizung"
attr Flur_Heizung_Plot room Flur
define Schlafzimmer_Heizung_Plot SVG Schlafzimmer_Heizung_FileLog:Schlafzimmer_Heizung:CURRENT
attr Schlafzimmer_Heizung_Plot label "Schlafzimmer - Heizung"
attr Schlafzimmer_Heizung_Plot room Schlafzimmer
define Wohnzimmer_Heizung_Plot SVG Wohnzimmer_Heizung_FileLog:Wohnzimmer_Heizung:CURRENT
attr Wohnzimmer_Heizung_Plot label "Wohnzimmer - Heizung"
attr Wohnzimmer_Heizung_Plot room Wohnzimmer
Ok habe es noch mal an dem anderen Aktor mit gepeertem Thermostat getestet. Es dauert wirklich 3 sec bis der Trigger verarbeitet wird.
Aber trotzdem, bei mir läuft es wie erwartet:
2017-08-16 10:38:21 CUL_HM HzgAzGaube trigLast: SensorR1_SwitchTr:0
2017-08-16 10:38:21 CUL_HM HzgAzGaube trig_SensorR1_SwitchTr: 0_225
2017-08-16 10:38:24 CUL_HM HzgAzGaube deviceMsg: off (to broadcast)
2017-08-16 10:38:24 CUL_HM HzgAzGaube level: 0
2017-08-16 10:38:24 CUL_HM HzgAzGaube pct: 0
2017-08-16 10:38:24 CUL_HM HzgAzGaube off
2017-08-16 10:38:24 CUL_HM HzgAzGaube timedOn: off
2017-08-16 10:38:52 CUL_HM HzgAzGaube inhibit: set_on
2017-08-16 10:38:52 CUL_HM HzgAzGaube set_inhibit on
2017-08-16 10:38:53 CUL_HM HzgAzGaube deviceMsg: off (to VCCU)
2017-08-16 10:38:53 CUL_HM HzgAzGaube level: 0
2017-08-16 10:38:53 CUL_HM HzgAzGaube pct: 0
2017-08-16 10:38:53 CUL_HM HzgAzGaube off
2017-08-16 10:38:53 CUL_HM HzgAzGaube timedOn: off
2017-08-16 10:38:56 CUL_HM HzgAzGaube set_on
2017-08-16 10:38:56 CUL_HM HzgAzGaube deviceMsg: on (to VCCU)
2017-08-16 10:38:56 CUL_HM HzgAzGaube level: 100
2017-08-16 10:38:56 CUL_HM HzgAzGaube pct: 100
2017-08-16 10:38:56 CUL_HM HzgAzGaube on
2017-08-16 10:38:56 CUL_HM HzgAzGaube timedOn: off
2017-08-16 10:42:21 CUL_HM HzgAzGaube trigLast: SensorR1_SwitchTr:0
2017-08-16 10:42:21 CUL_HM HzgAzGaube trig_SensorR1_SwitchTr: 0_226
2017-08-16 10:43:08 CUL_HM HzgAzGaube inhibit: set_off
2017-08-16 10:43:08 CUL_HM HzgAzGaube set_inhibit off
2017-08-16 10:43:08 CUL_HM HzgAzGaube deviceMsg: on (to VCCU)
2017-08-16 10:43:08 CUL_HM HzgAzGaube level: 100
2017-08-16 10:43:08 CUL_HM HzgAzGaube pct: 100
2017-08-16 10:43:08 CUL_HM HzgAzGaube on
2017-08-16 10:43:08 CUL_HM HzgAzGaube timedOn: off
2017-08-16 10:46:21 CUL_HM HzgAzGaube trigLast: SensorR1_SwitchTr:0
2017-08-16 10:46:21 CUL_HM HzgAzGaube trig_SensorR1_SwitchTr: 0_227
2017-08-16 10:46:25 CUL_HM HzgAzGaube deviceMsg: off (to broadcast)
2017-08-16 10:46:25 CUL_HM HzgAzGaube level: 0
2017-08-16 10:46:25 CUL_HM HzgAzGaube pct: 0
2017-08-16 10:46:25 CUL_HM HzgAzGaube off
2017-08-16 10:46:25 CUL_HM HzgAzGaube timedOn: off
Der Trigger 226 wird nicht verarbeitet, erst wieder 227 nach dem inhibit off.
Gibt es eine Variante den Thermostaten mit einer Art "überschreibe inhibit" zu programmieren?
Welche register hast Du für den Thermostaten gesetzt?
Gruß Otto
Ob man ein inhibit-Überschreiben programmieren kann, ist mir nicht bekannt.
Außer (neben dem Peering per set Wohnzimmer_Thermostat_SwitchTr peerChan 0 Wohnzimmer_Heizung single set) die Soll-Temperaturen und die Hysterese im Thermometer zu definieren, habe ich nur im Switch regSet shCtOn ltLo Wohnzimmer_Thermostat_SwitchTr gesetzt.
get Wohnzimmer_Thermostat reg all
Wohnzimmer_Thermostat type:thermostat -
list:peer register :value
0: btnLock :off
0: burstRx :on
0: cyclicInfoMsg :on
0: cyclicInfoMsgDis :0
0: globalBtnLock :off
0: localResDis :off
0: lowBatLimitRT :2.2 V
0: modusBtnLock :off
0: pairCentral :0x203317
get Wohnzimmer_Thermostat_Climate reg all
Wohnzimmer_Thermostat_Climate type:thermostat -
list:peer register :value
1: sign :off
7: boostPeriod :5 min
7: dayTemp :21 C
7: daylightSaveTime :on
7: heatCool :heating
7: modePrioManu :all
7: modePrioParty :all
7: nightTemp :17 C
7: noMinMax4Manu :off
7: sendWeatherData :on
7: showHumidity :temp
7: showInfo :time
7: showSetTemp :actTemp
7: showWeekday :off
7: tempMax :30.5 C
7: tempMin :4.5 C
7: tempOffset :0.0K
7: weekPrgSel :prog2
7: winOpnBoost :off
Temp set P1_: 0_Sat 09:00 19.5 C
Temp set P1_: 0_Sat 11:00 20.0 C
Temp set P1_: 0_Sat 24:00 22.0 C
Temp set P1_: 1_Sun 09:00 19.5 C
Temp set P1_: 1_Sun 11:00 20.0 C
Temp set P1_: 1_Sun 24:00 22.0 C
Temp set P1_: 2_Mon 06:00 19.5 C
Temp set P1_: 2_Mon 08:00 20.0 C
Temp set P1_: 2_Mon 17:00 19.5 C
Temp set P1_: 2_Mon 24:00 22.0 C
Temp set P1_: 3_Tue 06:00 19.5 C
Temp set P1_: 3_Tue 08:00 20.0 C
Temp set P1_: 3_Tue 17:00 19.5 C
Temp set P1_: 3_Tue 24:00 22.0 C
Temp set P1_: 4_Wed 06:00 19.5 C
Temp set P1_: 4_Wed 08:00 20.0 C
Temp set P1_: 4_Wed 17:00 19.5 C
Temp set P1_: 4_Wed 24:00 22.0 C
Temp set P1_: 5_Thu 06:00 19.5 C
Temp set P1_: 5_Thu 08:00 20.0 C
Temp set P1_: 5_Thu 17:00 19.5 C
Temp set P1_: 5_Thu 24:00 22.0 C
Temp set P1_: 6_Fri 06:00 19.5 C
Temp set P1_: 6_Fri 08:00 20.0 C
Temp set P1_: 6_Fri 17:00 19.5 C
Temp set P1_: 6_Fri 24:00 22.0 C
Temp set P2_: 0_Sat 24:00 19.0 C
Temp set P2_: 1_Sun 24:00 19.0 C
Temp set P2_: 2_Mon 24:00 19.0 C
Temp set P2_: 3_Tue 24:00 19.0 C
Temp set P2_: 4_Wed 24:00 19.0 C
Temp set P2_: 5_Thu 24:00 19.0 C
Temp set P2_: 6_Fri 24:00 19.0 C
get Wohnzimmer_Thermostat_SwitchTr reg all
Wohnzimmer_Thermostat_SwitchTr type:thermostat -
list:peer register :value
1: sign :off
7:Wohnzimmer_Heizung hyst2pointRead :0.4 C
get Wohnzimmer_Thermostat_Weather reg all
Wohnzimmer_Thermostat_Weather type:thermostat -
list:peer register :value
1: sign :off
get Wohnzimmer_Heizung reg all
Wohnzimmer_Heizung type:switch -
list:peer register :value
1: powerUpAction :off
1: sign :off
1: statusInfoMinDly :2 s
1: statusInfoRandom :1 s
1: transmitTryMax :6
3:Wohnzimmer_Thermostat_SwitchTr lgActionType :jmpToTarget
3:Wohnzimmer_Thermostat_SwitchTr lgCtDlyOff :geLo
3:Wohnzimmer_Thermostat_SwitchTr lgCtDlyOn :geLo
3:Wohnzimmer_Thermostat_SwitchTr lgCtOff :geLo
3:Wohnzimmer_Thermostat_SwitchTr lgCtOn :geLo
3:Wohnzimmer_Thermostat_SwitchTr lgCtValHi :100
3:Wohnzimmer_Thermostat_SwitchTr lgCtValLo :50
3:Wohnzimmer_Thermostat_SwitchTr lgMultiExec :on
3:Wohnzimmer_Thermostat_SwitchTr lgOffDly :0 s
3:Wohnzimmer_Thermostat_SwitchTr lgOffTime :unused
3:Wohnzimmer_Thermostat_SwitchTr lgOffTimeMode :absolut
3:Wohnzimmer_Thermostat_SwitchTr lgOnDly :0 s
3:Wohnzimmer_Thermostat_SwitchTr lgOnTime :unused
3:Wohnzimmer_Thermostat_SwitchTr lgOnTimeMode :absolut
3:Wohnzimmer_Thermostat_SwitchTr lgSwJtDlyOff :off
3:Wohnzimmer_Thermostat_SwitchTr lgSwJtDlyOn :on
3:Wohnzimmer_Thermostat_SwitchTr lgSwJtOff :dlyOn
3:Wohnzimmer_Thermostat_SwitchTr lgSwJtOn :dlyOff
3:Wohnzimmer_Thermostat_SwitchTr shActionType :jmpToTarget
3:Wohnzimmer_Thermostat_SwitchTr shCtDlyOff :geLo
3:Wohnzimmer_Thermostat_SwitchTr shCtDlyOn :geLo
3:Wohnzimmer_Thermostat_SwitchTr shCtOff :geLo
3:Wohnzimmer_Thermostat_SwitchTr shCtOn :ltLo
3:Wohnzimmer_Thermostat_SwitchTr shCtValHi :100
3:Wohnzimmer_Thermostat_SwitchTr shCtValLo :50
3:Wohnzimmer_Thermostat_SwitchTr shMultiExec :off
3:Wohnzimmer_Thermostat_SwitchTr shOffDly :0 s
3:Wohnzimmer_Thermostat_SwitchTr shOffTime :unused
3:Wohnzimmer_Thermostat_SwitchTr shOffTimeMode :absolut
3:Wohnzimmer_Thermostat_SwitchTr shOnDly :0 s
3:Wohnzimmer_Thermostat_SwitchTr shOnTime :unused
3:Wohnzimmer_Thermostat_SwitchTr shOnTimeMode :absolut
3:Wohnzimmer_Thermostat_SwitchTr shSwJtDlyOff :off
3:Wohnzimmer_Thermostat_SwitchTr shSwJtDlyOn :on
3:Wohnzimmer_Thermostat_SwitchTr shSwJtOff :dlyOn
3:Wohnzimmer_Thermostat_SwitchTr shSwJtOn :dlyOff
Kein Unterschied zu meinen Registern :-X
Keine Ahnung, da weiß ich jetzt auch nichts mehr weiter. Vielleicht hat jemand anderes noch eine Idee.
Tut mir leid, viel Erfolg noch
Notfalls der Workaround und inhibit an anderer Stelle nochmal testen
Otto
Mal zusammengefasst... Weil ich nicht alles gelesen habe:
Du setzt inhibit manuell. Dann probierst du und der Aktor lässt sich nur noch von fhem aus setzen. direkt gepeerten Sensoren und Buttons gehen nicht mehr.
Nun machst du alles per script, notify oder Timer und es klappt nicht.
Korrekt verstanden?
Schon einmal gesnifften was beim Inhibition passiert?
Nein, egal ob ich inhibit manuell oder per at-Job setze... das Thermostat setzt sich durch und schaltet so, wie es es für richtig hält.
Gesnifft habe ich noch nicht, muss morgen mal gucken, wie das noch mal ging.
Hier das ganze mal gesnifft:
2017.08.21 09:01:37.160 0: HMLAN_Send: HMUSB S:S0398C666 stat: 00 t:00000000 d:01 r:0398C666 m:E0 A011 203317 3E6F1F 0103
2017.08.21 09:01:37.381 0: HMLAN_Parse: HMUSB R:R0398C666 stat:0001 t:82F02F22 d:FF r:FFCB m:E0 8002 3E6F1F 203317 0103000039
2017.08.21 09:01:43.782 0: HMLAN_Send: HMUSB S:S0398E044 stat: 00 t:00000000 d:01 r:0398E044 m:E1 A011 203317 3E6F1F 0203C80000
2017.08.21 09:01:44.005 0: HMLAN_Parse: HMUSB R:R0398E044 stat:0001 t:82F04902 d:FF r:FFCF m:E1 8002 3E6F1F 203317 0103C80039
2017.08.21 09:01:58.149 0: HMLAN_Parse: HMUSB R:E3F3FFA stat:0000 t:82F0803D d:FF r:FFC7 m:20 865A 3F3FFA 000000 98F530
2017.08.21 09:02:13.254 0: HMLAN_Parse: HMUSB R:E3F3FFA stat:0000 t:82F0BB42 d:FF r:FFC8 m:61 8041 3F3FFA 3E6F1F 07BA0080
2017.08.21 09:02:16.038 0: HMLAN_Parse: HMUSB R:E3E6F1F stat:0000 t:82F0C636 d:FF r:FFCB m:E2 A410 3E6F1F 203317 06030000
2017.08.21 09:02:18.150 0: HMLAN_Parse: HMUSB R:E3F3FFA stat:0000 t:82F0CE5D d:FF r:FFC7 m:20 8470 3F3FFA 000000 00F530
Wobei die Aktionen wie folgt waren:
09:01:37 - im Webinterface ein set Wohnzimmer_Heizung inhibit on abgesetzt.
09:01:43 - im Webinterface ein set Wohnzimmer_Heizung on abgesetzt, Aktor schaltet ein, Soll-Temperatur ist deutlich überschritten. Das inhibit on sollte nun ja eigentlich verhindert, dass das Thermostat den Aktor ausschalten kann
09:01:58 - das Thermostat meldet Klima-Daten
09:02:13 - das Thermostat sendet seinen Wunsch-Schaltzustand (off)
09:02:16 - der Aktor vermeldet, dass er sich wunschgemäß ausgeschaltet hat
2017-08-21_09:01:37 Wohnzimmer_Heizung inhibit: set_on
2017-08-21_09:01:37 Wohnzimmer_Heizung set_inhibit on
2017-08-21_09:01:37 Wohnzimmer_Heizung deviceMsg: off (to vCCU)
2017-08-21_09:01:37 Wohnzimmer_Heizung level: 0
2017-08-21_09:01:37 Wohnzimmer_Heizung pct: 0
2017-08-21_09:01:37 Wohnzimmer_Heizung off
2017-08-21_09:01:37 Wohnzimmer_Heizung timedOn: off
2017-08-21_09:01:43 Wohnzimmer_Heizung set_on
2017-08-21_09:01:44 Wohnzimmer_Heizung deviceMsg: on (to vCCU)
2017-08-21_09:01:44 Wohnzimmer_Heizung level: 100
2017-08-21_09:01:44 Wohnzimmer_Heizung pct: 100
2017-08-21_09:01:44 Wohnzimmer_Heizung on
2017-08-21_09:01:44 Wohnzimmer_Heizung timedOn: off
2017-08-21_09:01:58 Wohnzimmer_Thermostat_Climate desired-temp: 19.0
2017-08-21_09:01:58 Wohnzimmer_Thermostat_Climate humidity: 48
2017-08-21_09:01:58 Wohnzimmer_Thermostat_Climate measured-temp: 24.5
2017-08-21_09:01:58 Wohnzimmer_Thermostat_Climate T: 24.5 desired: 19.0
2017-08-21_09:02:13 Wohnzimmer_Heizung trigLast: Wohnzimmer_Thermostat_SwitchTr:0
2017-08-21_09:02:13 Wohnzimmer_Heizung trig_Wohnzimmer_Thermostat_SwitchTr: 0_186
2017-08-21_09:02:13 Wohnzimmer_Thermostat_SwitchTr level: 0
2017-08-21_09:02:13 Wohnzimmer_Thermostat_SwitchTr trigger_cnt: 186
2017-08-21_09:02:16 Wohnzimmer_Heizung deviceMsg: off (to vCCU)
2017-08-21_09:02:16 Wohnzimmer_Heizung level: 0
2017-08-21_09:02:16 Wohnzimmer_Heizung pct: 0
2017-08-21_09:02:16 Wohnzimmer_Heizung off
2017-08-21_09:02:16 Wohnzimmer_Heizung timedOn: off
Nachtrag: Wenn ich 5 Minuten später die Aktion wiederhole (inhibit on, on), scheint es zu funktionieren - der SwitchTr-Wunsch wird ignoriert. Ob das jetzt allerdings immer reproduzierbar ist, ist eine andere Frage. Kann es sein, dass das set ... inhibit on noch Optimierungspotential hat bzw. da irgendwas nicht stimmt?
Hatte das auch mal.
Siehe https://forum.fhem.de/index.php/topic,68842.msg613909.html#msg613909 (https://forum.fhem.de/index.php/topic,68842.msg613909.html#msg613909)
Gruß networker
Zitat von: networker am 21 August 2017, 10:29:24
09:01:43 - im Webinterface ein set Wohnzimmer_Heizung on abgesetzt, Aktor schaltet ein, Soll-Temperatur ist deutlich überschritten. Das inhibit on sollte nun ja eigentlich verhindert, dass das Thermostat den Aktor ausschalten kann
Inhibit sperrt aber doch nur den mechanischen Schalter und nicht die Kommandos über die web Oberfläche
https://forum.fhem.de/index.php/topic,25300.msg183014.html#msg183014 (https://forum.fhem.de/index.php/topic,25300.msg183014.html#msg183014)
Da sagt die CommandRef aber etwas anderes:
Zitatinhibit [on|off]
Blockieren/Zulassen aller Kanaländerungen eines Aktors, d.h. Zustand des Aktors ist eingefroren bis 'inhibit' wieder deaktiviert wird. 'Inhibit' kann für jeden Aktorkanal ausgeführt werden aber natürlich nicht für Sensoren - würde auch keinen Sinn machen.
Damit ist es praktischerweise möglich Nachrichten ebenso wie verknüpfte Kanalaktionen temporär zu unterdrücken ohne sie löschen zu müssen.
Es hat beim zweiten mal ja auch funktioniert und bei anderen Aktoren scheint es bei anderen Usern auch zu funktionieren.
redet ihr gerade aneinander vorbei?
inhibit on lässt nur noch Befehle der Zentrale zu. Alle Änderungen über gepeerte Geräte werden verhindert.
Der lokale "mechanische Schalter" ist auch nur ein Peer.
derHeimwerker schrieb "nur mechanische Schalter werden gesperrt". Ich bin da bei dir, alles außer direkten Befehlen von der Zentrale wird ignoriert.