Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Magnus Tadda

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Best 1
    • Groups 0

    Magnus Tadda

    @Magnus Tadda

    2
    Reputation
    3
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Magnus Tadda Follow

    Best posts made by Magnus Tadda

    • IDM Wärmepumpe per Modbus schreiben und lesen

      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:

      1. 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
      2. Räume mit Modbus TCP einrichten nach der Anleitung Punkt 3.3 von IDM.
      3. iobroker Modbus und Javascript intstallieren, falls nicht vorhanden
      4. Modbus Einstellungen unter Instanzen:
        eedfea0b-5e5b-4feb-a633-2e71cd8110c2-image.png
        3fb43789-5bff-4bf6-a4fc-29ef83718ef8-image.png
        67b47846-8aa4-4364-b74a-b65c3afe0cd1-image.png
      5. Holding-Register füllen:
        0c257bc6-aab4-409e-91cf-b746270e1130-image.png
        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:
        eeeb8d94-3f59-41ab-aa4e-b23ef6c3ab87-image.png
        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.
      6. HMIP in iobroker einrichten -> Das muss jeder selbst wissen und geht relativ einfach. 😉
      7. Javascipt schreiben mit Blocky:
        4e4ab908-6a25-4a9e-871a-5fec482fad1e-image.png
        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...

      posted in ioBroker Allgemein
      Magnus Tadda
      Magnus Tadda

    Latest posts made by Magnus Tadda

    • RE: IDM Wärmepumpe per Modbus schreiben und lesen

      @magnus-tadda
      Ich habe das Skipt etwas umgearbeitet. Dann passt es für mich besser:
      472893ea-58ef-4bfa-9cc6-42e1fb0dcfaa-image.png

      posted in ioBroker Allgemein
      Magnus Tadda
      Magnus Tadda
    • IDM Wärmepumpe per Modbus schreiben und lesen

      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:

      1. 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
      2. Räume mit Modbus TCP einrichten nach der Anleitung Punkt 3.3 von IDM.
      3. iobroker Modbus und Javascript intstallieren, falls nicht vorhanden
      4. Modbus Einstellungen unter Instanzen:
        eedfea0b-5e5b-4feb-a633-2e71cd8110c2-image.png
        3fb43789-5bff-4bf6-a4fc-29ef83718ef8-image.png
        67b47846-8aa4-4364-b74a-b65c3afe0cd1-image.png
      5. Holding-Register füllen:
        0c257bc6-aab4-409e-91cf-b746270e1130-image.png
        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:
        eeeb8d94-3f59-41ab-aa4e-b23ef6c3ab87-image.png
        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.
      6. HMIP in iobroker einrichten -> Das muss jeder selbst wissen und geht relativ einfach. 😉
      7. Javascipt schreiben mit Blocky:
        4e4ab908-6a25-4a9e-871a-5fec482fad1e-image.png
        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...

      posted in ioBroker Allgemein
      Magnus Tadda
      Magnus Tadda
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo