Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IDM Wärmepumpe per Modbus schreiben und lesen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IDM Wärmepumpe per Modbus schreiben und lesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Magnus Tadda
      Magnus Tadda last edited by Magnus Tadda

      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...

      Magnus Tadda 1 Reply Last reply Reply Quote 2
      • Magnus Tadda
        Magnus Tadda @Magnus Tadda last edited by

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

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        949
        Online

        31.6k
        Users

        79.4k
        Topics

        1.3m
        Posts

        1
        2
        557
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo