Rademacher Homepilot 1 oder 2 Modul

Hallo Philipp,

ich habe den Raumthermostat (zunächst nur mit der Solltemperatur) eingebaut.
Bitte die bereits angelegten Schaltaktor Knoten für deinen Raumthermostat löschen und dann neu synchronisieren!

Wenn möglich auch die API Funktion HP_SetPosition testen.
Die Sollwerttemperatur sollte mit einer Nachkommastelle angezeigt und auch vorgegeben werden.

Wenn das soweit funktioniert baue ich noch den Relaisstatus ein. Dazu wäre es hilfreich die Abfrage einmal mit eingeschaltetem und einmal mit ausgeschaltetem Relais zu haben.

Grüße
Bruno

Hallo Bruno,

soweit funktioniert alles. Die Sollwert-Temperatur sollte allerdings nur in 0,5 Grad Schritten einstellbar sein. Wenn Zwischenschritte verwendet werden, wird die richtige Solltemperatur im Thermostat selbst richtig angezeigt, aber es wird nicht mehr der richtige Wert im Sensor angezeigt (immer abgerundet auf den nächsten 0,5 Grad Schritt). Im Homepilot selbst kann die Solltemperatur ebenfalls nur in 0,5 Grad Schritten eingestellt werden.

Relaisstatus ein:

{"response" : "get_device", "status" : "ok", "device" : {"did":0000000,"name":"Temperatursensor Büro","description":"Temperatursensor Büro","initialized":1,"position":100,"productName":"DuoFern Raumthermostat","serial":"00 00 00","statusesMap":{"Position":0,"Manuellbetrieb":100},"status_changed":0,"deviceGroup":3,"iconSet":{"name":"Thermostat","description":"Thermostat Icon-Set","strMin":"An","strMax":"Aus","valMax":100,"valMin":0,"sprite":{ "imageUri" : "images/sets/thermostat-set.png", "numTiles" : 5 },"k":"iconset28"},"iconSetInverted":0,"paired":0,"statusValid":true,"uid":"7308D3_1_S","visible":true,"groups" : [  ] ,"favoredId":-1,"properties":{"rain":3,"smartphone":3,"motion":3,"dusk":3,"smoke":3,"favored":3,"trigger":3,"manual":3,"sun":3,"generic":3,"closingContact":3,"temperature":3,"temperator":3,"warning":3,"dawn":3,"time":3,"dust":3,"wind":3,"states":[{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setAutomationOverall","cfgId":99,"state":1},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setTimeAuto","cfgId":101,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0}]},"sortId":0,"sTypes":[100],"version":"1.0","sync":-2147462209,"messages":[],"hasErrors":0,"autos":[3,2]} }

Relaisstatus aus:

{"response" : "get_device", "status" : "ok", "device" : {"did":0000000,"name":"Temperatursensor Büro","description":"Temperatursensor Büro","initialized":1,"position":0,"productName":"DuoFern Raumthermostat","serial":"00 00 00","statusesMap":{"Position":0,"Manuellbetrieb":100},"status_changed":1502814241,"deviceGroup":3,"iconSet":{"name":"Thermostat","description":"Thermostat Icon-Set","strMin":"An","strMax":"Aus","valMax":100,"valMin":0,"sprite":{ "imageUri" : "images/sets/thermostat-set.png", "numTiles" : 5 },"k":"iconset28"},"iconSetInverted":0,"paired":0,"statusValid":true,"uid":"7308D3_1_S","visible":true,"groups" : [  ] ,"favoredId":-1,"properties":{"rain":3,"smartphone":3,"motion":3,"dusk":3,"smoke":3,"favored":3,"trigger":3,"manual":3,"sun":3,"generic":3,"closingContact":3,"temperature":3,"temperator":3,"warning":3,"dawn":3,"time":3,"dust":3,"wind":3,"states":[{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setAutomationOverall","cfgId":99,"state":1},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setTimeAuto","cfgId":101,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0}]},"sortId":0,"sTypes":[100],"version":"1.0","sync":-2147462216,"messages":[],"hasErrors":0,"autos":[3,2]} }

