Hallo zusammen,
ich schreibe euch hier ne kleine Anleitung, da ich hier im Forum nur ganz schwer an all die Fakten rangekommen bin.
Außerdem musste ich auch noch andere Quellen anzapfen...
Worum gehts: Ich habe eine IDM Wärmepumpe mit Navigator 2.0 und auch die zugehörige Steuerung mit Thermostaten im Dachgeschoss.
Einen Umbau der Heizung im OG und EG ergaben bei mir jetzt HmIP-Geräte.
Somit hatte ich aus dem OG und EG keine Heizungsanforderung mehr, da die Wärmepumpe diese Räume nicht mehr sieht.
Im iobroker kann man das ganz gut zusammen bringen und auch noch über ein schönes Display steuern.
Wie bin ich vorgegangen:
- IDM Wärmepumpe erst mal auf Modbus umstellen.
Das kann man in der verlinkten Anleitung ganz gut nachlesen unter Punkt 3.1: Modbus TCP auf "Ein" schalten.
Dafür benötigt ihr noch den Fachmanncode (4 stellig das heutige Datum-> Achtung, nun könnt ihr einiges umstellen!! Bitte vorsichtig sein.)
link text
Dieses Dokument ist auch nachher noch für die Register ganz wichtig!
1.1 Darauf achten, dass eure Wärmepumpe immer die gleiche IP hat. Bei mir steuert meine Fritzbox das. Oder direkt in der Wärmepumpe umstellen. Punkt 2.3 von IDM - Räume mit Modbus TCP einrichten nach der Anleitung Punkt 3.3 von IDM.
- iobroker Modbus und Javascript intstallieren, falls nicht vorhanden
- Modbus Einstellungen unter Instanzen:
- Holding-Register füllen:
Die ersten Räume sind die Räume direkt aus der IDM Steuerung. Die werden nur gelesen (Haken bei Abfrage)
Dann kommen die Räume von den HMIP Geräten:
Hier habe ich bei den Werten die ich auf die Wärmepumpe schreiben will noch zusätzlich einen Haken bei WP (Schreibimpuls) gesetzt.
Alles speicher und weiter mit Javascript. - HMIP in iobroker einrichten -> Das muss jeder selbst wissen und geht relativ einfach.
- Javascipt schreiben mit Blocky:
zum Importieren des Scripts, hier den Code:
Den müsst ihr dann auf eure Objekte usw. abgleichen.
<xml xmlns="https://developers.google.com/blockly/xml">
<block type="on_ext" id="8(,(mm$c;lDY@xNwhmpn" x="-387" y="38">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="1tfnl+kNn**Uku~@f4(.">
<field name="oid">hmip.0.devices.3014F711A000265D898974EB.channels.1.actualTemperature</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="control" id="=:h+NH(Y_i7FKU!0CCs/">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">modbus.0.holdingRegisters.2037_Temp__OGSchlafenMod</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="get_value_var" id="~@5QUQq~NwDuKLKC:lrF">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="field_oid" id=";k1vg#n)rVF*!ywPYYp|">
<field name="oid">hmip.0.devices.3014F711A000265D898974EB.channels.1.actualTemperature</field>
</shadow>
</value>
</block>
</value>
</block>
</statement>
</block>
</xml>
Und zwar habe ich hier den Trigger "Falls Objekte..." verwendet.
Ganz wichtig ist hier die Auslösung durch "STEUERE"!!!
Zur Erklärung:
Steuere sendet hier an den Modbusadapter ein Signal im iobroker. In diesem Fall die Temperatur.
Der Adapter gibt dann das Signal weiter an die IDM WP und trägt in das Register die Temperatur.
Danach kommt über die Abfrage des Modbusadapter vom iobroker der Registereintrag der Wärmepumpe wieder zurück.
Dadurch, dass ich steuern gewählt habe, wird das Signal nur kurz unter den Objekten angezeigt (also im iobroker). Danach wird wieder eine Null gesetzt/angezeigt. Der Wert bleibt jedoch in der Wärmepumpe und muss dann wieder abgerufen werden. Daher die 2 Haken im Holding-Register für Abfrage und Schreiben.
Mit aktualisieren bleibt der Wert in den Objekten drin, wird aber nicht an die WP ins Register übertragen. Keine Ahnung warum.
Anders habe ichs nicht hin bekommen und auch ganz schön lange benötigt, bis ich das als Modbus- und iobroker-Neuling verstanden habe...
Falls es noch jemand einfacher kann, bitte gerne melden!
Ich werde jetzt noch die Feuchtigkeit und weitere Werte pflegen und übertragen, so dass meine Steuerung komplett ist.
Kleiner Hinweis: Die Raumsolltemperaturen (Eco, Normal, Komfort) sollten möglichst direkt an der
Navigatorregelung eingestellt werden und auch nicht ständig geändert werden, da bei
Änderungen die Zonenmodule einen automatischen Neustart durchführen und damit auch die
Berechnung für die Bewirtschaftung der Räume immer wieder von vorne beginnt!
Viel Spaß damit und gebt mir gerne eine Rückmeldung...