Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Wärmepumpe WPCU.C mittels Modbus auslesen

    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

    Wärmepumpe WPCU.C mittels Modbus auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      worxweis @Homoran last edited by

      @homoran

      Hallo Homoran!

      Wie gebe ich denn die USB Schnittstelle wieder frei?

      Reicht das wenn den ModbusMechanic schließe, oder kann ich irgendwo abfragen, ob die Schnittstelle frei oder belegt ist?
      Aufgrund des ModbusMechanic sollten alle unsigned 16 sein. Habe aber auch schon verschiedene andere Einstellungen versucht.

      wenn ich den Modbusadapter starte, sieht das log folgendermassen aus:

      
      modbus.0
      2024-11-01 14:34:19.557	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:19.406	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:19.254	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:19.102	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:18.952	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:18.800	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:18.745	silly	States user redis pmessage modbus.0.*/modbus.0.info.pollTime:{"val":2,"ack":true,"ts":1730468058743,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1730468058743}
      
      modbus.0
      2024-11-01 14:34:18.666	silly	States user redis pmessage modbus.0.*/modbus.0.info.connection:{"val":true,"ack":true,"ts":1730468058660,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1730468058660}
      
      modbus.0
      2024-11-01 14:34:18.662	silly	States user redis pmessage modbus.0.*/modbus.0.info.connection:{"val":false,"ack":true,"ts":1730468058659,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1730468052144}
      
      modbus.0
      2024-11-01 14:34:18.651	silly	Keepalive is disabled!
      
      modbus.0
      2024-11-01 14:34:18.646	debug	[DevID_1] Poll start ---------------------
      
      modbus.0
      2024-11-01 14:34:18.645	info	Connected to slave
      
      modbus.0
      2024-11-01 14:34:18.635	debug	connect to serial /dev/ttyUSB0 with 9600
      
      modbus.0
      2024-11-01 14:34:18.418	debug	Add holdingRegisters.209_Versuch: {"_id":"holdingRegisters.209_Versuch","type":"state","common":{"name":"","role":"level","type":"number","read":false,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":209,"deviceId":1,"type":"uint16le","len":1,"offset":0,"factor":1,"poll":""}}
      
      modbus.0
      2024-11-01 14:34:18.417	debug	Initialize Objects for holdingRegs: [{"_address":209,"name":"Versuch","description":"","unit":"","type":"uint16le","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":"","wp":"","cw":"","isScale":"","address":209,"deviceId":1,"id":"holdingRegisters.209_Versuch"}]
      
      modbus.0
      2024-11-01 14:34:18.416	debug	Initialize Objects for inputRegs: []
      
      modbus.0
      2024-11-01 14:34:18.416	debug	Initialize Objects for coils: []
      
      modbus.0
      2024-11-01 14:34:18.415	debug	Initialize Objects for disInputs: []
      
      modbus.0
      2024-11-01 14:34:18.397	silly	States system redis pmessage system.adapter.modbus.0.logLevel/system.adapter.modbus.0.logLevel:{"val":"silly","ack":true,"ts":1730468058376,"q":0,"from":"system.adapter.modbus.0","lc":1730468058376}
      
      modbus.0
      2024-11-01 14:34:18.264	info	starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.0, js-controller: 6.0.11
      
      modbus.0
      2024-11-01 14:34:17.810	debug	Plugin sentry Initialize Plugin (enabled=true)
      
      modbus.0
      2024-11-01 14:34:12.548	info	terminating
      
      modbus.0
      2024-11-01 14:34:12.062	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
      
      modbus.0
      2024-11-01 14:34:12.058	info	terminating
      
      modbus.0
      2024-11-01 14:34:12.040	info	Got terminate signal TERMINATE_YOURSELF
      
      modbus.0
      2024-11-01 14:34:06.359	info	Connected to slave
      
      modbus.0
      2024-11-01 14:34:05.981	info	starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.0, js-controller: 6.0.11
      

      Das mit dem Poll Start geht dann laufend so weiter bis ich ihn wieder beende!

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

        @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

        Wie gebe ich denn die USB Schnittstelle wieder frei?

        keine Ahnung.
        Notfalls durch reboot.
        aber

        @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                                2024-11-01 14:34:18.635	debug	connect to serial /dev/ttyUSB0 with 9600
        

        scheint zugänglich zu sein.

        @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

        Aufgrund des ModbusMechanic sollten alle unsigned 16 sein

        das ist aber eine sonderbare Registeradresse 😉
        bitte Definitonen aus dem Manual zeigen!

        Das

        @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

        "regType":"holdingRegs","address":209,"deviceId":1,"type":"uint16le","len":1,"offset":0,"factor":1,"poll":""}}

        wirft einige Fragen auf.

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

          @homoran
          Reboot habe ich schon gemacht. Keine Änderung!

          Es gibt eben kein Manual dazu.
          Aber mit dem modbusMechanic werden sämtliche Adressen durchprobiert.
          Auf einem Laptop habe ich ein Waterkotte Serviceprogramm unter Windows installiert. in diesem gibt eine XML.Datei unter dem Modbus Ordner. In dieser Datei sind sämtliche Adressen aufgelistet und diese decken sich mit denen, die modbusMechanic gefunden hat. Daher gehe ich davon aus, dass diese stimmen. z. Bsp. die Adresse 209. _10011.xml
          Ansonsten findet man nicht sehr viel dazu.

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

            @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

            Daher gehe ich davon aus, dass diese stimmen.

            ich nicht!

            @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

            . z. Bsp. die Adresse 209

            bitte die relevanten Abschnitte hier in code-tags posten
            Die Konfiguration der Register in der Modbus-Instanz fehlt auch noch

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

              @homoran

              <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
              <folder>
                   <item>
                        <itemname>Settings</itemname>
                        <caption_EN>Settings</caption_EN>
                        <caption_DE>Einstellungen</caption_DE>
                        <caption_FR>Program.-données</caption_FR>
                        <caption_IT>dati progrmma</caption_IT>
                        <caption_ES>Programova data</caption_ES>
                        <caption_NL></caption_NL>
                        <caption_SV></caption_SV>
                        <caption_NO></caption_NO>
                        <caption_CS></caption_CS>
                        <tag>
                             <name>RTCTime</name>
                             <slaveaddr>1</slaveaddr>
                             <regplc>4</regplc>
                             <regaddr>1</regaddr>
                             <regcnt>13</regcnt>
                             <datatype>VT_DATE</datatype>
                             <dataformat>%H:%M:%S</dataformat>
                             <min></min>
                             <max></max>
                             <accesslev>3</accesslev>
                             <unit></unit>
                             <caption_EN>time</caption_EN>
                             <caption_DE>Uhrzeit</caption_DE>
                             <caption_FR>Heure</caption_FR>
                             <caption_IT>ora</caption_IT>
                             <caption_ES>Cas</caption_ES>
                             <caption_NL></caption_NL>
                             <caption_SV></caption_SV>
                             <caption_NO></caption_NO>
                             <caption_CS></caption_CS>
                        </tag>
                        <tag>
                             <name>RTCDate</name>
                             <slaveaddr>1</slaveaddr>
                             <regplc>4</regplc>
                             <regaddr>209</regaddr>
                             <regcnt>13</regcnt>
                             <datatype>VT_DATE</datatype>
                             <dataformat>%d.%m.%Y</dataformat>
                             <min></min>
                             <max></max>
                             <accesslev>3</accesslev>
                             <unit></unit>
                             <caption_EN>date</caption_EN>
                             <caption_DE>Datum</caption_DE>
                             <caption_FR>Date</caption_FR>
                             <caption_IT>data</caption_IT>
                             <caption_ES>datum</caption_ES>
                             <caption_NL></caption_NL>
                             <caption_SV></caption_SV>
                             <caption_NO></caption_NO>
                             <caption_CS></caption_CS>
                        </tag>
                        <tag>
                             <name>LngSelect</name>
                             <slaveaddr>1</slaveaddr>
                             <regplc>4</regplc>
                             <regaddr>417</regaddr>
                             <regcnt>1</regcnt>
                             <datatype>VT_UI1</datatype>
                             <dataformat>English:Deutsch:Français:Italiano:Español:Nederlands:Português:Svenska:Norsk:Cestina</dataformat>
                             <min>0</min>
                             <max>9</max>
                             <accesslev>3</accesslev>
                             <unit></unit>
                             <caption_EN>language</caption_EN>
                             <caption_DE>Sprache</caption_DE>
                             <caption_FR>Langue</caption_FR>
                             <caption_IT>lingua</caption_IT>
                             <caption_ES></caption_ES>
                             <caption_NL></caption_NL>
                             <caption_SV></caption_SV>
                             <caption_NO></caption_NO>
                             <caption_CS></caption_CS>
                        </tag>
                   </item>
                   <item>
                        <itemname>MeasuredValue</itemname>
                        <caption_EN>Measured Values</caption_EN>
                        <caption_DE>Messwerte</caption_DE>
                        <caption_FR>Valeurs mesurées</caption_FR>
                        <caption_IT>valori misurati</caption_IT>
                        <caption_ES>Merene hodnoty</caption_ES>
                        <caption_NL></caption_NL>
                        <caption_SV></caption_SV>
                        <caption_NO></caption_NO>
                        <caption_CS></caption_CS>
                        <tag>
                             <name>OutdoorTemp</name>
                             <slaveaddr>1</slaveaddr>
                             <regplc>3</regplc>
                             <regaddr>433</regaddr>
                             <regcnt>2</regcnt>
                             <datatype>VT_R4</datatype>
                             <dataformat>1</dataformat>
                             <min>-3.40282E+38</min>
                             <max>3.40282E+38</max>
                             <accesslev>3</accesslev>
                             <unit>°C</unit>
                             <caption_EN>T outdoor</caption_EN>
                             <caption_DE>Aussentemperatur</caption_DE>
                             <caption_FR>T extérieure</caption_FR>
                             <caption_IT>T esterna</caption_IT>
                             <caption_ES>T venk okamzita</caption_ES>
                             <caption_NL></caption_NL>
                             <caption_SV></caption_SV>
                             <caption_NO></caption_NO>
                             <caption_CS></caption_CS>
                        </tag>
              

              Modbus 4.jpg

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

                @worxweis Schade!
                Mit dem xml komme ich nicht klar.

                Wenn ich das richtig lese ist 209 vom Typ Date.

                Allgemein:
                Holdingregister sind üblicherweise Schreibregister.
                Solltest du sie trotzdem zum lesen nehmen musst du auch "Abfrage" snhaken, sonst wird bichts abgefragt

                Sollte UINT16 trotzdem passen (Register 1 scheint UINT16 zu sein) dann ist es üblicherweise UINT16BE, du hast jedoch le ausgewählt.

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

                  @homoran
                  So, mit dem anhaken von Abfrage bekomme ich jetzt Werte!

                  Vielen Dank für diesen Tipp!

                  Ich frage mit einem anderen Rechner meine PV-Anlage mittels Modbusadapter ab, da benötige ich diesen Haken nicht, darum bin ich gar nicht auf die Idee gekommen, das ich den benötige!

                  Jetzt muss ich nur mehr die Werte richtig interpretieren!
                  Warmwassertemperatur z. B. 17733?

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

                    @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                    Jetzt muss ich nur mehr die Werte richtig interpretieren!

                    oder richtig konfigurieren!

                    @homoran sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                    Sollte UINT16 trotzdem passen (Register 1 scheint UINT16 zu sein) dann ist es üblicherweise UINT16BE, du hast jedoch le ausgewählt.

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

                      @homoran
                      Ja, da muss man halt wissen wie. Von Waterkotte gibt es dazu keinen Hinweis.

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

                        @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                        Von Waterkotte gibt es dazu keinen Hinweis.

                        und von dir kein Update zu den aktuellen Einstellungen.

                        und bitte keinen zweiten Thread ausgraben.
                        Auch dort kamen keine weiteren Informationen

                        Bitte hier das dort gesagte umsetzen
                        @homoran sagte in Modbus adapter:

                        @socke85 sagte in Modbus adapter:

                        @socke85 Push 👥 👍

                        und wo pushst du die Konfigurationen?
                        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

                        1 Reply Last reply Reply Quote 0
                        • W
                          worxweis last edited by

                          @homoran

                          So, hab's jetzt geschafft! Die Register waren die meisten vom Typ "Float Big Endian Word Swap"!
                          Damit werden jetzt vernünftige Werte angezeigt.

                          Und wenn ein anderer ein ähnliches Problem hatte und das vielleicht bereits gelöst hat, warum soll man den dann nicht auch um Hilfe bitten? Er hat ja dann direkt damit Erfahrung! Also ich hätte kein Problem damit, wenn mich in einem Jahr jemand anschreibt und mich fragt, wie ich das damals gelöst habe.

                          Ich bedanke mich jedenfalls für die Hilfe!

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

                            @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                            Die Register waren die meisten vom Typ "Float Big Endian Word Swap"!

                            sicher?
                            du schreibst doch

                            @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                            sollten alle unsigned 16 sein

                            nur eben nicht Little Endian sondern Big Endian, wie bereits mehrfach geschrieben.

                            hattest du das mal umgesetzt?
                            Da kam leider nie Feedback

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

                              @homoran Mit Unsigned 16 kamen Werte die überhaupt nicht passten. Auch nicht mit Big Endian. nur mit Float Big Endian kommen Werte, die mit der Steuerung der Wärmepumpe ident sind.

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

                                @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                                Auch nicht mit Big Endian.

                                ok!

                                @worxweis sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                                nur mit Float Big Endian kommen Werte, die mit der Steuerung der Wärmepumpe ident sind.

                                passt auch besser, da Temperaturwerte üblicherweise vorzeichenbehaftet sind.

                                Passte halt nicht zu deiner früheren Aussage

                                1 Reply Last reply Reply Quote 0
                                • marcus irsigler
                                  marcus irsigler @worxweis last edited by

                                  @worxweis Hi, ich hab das ganze im Home Assistant und mit Node Red gemacht. Bzw. auch über Python. Ich hab mir einen günstigen RS232 to TCP Adapter gekauft und kommuniziere über Modbus TCP, vielleicht wäre das eine Erleichterung.

                                  Beschrieben hab ich das hier:
                                  https://www.losmuchachos.at/home_assistant/waterkotte-mit-wpcu-c-regler-auf-home-assistant-steuern/

                                  Auch die Anbindung mit dem Adapter ist relativ genau beschrieben. Viel Erfolg !

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

                                    @marcus-irsigler sagte in Wärmepumpe WPCU.C mittels Modbus auslesen:

                                    Ich hab mir einen günstigen RS232 to TCP Adapter gekauft und kommuniziere über Modbus TCP

                                    Dann wohl eher ein RS485toTCP 😉

                                    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

                                    609
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    18
                                    615
                                    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