Es ist der Parameter „position“:100 für EIN oder „position“:0 für AUS der sich ändert.

Gruß Philipp

Hallo Philipp,

ich habe die Schrittweite bei der Sollwertvorgabe auf 0.5er Schritte gerundet. Auch das Anzeigeprofil wurde entsprechend angepasst.
Die Sache mit dem Relaisstatus kommt später …

Gruß
Bruno

Hallo Philipp,

Kann es sein das für ein Raumthermostat mehr als ein Knoten angelegt wird?
Die Abfragen, die du jetzt und weiter oben gepostet hast sehen unterschiedlich aus und haben als Gerätebezeichnung auch unterschiedliche Werte:
„DuoFern Raumthermostat“
„Schaltaktor DuoFern Raumthermostat“
Wer von den beiden ist den für das Relais zuständig und wer für den Sollwert?
Die Abfrage für den „Schaltaktor DuoFern Raumthermostat“ beinhaltet auch noch einen „relaisstatus“ und „Manuellbetrieb“ …??

Gruß
Bruno

Hallo Bruno,

du hast recht, das ist mir gar nicht aufgefallen.

Der „DuoFern Raumthermostat“ ist der Sensor. Der gibt den Relaisstatus über eine andere Abfrage ebenfalls über „position“:0 (AUS) oder „position“:100 (EIN) an.
Abfrage über http://homepilot.local/deviceajax.do?meter=0000002

{ "response" : "get_meter_data", "status" : "ok", "data":[{"Temperatur":"24.7 °C"},{"Aktueller Sollwert":"18.0 °C"},{"Aktualisiert":"16.08.17 - 18:45"}] }

Abfrage über http://homepilot.local/deviceajax.do?device=00000002

{"response" : "get_device", "status" : "ok", "device" : {"did":00000002,"name":"Temperatursensor Büro","description":"Temperatursensor Büro","initialized":1,"position":0,"productName":"DuoFern Raumthermostat","serial":"11 22 33","statusesMap":{"Position":0,"Manuellbetrieb":100},"status_changed":1502901952,"deviceGroup":3,"iconSet":{"name":"Thermostat","description":"Thermostat Icon-Set","strMin":"An","strMax":"Aus","valMax":100,"valMin":0,"sprite":{ "imageUri" : "images/sets/thermostat-set.png", "numTiles" : 5 },"k":"iconset28"},"iconSetInverted":0,"paired":0,"statusValid":true,"uid":"112233_1_S","visible":true,"groups" : [  ] ,"favoredId":-1,"properties":{"rain":3,"smartphone":3,"motion":3,"dusk":3,"smoke":3,"favored":3,"trigger":3,"manual":3,"sun":3,"generic":3,"closingContact":3,"temperature":3,"temperator":3,"warning":3,"dawn":3,"time":3,"dust":3,"wind":3,"states":[{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setAutomationOverall","cfgId":99,"state":1},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setTimeAuto","cfgId":101,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0}]},"sortId":0,"sTypes":[100],"version":"1.0","sync":-2147461322,"messages":[],"hasErrors":0,"autos":[3,2]} }

Der eigentliche Thermostat, der das Relais schaltet, ist der „Schaltaktor DuoFern Raumthermostat“. Hier wird der Relaisstatus über „relaisstatus“:0 (AUS) oder „relaisstatus“:100 (EIN) angegeben. Der Sollwert wird über diesen „Schaltaktor DuoFern Raumthermostat“ eingestellt.
Abfrage über http://homepilot.local/deviceajax.do?meter=0000001

{ "response" : "get_meter_data", "status" : "ok", "data":[] }

Abfrage über http://homepilot.local/deviceajax.do?device=0000001

