NEWS
Hm.rpc - Modus (CENT, AUTO, MANU) bei (alten) HM-CC-TC Thermostaten setzen
-
Hallo,
ich bin gerade dabei meine "alt bewährte", noch auf der CCU2 laufende, Heizungssteuerung zu erweitern. Dabei bin ich auf ein altes Thema gestoßen, zudem ich hier leider noch nichts finden konnte.
Es geht darum, bei den alten HM-Thermostaten (HM-CC-TC) aus ioBroker heraus den Modus (AUTO, CENT, MANU) zu ändern.
Über die CCU sollte es mit Hilfe eines TCL-Scriptes gehen, wie hier beschrieben: https://homematic-forum.de/forum/viewtopic.php?t=5621.
Müsste das nicht aber auch aus ioBroker heraus möglich sein?
Kenn mich zwar in den Tiefen der CCU-Programmierung nicht so aus, aber wenn ich mir das Script betrachte, dann wird hier doch nur ein xmlrpc-Aufruf gesendet, oder? Theoretisch müsste dass doch sogar der hm.rpc hinbekommen. Hatte daher einen Datenpunkt ala "hm-rpc.0.IEQXXXXXXX.2.MODE_TEMPERATUR_REGULATOR" erwartet. Den gibt es aber natürlich nicht… Lässt sich das irgendwie erweitern?
Wenn der hm.rpc das nicht kann, kann ich das dann eventuell über ein Script lösen? Hat das vielleicht schon mal jemand gemacht?
Vielen Dank.
MfG,
André
-
Theoretisch müsste dass doch sogar der hm.rpc hinbekommen.
Nein, denn der hm-rpc-Adapter bildet nur VALUE-Parameter der RPC-Schnittstelle als Datenpunkte ab. Der Modus ist bei den alten Thermostaten jedoch ein MASTER-Parameter. Deshalb benötigt man auf der CCU auch ein TCL-Script.
-
@paul53
Mit sendTo('hm-rpc.N') kann man es auch per Javascript lösen.// Zentralen-Modus einstellen function setCentral(idRegler) { var ID = idRegler.split('.'); sendTo('hm-rpc.' + ID[1], 'putParamset', {ID: ID[2] + ':' + ID[3], paramType: 'MASTER', params: {'MODE_TEMPERATUR_REGULATOR': 2}}, res => { if(res.error) log(JSON.stringify(res.error), 'warn'); }); } setCentral(getIdByName('Wohnen.WT-Regler')); // Name von Kanal 2
EDIT: Erweitert auf beliebige Instanz von hm-rpc und Hinweis auf Kanal 2
-
Nabend zusammen,
ich habe ebenfalls noch zwei dieser "alten" Thermostate im Einsatz und bin sehr daran interessiert den Modus zu wechseln zwischen "manuell | Zentrale | Auto". Ich habe den Code ausprobiert doch leider ohne Erfolg.
Mein Thermostat ist aktuell im Auto-Modus und zu finden unter hm-rpc.1:
Den Code habe ich entsprechend angepasst:
// Zentralen-Modus einstellen function setCentral(idRegler) { var ID = idRegler.split('.'); ID = ID[2] + ':' + ID[3]; sendTo('hm-rpc.1', 'putParamset', {ID: ID, paramType: 'MASTER', params: {'MODE_TEMPERATUR_REGULATOR': 2}}, res => { if(res.error) log(JSON.stringify(res.error), 'warn'); }); } setCentral(getIdByName('Thermostat Wohnzimmer'));
Noch eine Idee?
-
-
hm-rpc.1.JEQ0020949
Ich denke, genau das was es soll.
-
@nukleuz sagte:
hm-rpc.1.JEQ0020949
Das ist die Geräte-ID. Es wird aber die Kanal-ID hm-rpc.1.JEQ0020949.2 benötigt.
-
@paul53 sagte in Hm.rpc - Modus (CENT, AUTO, MANU) bei (alten) HM-CC-TC Thermostaten setzen:
@nukleuz sagte:
hm-rpc.1.JEQ0020949
Das ist die Geräte-ID. Es wird aber die Kanal-ID hm-rpc.1.JEQ0020949.2 benötigt.
OK - hänge ich ein :2 an für den Kanal erhalte ich bei
log(getIdByName('Thermostat Wohnzimmer:2'));
hm-rpc.1.JEQ0020949.2
Passe ich entsprechend das Skript an und führe es aus(Start/Stop) erhält mein Thermostat leider nicht den Status...
-
@nukleuz sagte:
erhält mein Thermostat leider nicht den Status...
Lange genug gewartet, bis CONFIG_PENDING wieder auf false ging ?
-
Cool - das klappt jetzt - bin zu ungeduldig gewesen
Ist es richtig, dass
{'MODE_TEMPERATUR_REGULATOR': 2}
2 der Modus CENT ist?
0 = Auto
1 = ManuDanke für deinen Support!
-
So ist es
-
@nukleuz
Bei mir sind die Modi folgendermaßen definiert:0 = Manu 1 = Auto 2 = CENT
-
Danke, brauchte ich heute erst wieder