Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hausstromverbrauch per Modbus an IDM Wärmepumpe senden

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

      Hallo zusammen,

      damit meine IDM Wärmepumpe den PV Strom richtig nutzen kann braucht diese ein paar Werte. So zum Beispiel meinen Hausstromverbrauch. Diesen kenne ich über einen anderen Adapter (ich habe einen Senec Speicher). Nun ist die Idee recht einfach: ich schreibe den schon vorliegenden Haustromverbauch per Modbus in das entsprechende Register der IDM Wärmepumpe. So einfach die Idee eine kleine Hürde ist noch da, ich hoffe Ihr könnt mir helfen.

      Ich schreibe das Register 82
      3ba64444-196d-4520-96a5-430536eed8ea-image.png

      das Schreiben erledige ich mit diesem "Einzeiler",
      ob das Schreiben alle 10s sinnvoll ist weiss ich noch nicht, wenn Ihr Erfahrungswerte haben dann bin ich neugierig
      fa9a591d-231c-4508-b42f-3f2e9af4622c-image.png

      Ich erhalte wenn ich das Skript starte einmalig eine Anzeige des korrekten Verbrauchs (ganz rechts in rot)
      2bf3d82b-b614-4e4e-8744-6d3f1ac53ac3-image.png

      Nach ein oder zwei Sekunden bekomme ich aber dann dauerhaft Null angezeigt.
      c9525570-393e-4131-8075-28fd461558e7-image.png

      Der Wert kommt einmalig im Register der Wärmepumpe an.

      Hat jemand eine Idee was hier falsch läuft?

      Viele Grüße und besten Dank,
      Michael

      PS das ist mein erster Wurf in ioBroker, somit kann es gut sein dass ich Basics übersehen habe

      Homoran 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Bushveld last edited by

        @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

        Hat jemand eine Idee was hier falsch läuft?

        wahrscheinlich nichts.

        leider ist der Ultrawide microfiche nicht zu lesen
        Screenshot_20240319-084934_Firefox.jpg

        Sieht aber nicht wie die Einstellungen im Adapter aus.

        Ich glaube da Holdingregister zu lesen.
        Warum nicht Inputregister, die sind doch nicht zum steuern, oder doch?

        Bushveld 1 Reply Last reply Reply Quote 0
        • Bushveld
          Bushveld @Homoran last edited by

          Hallo @homoran

          leider sagt mir der "Ultrawide microfiche" aber ich habe hier mal alles kopiert was zu sehen ist. Auch habe ich nun ein Inputregister verwendet.

          b56ac231-c0b1-424a-a319-fa8a5047e04c-image.png

          Dieses führt nun zwar nicht mehr zu einem null value sondern zu einem Wert von 4.16 kW der so gar nicht zu den realen Werten passt.
          Im Log sehe ich dann diese Meldung die den richtigen Input wert 0.261 kW zeigt aber auch einen Fehler der so klingt als wenn ich nicht schreiben darf .
          794fddfe-7e24-41af-8958-b065e29adff3-image.png

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Bushveld last edited by Homoran

            @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

            sondern zu einem Wert von 4.16 kW der so gar nicht zu den realen Werten passt.

            welches Format soll das Register denn haben?
            Wenn jetzt was kommt scheint das Ankommende wohl nur falsch interpretiert zu werden.

            Entziffer ich da ein wordwrap?

            @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

            Im Log sehe ich dann diese Meldung die den richtigen Input wert 0.261 kW zeigt aber auch einen Fehler der so klingt als wenn ich nicht schreiben darf .

            auch hier schlecht zu entziffern, daher sollten logs und code imner als Text in code-tags gepostet werden.

            Das scheint aus einem Javascript zu kommen, das einen falschen Befehl nutzt.

            Hier etwas Literatur fpr den Einstieg
            https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

            EDIT
            Willst du mit js einen Wert verändern?
            Dann müssten es ja doch Holdingregister sein.

            Aber die Registerbezeichnungen ergeben keinen Sinn für Beschreiben

            Bushveld 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Bushveld last edited by Homoran

              @bushveld Alles zurück auf 0! 😉

              Ich hab mir noch mal alles angesehen und jetzt hoffentlich richtig erkannt.

              Das sind Register von der Wärmepumpe, die dort Werte benötigt um möglichst autark zu arbeiten?
              und nicht die Register deiner Solaranlage, die du dafür verwenden willst, wie ich irrtümlich annahm?

              Dann müssen das natürlich Holdingregister sein.
              Dort ist es normal dass nur solange der eingegebene Wert angezeigt wird, bis er vom Gerät übernommen wird. Anschließend wird null angezeigt.
              Um das zu verhindern muss die Checkbox auslesen o.ä. angehakt sein. Aber nicht CW!

              Bitte umstellen und davon die Einstellungen im Modbus Adapter zeigen.
              Für den Screenshot das Fenster so schmal wie möglich machen, ohne dass Daten verloren gehen.
              Ein 4k Ultrawide Screenshot ist mobil nicht lesbar!

              1 Reply Last reply Reply Quote 0
              • Bushveld
                Bushveld @Homoran last edited by

                Hallo @homoran

                sorry für die schlecht formatierte Log Meldung, sonst schicke ich solche Ansagen und mach's nun selber...

                Ich habe das Blockly Script geändert und "steuere" mit "aktualisiere" getauscht

                STEUERE

                timeout = setTimeout(async () => {
                  timeout = null;
                  setState('modbus.0.holdingRegisters.82_Hausverbrauch' /* Hausverbrauch */, (getState('senec.0.ENERGY.GUI_HOUSE_POW').val / 1000));
                }, 10000);
                

                AKTUALISERE

                timeout = setTimeout(async () => {
                  timeout = null;
                  setState('modbus.0.holdingRegisters.82_Hausverbrauch' /* Hausverbrauch */, (getState('senec.0.ENERGY.GUI_HOUSE_POW').val / 1000), true);
                }, 10000);
                

                Ich habe auf ein Holding Register zurück geändert und bekomme das gleich Verhalten wieder

                • einmal schreiben kommt auf der WP an
                • dann ändet sich nichts mehr
                • den ersten Wert in im ioBroker und auf der WP bleibt der erste Wert stehen
                • im log ist keine Fehlermeldung

                Bezüglich der Definition des Registers muss ich dann noch mal ein Bild nehmen um nicht irgend etwas weg zu lassen.
                289f072b-c27d-4cf7-8456-8e8c49a2d707-image.png

                Willst du mit js einen Wert verändern?
                Ich möchte der Wärmepumpe den aktuellen Hausstromverbrauch mitteilen damit diese korrekt rechnen kann. Da ich eine Variable schreibe würde ich hier auf verändern tippen und daher das Holdingregister.

                welches Format soll das Register denn haben?
                S. erster Post: ich habe nur die Info FLOAT

                Kann es sein dass die WP etwas zurückmeldet was zum Fehler führt?

                Homoran Bushveld 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Bushveld last edited by Homoran

                  @bushveld ich hab eben noch editiert.

                  die Checkbox heisst Abfrage
                  Anhaken und Erfolg melden! 😁

                  1 Reply Last reply Reply Quote 0
                  • Bushveld
                    Bushveld @Bushveld last edited by

                    unsere post haben sich überschnitten, hier die Einstellungen zum Register und Adapter

                    0175ab63-7c3a-420c-b5ac-6b7d51077bfa-image.png

                    29c9c706-d5df-4377-8c24-9a12c5108e14-image.png

                    4acf798e-bee7-4915-860d-a76c84c98ca2-image.png

                    5e3db767-e2ae-44f0-bf67-bfa2391f2743-image.png

                    68f240f9-6dda-4d7e-bdc6-0ef3b7430603-image.png

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Bushveld last edited by Homoran

                      @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

                      hier die Einstellungen zum Register und Adapter

                      super!
                      Das kann ich lesen.

                      EDIT:
                      im Blockly natürlich steuere nehmen!
                      du willst ja nicht nur den Wert in ioBroker aktualisieren, sondern die WP steuern.

                      Bushveld 1 Reply Last reply Reply Quote 0
                      • Bushveld
                        Bushveld @Homoran last edited by

                        Hallo @homoran

                        jetzt wird es wild.
                        Den Haken "Abfrage" habe ich gesetzt und es werden nun keine "null" values mehr angezeigt.
                        Blockly habe ich wieder auf "steuere" geändert

                        Nun bekomme ich 1x einen korrekten Wert und dann bekommen ich, auch einmalig den Wert der PV Erzeugung angezeigt.

                        Ich werde mich nun erst einmal um die Logik in der WP kümmern, meine Vermutung ist dass diese selber denkt. Da die WP im Moment nur Werte vom Wechselrichter bekommt und die WP derzeit nicht aktiv ist scheint diese schlicht die PV Erzeugung als Hausverbrauch auszuweisen.

                        Ich denke das Skript tut was es soll. Vielen Dank!
                        Den Post lasse ich offen da ich gerne das Ergebnis hier noch anfügen möchte, sollte die IDM wirklich so um die Eckedenken dann hilft es dem nächsten vielleicht auch wenn es nicht wirklich ein modbus Thema ist.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @Bushveld last edited by

                          @bushveld zeig noch mal dein Blockly.

                          • besteht das wirklich nur aus dem was im Screenshot gezeigt ist?
                            • kein Trigger? - dann wird es nur einmal beim Scriptstart/speichern ausgeführt.
                          • der DP heisst xxx.current
                            • das wäre der Strom, nicht die Leistung
                          Bushveld 1 Reply Last reply Reply Quote 0
                          • Bushveld
                            Bushveld @Homoran last edited by

                            Hallo @homoran

                            Nun schlägt der Noob durch bei mir. Ich brauche einen Trigger, mach ja eigentlich Sinn,

                            • welchen nehme ich da am besten da sich der Hausstrom ständig ändert kann ich vermutlich "Falls Objekt ID wurde geändert" nehmen?
                            • was meinst du mit DP ? Ich habe bei der Senec nichts besseres gefunden als GUI_HOUSE_POW was mit House Power Current beschrieben ist und eine Leistung zu sein scheint [W] die IDM hätten den Hausverbrauch gerne als [kW]
                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Bushveld last edited by Homoran

                              @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

                              vermutlich "Falls Objekt ID wurde geändert" nehmen?

                              richtig!

                              @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

                              was meinst du mit DP

                              DatenPunkt.

                              @bushveld sagte in Hausstromverbrauch per Modbus an IDM Wärmepumpe senden:

                              GUI_HOUSE_POW was mit House Power Current beschrieben ist und eine Leistung zu sein scheint [W]

                              Super korrekt 😂
                              und das für einen Hersteller 🤦

                              dann musst du mal prüfen was da so rauskommt

                              Bushveld 1 Reply Last reply Reply Quote 0
                              • Bushveld
                                Bushveld @Homoran last edited by

                                Hallo @homoran

                                es ist wie vermutet. Ich schreibe konkurrieren mit meinem Wechselrichter die gleichen Register.

                                Derzeit ist bei mir ein Fronius Wechselrichter und ein Senec Akku installiert. Der Senec Akku kann mit dem WR nur via Modbus RTU kommunizieren und das nur vom WR zum Akku, Die IDM WP kann leider nur modbus tcp. Das führt dazu, dass ich nur vom WR die PV Erzeugung in der IDM WP bekomme, da diese keine anderen Daten kennt fehlt der Rest, diese Daten sitzen alle im Senec Speicher der nur über modbus RTU erreichbar ist.
                                Das der Senec Akku seine Daten nur ungern preisgibt und lieber alles einsammelt wird im Netz an vielen Stellen diskutiert, ein Schelm der schlimmers denkt..

                                Die Lösung in meinem Fall ist recht einfach: der ioBroker kann den Senec Akku lesen und die IDM WP Register befüllen.
                                Bleibt noch das konkurrierende Schreiben. Auch das ist leicht gelöst, die IDM hat für Fronius WR eine eigenen Schnittstelle, diese einfach auf GLT (Gebäudeleittechnik) umstellen lassen und schon geht alles nur noch über Modbus und der Fronius schreibt nicht mehr. Das muss man allerdings über den Service der IDM oder den Heizungsbauer machen lassen da die Einstellung sich in der sog. Fachmannebene befindet.

                                Viele Grüße und vielen für die Unterstützung!
                                Michael

                                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

                                536
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                2
                                14
                                767
                                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