{"response" : "get_device", "status" : "ok", "device" : {"did":0000001,"name":"Büro Heizung","description":"(Alexa) Raumthermostat Büro","initialized":1,"position":180,"productName":"Schaltaktor DuoFern Raumthermostat","serial":"11 22 33","statusesMap":{"Position":180,"Manuellbetrieb":100,"acttemperatur":247,"relaisstatus":0,"manualoverride":0,"automaticvalue":180},"status_changed":1502901940,"deviceGroup":5,"iconSet":{"name":"Thermostat","description":"Thermostat Icon-Set","strMin":"An","strMax":"Aus","valMax":100,"valMin":0,"sprite":{ "imageUri" : "images/sets/thermostat-set.png", "numTiles" : 5 },"k":"iconset28"},"iconSetInverted":0,"paired":0,"statusValid":true,"uid":"112233_1_A","visible":true,"groups" : [ 5002, 5008 ] ,"favoredId":-1,"properties":{"rain":3,"smartphone":3,"motion":3,"dusk":3,"smoke":3,"favored":3,"trigger":3,"manual":3,"sun":3,"generic":3,"closingContact":3,"temperature":3,"temperator":3,"warning":3,"dawn":3,"time":3,"dust":3,"wind":3,"states":[{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setAutomationOverall","cfgId":99,"state":1},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"setTimeAuto","cfgId":101,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0},{"cfgKey":"null","cfgId":0,"state":0}]},"sortId":0,"sTypes":[],"version":"1.0","sync":-2147461679,"cmdList":[{"name":"Sensor", "id":666, "param":1},{"name":"18.0", "id":26, "param":1},{"name":"20.0", "id":26, "param":2},{"name":"22.0", "id":26, "param":3},{"name":"25.0", "id":26, "param":4}],"messages":[],"hasErrors":0,"autos":[3,2],"posMin":40,"posMax":400} }

Der Manuell- oder Automatikbetrieb spielt meines Erachtens keine Rolle wenn mit Symcon gearbeitet wird. Bei Manuellbetrieb von Aktoren führt der Homepilot keine Automatisierungen an diesem Aktor durch.
Ich hoffe jetzt ist es klarer, Entschuldigung für die Verwirrung.

Gruß Philipp

Hallo Philipp,

dann kommen wir der Sache langsam näher.
Über welchen der beiden Knoten wird den die Sollwert Temperatur vorgegeben ? DID 1 oder DID 2?
Der aktuelle Sollwert sollte bei diesem Knoten als „position“ zurückgegeben werden. Das scheint mir DID1 zu sein - also der „Schaltaktor DuoFern Raumthermostat“.
Und läßt sich das Relais auch manuell (über die Weboberfläche) direkt schalten? Wenn nicht, sollte nur der Status angezeigt werden und kein setzen möglich sein.

Liebe Grüße
Bruno

Habe die Differenzierung zwischen Sollwert Thermostat und Relais Thermostat eingebaut.
Bitte testen. D.h. vorher wieder alle Raumthermostat Knoten löschen und neu synchronisieren.

Hallo Bruno,

jetzt sind die Heizungsaktoren wieder nur noch als Schalter aufgeführt. Eine Soll-Temperatur kann auch nicht eingestellt werden.
Der Relaisstatus wird ebenfalls weder bei den Aktoren noch bei den Sensoren angezeigt. Ich habe die Aktoren gelöscht und neu eingerichtet.

Die Sollwert Temperatur wird über den „Schaltaktor DuoFern Raumthermostat“ vorgegeben (DID 1). Das Relais lässt sich nicht über den Homepilot direkt aktivieren oder deaktivieren. Es ist ausschließlich eine Statusanzeige.

Viele Grüße

Philipp

Hallo Philipp,

ich habe die Funktionalität jetzt noch mal gedreht d.h. jetzt sollte sich der Sollwert wieder vorgeben lassen (in Schritten von 0.5°C).
Wird den bei der Sollwertvorgabe der aktuelle Sollwert angezeigt? Also nicht nur bei der zurückgelesen „Sensor“ Date?

Grüße
Bruno

Hallo Bruno,

jetzt kann der Sollwert wieder eingestellt werden. Es wird auch der richtige Sollwert angezeigt und aktualisiert, auch wenn ich manuell am Thermostat den Sollwert verändere.

Jetzt fehlt nur noch der Relaisstatus.

Gruß Philipp

Hallo Philipp,

ich habe die Reihenfolge der beiden Thermostatknotentypen noch mal geändert. Jetzt müssten eigentlich für jeden Thermostat 2 verschiedene Knotentypen angelegt werden. Einer mit Sollwert und einer mit Schaltaktor.
Es wäre nett wenn du das noch mal prüfen würdest. Dann wäre die Frage ob der Typ mit Schaltaktor den Zustand des Relais widerspiegelt.
Wenn nicht, muss ich sehen das ich den Zustand aus den Zusatzinformationen auslese.

Gruß
Bruno

Hallo Bruno,

es wird für jeden Thermostat unter Homepilot-Knoten nur ein Knotentyp mit dem Sollwert angelegt. Der Relais-Zustand ist gar nicht zu finden.

Gruß Philipp

Hallo Philipp,

dann verstehe ich nicht in welchem Kontext „productName“:„DuoFern Raumthermostat“ abgefragt wird.
Aber aus der Abfrage des Typs „productName“:„Schaltaktor DuoFern Raumthermostat“ lässt sich der Wert „relaisstatus“:0 auslesen.
Ich hoffe nur das ich das ohne Testgerät hinbekomme.

Gruß
Bruno

Hallo Philipp,

da der Relaisstatus ebenfalls in der statusesMap des Knoten enthalten ist wie der Status des Manuellbetriebs bin ich zuversichtlich das der Relaisstatus nun korrekt angezeigt wird.
Eigentlich könnte das sogar ohne löschen des alten Knotens funktionieren.

Bitte prüfen,
Gruß
Bruno

Hallo Bruno,

jetzt wird der Relaisstatus angezeigt, nur genau verkehrt rum. Während der Heizphase wird AUS und außerhalb der Heizphase wird AN angezeigt.

Aber nochmal zu „productName“ „DuoFern Raumthermostat“ und „Schaltaktor DuoFern Raumthermostat“, nicht dass wir uns missverstehen.
Der „DuoFern Raumthermostat“ ist der Sensor, der auch angezeigt wird. Er zeigt die IST-Temperatur, die SOLL-Temperatur und die letzte Aktualisierung an.
Der „Schaltaktor DuoFern Raumthermostat“ ist der Aktor und wird auch angezeigt. Er zeigt die SOLL-Temperatur an, kann die SOLL-Temperatur verändern und zeigt jetzt auch den Relaisstatus an.

Wenn jetzt beim Relaisstatus AN und AUS miteinander getauscht wird, funktioniert alles sehr gut!

Gruß Philipp

Hallo Philipp,

das ist ja mühsam … aber den Pegel zu drehen geht ganz schnell.
Habe es schon eingecheckt - ohne die Versionsnummer noch mal zu erhöhen!

Jetzt sollte endlich alles so funktionieren wie gedacht.

Schönes Wochenende
Bruno

Hallo Bruno,

jetzt funktioniert alles.
Vielen Dank für deine sehr umfangreiche und gute Arbeit!

Dir auch ein schönes Wochenende.

Gruß Philipp

Hallo Bruno,

mir ist noch was aufgefallen. Ich hoffe ich darf dich damit nochmal behelligen :slight_smile:

Es gibt noch einen Status, der bei allen Rademacher Aktoren und Sensoren noch nicht berücksichtigt wurde. Wenn ein Aktor oder Sensor durch Defekt oder Stromausfall nicht erreichbar ist, wird der Aktor oder Sensor im Homepilot durch ein gelbes Warndreieck angezeigt. In IPS ist es nicht zu erkennen. Auch wenn an einem nicht erreichbaren Aktor eine Aktion über IPS durchgeführt wird, ist nicht zu erkennen, dass die Ausführung nicht funktionierte.
Die Erreichbarkeit scheint vom Homepilot über „statusValid“:true und „statusValid“:false übergeben zu werden.

Gruß Philipp

Hallo Phillip,

das mit dem Fehlerstatus sehe ich mir bei Gelegenheit mal an.
Der Status könnte als Variable aber auch im Objektbaum von IPS entsprechend dargestellt werden.

Bin gerade mit meinem Server auf Windows 2016 umgezogen und bin noch nicht ganz Einsatzbereit.
Ich denke aber das ganze ist nicht so dringend.

LG
Bruno

Bruno setz doch einfach nen error status code für die Instanz, wenn statusValid==false, so hab ichs gemacht