NEWS
[GELÖST] HM-Thermostat Xiaomi Fensterkontakt
-
Hallo,
ich habe meine Max-Thermostate durch HM-CC-RT-DN Thermostate ersetzt und die Max-Fensterkontakte durch welche von Xiaomi.
Die Xiaomi-Fensterkontakte sind eingebunden und funktionieren einwandfrei.
Dann bin ich hingegangen und habe in CUXD ein Device angelegt, welches per ioBroker zuverlässig bestückt wird, sprich im Homematic WebUI sehe ich sobald ein Fenster geöffnet wird.
Was mir jetzt noch irgendwie fehlt und wo ich nicht wirklich etwas zu finde ist, wie ich nun den Thermostat auf 12 Grad runterregel, wenn ich das Fenster öffne, respektive, den Thermostat wieder auf die Auto-Einstellung zu setzen, wenn das Fenster geschlossen wird.
Habe es mittels Programm im HM-WebUI versucht, nur passiert nix, wenn ich das Fenster öffne.
Hoffe ihr könnt mir weiterhelfen das Problem zu lösen
EDIT: Hier mal das Programm
-
@Allodo sagte :
wie ich nun den Thermostat auf 12 Grad runterregel, wenn ich das Fenster öffne, respektive, den Thermostat wieder auf die Auto-Einstellung zu setzen, wenn das Fenster geschlossen wird.
// Fenster öffnet setState(idManu, 12); // MANU_MODE // Fenster schließt setState(idAuto, true); // AUTO_MODE
-
-
Wow, das ging echt schnell
@paul53
Das heißt, im Grunde genommen brauche ich die Datenpunkte per CUXD im HM-WebUI gar nicht?Coole Lösung
Probiere ich gleich mal aus, wenn ich zu Hause bin! -
@Allodo sagte:
brauche ich die Datenpunkte per CUXD im HM-WebUI gar nicht?
Damit macht man auch nichts anderes.
Evtl. muss man sich den Auto-Sollwert in einer Variablen merken und nach Rückschaltung in Auto wieder setzen. Das wäre zu testen.
-
Das mit den Datenpunkten in CUXD funktioniert ja, wie schon geschrieben.
Ich scheitere aber an der Programmierung im Homematic-WebUI bzw. dass dieser dann regelt.
Von meinem Verständnis her sollte es so eigentlich richtig sein, funktioniert nur nicht -
@Allodo sagte:
Von meinem Verständnis her sollte es so eigentlich richtig sein, funktioniert nur nicht
Mit "sofort Soll-Temperatur auf 12 °C" bleibt der Thermostat im Auto-Modus und das "sofort Auto-Modus" bewirkt keine Änderung des Sollwertes; er bleibt bis zum nächsten Schaltpunkt auf 12 °C.
-
@paul53
DANKE!!!Super, es läuft und das sogar viel schneller als mit dem Max-Thermostaten. Und die empfand ich schon als schnell.
In dem Moment, wo ich das Fenster öffne, schaltet der Thermostat auf 12 Grad und beim schließen umgehend wieder zurück.
Perfekt
-
-
Ach so, ich steuere die Temperatur direkt per Skript aus iobroker heraus. Die CUXD-Geräte habe ich gelöscht
Ich hatte die Temperatur der Thermostate bzw. deren Datenpunkte anfänglich nicht gesehen. Ich musste im HM-RPC direkt die Checkbox "Geräte neu einlesen" auswählen und dann waren sie da.
Nur eine Sache habe ich noch nicht zu 100% gelöst. Ich habe eine Gruppe von 2 Thermostaten und einem Wandthermostat. Wenn ich den Wandthermosat per Skript anspreche, passiert nix.
Ich musste also die beiden Thermostate einzeln ansprechen. Kann man das eleganter lösen?
-
@Allodo, @paul53 ich würde das Thema gern noch einmal aufgreifen. Ich habe das Selbe vor (HM-CC-RT-DN + Xiaomi Fenstersensoren)
ich habe das per Script versucht:
on({id: 'deconz.0.Sensors.30.open', change: "ne"}, function(obj) { if (obj.state.val == true) { setState('hm-rpc.0.MEQ0446772.4.SET_TEMPERATURE', 12, true); log('Fenster auf - Heizung aus'); } else if (obj.state.val == false) { setState('hm-rpc.0.MEQ0446772.4.SET_TEMPERATURE', 18, true); log('Fenster zu - Heizung an'); } });
Temperaturen werden gesetzt, kommt aber nichts beim Thermostat an.
Auch vorheriges Ändern in den MANU-Modus führte nicht zum Erfolg.Zum Testen hatte ich dann den HeatingControl-Adapter installiert und ein Raum eingerichtet.
Ergebnis: neue Temperatur werden im DP gesetzt beim öffnen des Kontaktes, kommt aber immer noch nichts beim Thermostat an.Für mich gibts grad nur 2 Schlüsse:
- ich stell mich grad unglaublich doof an und vergesse wo einen Hacken oder was auch immer
- es geht wirklich nicht
Da Andere jedoch nicht solch Probleme haben, wird es wohl Punkt eins meiner Schlüsse sein.
Hat wer einen Tipp?
-
@Lenny-CB sagte:
kommt aber nichts beim Thermostat an.
setState() ohne true oder mit false am Ende verwenden !
Besser MANU_MODE verwenden, da sonst die Sollwertänderung nur bis zum nächsten Schaltpunkt wirksam ist.
on({id: 'deconz.0.Sensors.30.open', change: "ne"}, function(obj) { if (obj.state.val == true) { setState('hm-rpc.0.MEQ0446772.4.MANU_MODE', 12); log('Fenster auf - Heizung aus'); } else { setState('hm-rpc.0.MEQ0446772.4.AUTO_MODE', true); log('Fenster zu - Heizung an'); } });
-
@paul53 sagte in [GELÖST] HM-Thermostat Xiaomi Fensterkontakt:
@Lenny-CB sagte:
kommt aber nichts beim Thermostat an.
setState() ohne true oder mit false am Ende verwenden !
Besser MANU_MODE verwenden, da sonst die Sollwertänderung nur bis zum nächsten Schaltpunkt wirksam ist.on({id: 'deconz.0.Sensors.30.open', change: "ne"}, function(obj) { if (obj.state.val == true) { setState('hm-rpc.0.MEQ0446772.4.MANU_MODE', 12); log('Fenster auf - Heizung aus'); } else { setState('hm-rpc.0.MEQ0446772.4.AUTO_MODE', true); log('Fenster zu - Heizung an'); } });
OK, versuche ich noch einmal. Hatte das Anfangs auch ohne true am Ende, da blieben die gesetzten States rot. Dachte, deshalb kommt am Thermostat nichts an da das "ack flag" nicht gesetzt ist. Deshalb hatte ich das so versucht, auch ohne Erfolg.
Deinen Script probiere ich heut Abend aus und meld mich. Vielen Dank vorab. -
@Lenny-CB sagte:
da blieben die gesetzten States rot.
MANU_MODE und AUTO_MODE bleiben immer rot, weil die Rückantwort auf CONTROL_MODE und SET_TEMPERATURE erfolgt.
-
@paul53 sagte in [GELÖST] HM-Thermostat Xiaomi Fensterkontakt:
@Lenny-CB sagte:
da blieben die gesetzten States rot.
MANU_MODE und AUTO_MODE bleiben immer rot, weil die Rückantwort auf CONTROL_MODE und SET_TEMPERATURE erfolgt.
ah, ok...
-
@paul53 sagte in [GELÖST] HM-Thermostat Xiaomi Fensterkontakt:
on({id: 'deconz.0.Sensors.30.open', change: "ne"}, function(obj) { if (obj.state.val == true) { setState('hm-rpc.0.MEQ0446772.4.MANU_MODE', 12); log('Fenster auf - Heizung aus'); } else { setState('hm-rpc.0.MEQ0446772.4.AUTO_MODE', true); log('Fenster zu - Heizung an'); } });
so grad versucht:
Ergebnisse- beim Öffnen des Fensters:
hm-rpc.0.MEQ0446772.4.MANU_MODE --> von 0C° auf 12°C (wie erwartet)
hm-rpc.0.MEQ0446772.4.AUTO_MODE --> bleibt bei false
am Thermostat selbst bleibt die aktuell eingestellte Temperatur stehen (grad im Absenk-Mode) - beim Schließen des Fensters:
hm-rpc.0.MEQ0446772.4.AUTO_MODE --> von false auf true (wie erwartet)
hm-rpc.0.MEQ0446772.4.MANU_MODE --> bleibt auf 12°C
am Thermostat selbst bleibt die aktuell eingestellte Temperatur stehen (grad im Absenk-Mode)
noch zur Übersicht die Objekte:
- beim Öffnen des Fensters:
-
@Lenny-CB sagte:
am Thermostat selbst bleibt die aktuell eingestellte Temperatur stehen (grad im Absenk-Mode)
Es kann bis zu 3 Minuten dauern, bis der Manu-Sollwert am Thermostaten übernommen wird.
@Lenny-CB sagte in [GELÖST] HM-Thermostat Xiaomi Fensterkontakt:
beim Schließen des Fensters:
hm-rpc.0.MEQ0446772.4.AUTO_MODE --> von false auf true (wie erwartet)
hm-rpc.0.MEQ0446772.4.MANU_MODE --> bleibt auf 12°CMANU_MODE ändert sich auch nicht (ist "write only"), sondern die Ergebnisse sieht man (mit Verzögerung) in CONTROL_MODE und SET_TEMPERATURE.
-
@paul53 sagte in [GELÖST] HM-Thermostat Xiaomi Fensterkontakt:
Es kann bis zu 3 Minuten dauern, bis der Manu-Sollwert am Thermostaten übernommen wird.
echt wohl? Da ist ja dann der ganze Effekt weg den diese Kontakt haben soll. --> mal eben schnell Lüften und dabei Heizung aus.
Gibt es da noch ne andere Lösung? Quasi der Ansatz von @Allodo das Ganze direkt in der CCU zu machen... -
@Lenny-CB sagte:
direkt in der CCU zu machen...
Das macht keinen Unterschied, denn es wird sofort an die CCU übertragen, aber nicht sofort von der CCU gesendet, wenn der Thermostat nicht wach ist. Wie ist die Konfiguration "Wake-on-Radio" im und die Firmware-Version des Thermostaten ?
-
Also bei mir passiert das Ganze nahezu in Echtzeit. Öffne ich ein Fenster, springt der Thermostat direkt auf 12 Grad, zurück in den Automodus ist auch fast in Echtzeit.
Das einzige Problem war tatsächlich mit der Gruppe (Wand-, Esszimmer- und Wohnzimmerthermostat). Da musste ich im Skript alle 3 schalten, obwohl ich davon ausgegangen wäre, dass es nur der Wandthermostat sein müsste.