Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus auslesen und Register anlegen.

    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

    Modbus auslesen und Register anlegen.

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @RalfEngelberth last edited by

      @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

      Wie bekomme ich denn jetzt die richtigen Modbusadressen für den Adapter

      die stehen doch in der Tabelle

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

        @homoran sagte in Modbus auslesen und Register anlegen.:

        @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

        Wie bekomme ich denn jetzt die richtigen Modbusadressen für den Adapter

        die stehen doch in der Tabelle

        Ja das ist richtig aber welche Adresse trage ich im Adapter ein?
        z.B. Aktuelle Aussentemperatur hat die Adresse 1 gem. USB-Ausgabetabelle.
        Und wie ist jetzt die Adresse im Adapter einzutragen.
        Wenn ich da 1 eintrage geht es nicht.
        Gem. Gruppy82 müsste es ja denn 30156 sein.
        Z.b. EingangsRegister /ID Adresse aus der PDF / +1
        30 / 155 / +1 =30156
        Natürlich immer 5 stellig. z.b. (55) =30055

        Das ist aber falsch.
        Ist das hier richtig?
        Die Aussentemperatur-Adresse gem USB-Ausgabetabelle = 1
        30000+1 (USB-Ausgangstabelle) + 1
        Einzutragende Adresse wäre somit 30002 für die Aussentemperatur.
        Richtig?

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

          @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

          aber welche Adresse trage ich im Adapter ein?

          fang mal mit einer an

          @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

          aktuelle Aussentemperatur hat die Adresse 1

          wäre ein schönes Beispiel.

          @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

          Wenn ich da 1 eintrage geht es nicht.

          Geht nicht ist keine Fehlerbeschreibung!

          @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

          Einzutragende Adresse wäre somit 30002 für die Aussentemperatur.
          Richtig?

          möglich, aber der falsche Weg

          Du musst die uns noch nicht bekannte Grundkonfiguration des Adapters anpassen

          1 Reply Last reply Reply Quote 0
          • R
            RalfEngelberth last edited by

            Was verstehst du unter Grundkonfiguration des Adapters.
            Das habe ich doch in meinem ersten Post geschrieben.

            Ich habe es aber mit meiner vorgeschlagenen Variante geschafft.
            30000+1 (USB-Ausgangstabelle) + 1
            Einzutragende Adresse wäre somit 30002 für die Aussentemperatur
            Jetzt werden die Werte in den Objekten angezeigt.
            Ich habe jetzt nur noch das Problem, dass die Werte falsch mutipliziert werden.
            Screenshot 2024-12-30 082439.jpg

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

              @ralfengelberth mach mal den Haken bei Alias verwenden weg

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

                @homoran sagte in Modbus auslesen und Register anlegen.:

                @ralfengelberth mach mal den Haken bei Alias verwenden weg

                Nach dem entfernen von Alias haben sich alle Adressen auf die Grundadresse geändert.
                Also aus 30002 wurde 1

                Jetzt habe ich nur noch das Problem mit den Ausgabewerten.
                Hier am Beispiel Aussentemperatur
                Die Vorgabe der USB-Ausgabetabelle war wie folgt.

                25a13802-7fa8-477f-890f-6596f01e6d74-image.png

                Titel	Re­gister­typ	Re­gister	Divi­sions­faktor	Ein­heit	Vari­ablen­größe	Mindest­wert	Höchst­wert	Stan­dard­wert	Column1
                Aktuelle Außenlufttemperatur (BT1)	MODBUS_INPUT_REGISTER	1	10	°C	2	0	0	0	
                

                Die Eingabe im Adapter habe ich so gemacht

                _address	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
                1	1	Aktuelle Außenlufttemperatur (BT1)	°C	int16be	1	10	0		value.temperature		false	false
                

                Jetzt wir mir aber die Aussentemperatur mit z.B. 10°C angezeigt.
                Hier müsste eigentlich -0,1°C stehen
                Wenn ich den Faktor von 10 auf -0.1 ändere wird mir auch die Aussentemperatur richtig mit -0.1°C angezeigt.

                Bei anderen Werten steht auch als Vorgabe in der USB-Ausgangstabell eine 10.
                Hier muss ich den Wert sogar auf -0.001 ändern um einen richtigen Wert zu bekommen.
                Was mache ich falsch?

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

                  @ralfengelberth mach mal bitte einen Screenshot der Einstellg für den Register!
                  Hier sieht man die Zuordnung der Spalten nicht.

                  Wie kommst du auf int16be?

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

                    @homoran sagte in Modbus auslesen und Register anlegen.:

                    @ralfengelberth mach mal bitte einen Screenshot der Einstellg für den Register!
                    Hier sieht man die Zuordnung der Spalten nicht.

                    Wie kommst du auf int16be?

                    wenn ich die Werte versuche zuzuordnen gibt es eine Spalte "Divisionsfaktor"
                    Eine Division durch 10 entspricht einem Faktor von 0.1

                    Einen negativen Faktor solltest du nicht verwenden müssen.

                    Möglicherweise ist das Problem hier

                    @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                    Nach dem entfernen von Alias haben sich alle Adressen auf die Grundadresse geändert.
                    Also aus 30002 wurde 1

                    du schriebst zu Beginn

                    @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                    Die Aussentemperatur-Adresse gem USB-Ausgabetabelle = 1
                    30000+1 (USB-Ausgangstabelle) + 1

                    dann bist du ggf. nicht bei der korrekten Adresse
                    versuch mal die 2

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

                      @homoran
                      @homoran
                      Die Signed 16 bit habe ich hier aus dem Forum.
                      https://forum.iobroker.net/topic/68134/nibe-smo-s40-im-iobrocker-anzeigen-lassen/2?_=1735651025789
                      Wenn ich dann auf TSV bearbeiten gehe wird mir dort Signed 16 bit als int16be angezeigt.
                      Zur info: Der dort erwähne myuplink-Adapter liefert nicht alle Daten und die Daten werden auch teilweise nicht aktualisiert.
                      Mit der direkten abfrage über Modbus habe ich bessere Erfahrungen.

                      Hier die Zuordnung der Daten
                      Screenshot 2024-12-31 140907.jpg

                      Wenn ich das Minus vor werglasse, wird mir die z.B. Aussentemperatur mit +0,6°C angezeigt.
                      Es sind aber -0,6°C momentan.

                      Mit den Werten habe ich es hinbekommen.
                      Warum -0.1 oder 0.1 oder -0.001 ist mir nicht ersichtlich aber die Werte werden jetzt richtig angezeigt.

                      Hier das Ergebniss
                      Screenshot 2024-12-31 141335.jpg

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

                        @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                        Hier die Zuordnung der Daten

                        warum heissen die Alle 1?
                        zum Glück lässt du das Register mit in die ID schreiben, sonst gäbe es echte Probleme

                        @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                        Warum -0.1 oder 0.1 oder -0.001 ist mir nicht ersichtlich

                        Das kommt auf die Genauigkeit der gelieferten Daten und dem zugehörigen Format an.
                        und wie gesagt sollte ein negativer Fakror nicht nötig sein.

                        signed Integer hat ein Vorzeichen

                        @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                        Wenn ich das Minus vor werglasse, wird mir die z.B. Aussentemperatur mit +0,6°C angezeigt.
                        Es sind aber -0,6°C momentan.

                        und was passiert dann bei +0.6°C?

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

                          @homoran Ich habe hier die Adressen mal überarbeitet und bin diese am Testen.
                          Die Vorzeichen(-) habe ich alle entfernt.
                          ich werde mich wieder melden, ob ich Erfolg hatte.

                          _address	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
                          1	AT	Aktuelle Außenlufttemperatur (BT1)	°C	int16be	1	0.1	0		value.temperature		false	false
                          8	BWBT7	Brauchwasser, oben (BT7)	°C	int16be	1	0.1	0		value.temperature		false	false
                          9	BWBT6	Brauchwasserbereitung (BT6)	°C	int16be	1	0.1	0		value.temperature		false	false
                          37	MTBT1	Mittlere Temperatur (BT1)	°C	int16be	1	0.1	0		value.temperature		false	false
                          39	EVLBT25	Externer Vorlauf (BT25)	°C	int16be	1	0.1	0		value.temperature		false	false
                          72	ZHBT63	Zusatzheizung (BT63)	°C	int16be	1	0.1	0		value.temperature		false	false
                          88	RLBT71	Rücklauf (BT71)	°C	int16be	1	0.1	0		value.temperature		false	false
                          160	ZK	Zusätzliche Kühlung		int16be	1	1	0		value.temperature		false	false
                          690	ZH	Zusatzheizung mit Vorrang zulassen		int16be	1	1	0		value.temperature		false	false
                          1017	BVLK1	Berechneter Vorlauf Klimatisierungssystem 1	°C	int16be	1	0.1	0		value.temperature		false	false
                          1019	KSTATUS	Kühlung Status		int16be	1	1	0		value.temperature		false	false
                          1475	RLBT3	Rücklauf (EB101-BT3)	°C	int16be	1	0.1	0		value.temperature		false	false
                          1478	VLBT12	Vorlauf (EB101-BT12)	°C	int16be	1	0.1	0		value.temperature		false	false
                          1567	BKVL1	Berechneter Kühlungsvorlauf Klimatisierungssystem 1	°C	int16be	1	0.1	0		value.temperature		false	false
                          1689	BWBT7	Brauchwasserfühler für die Anzeige (EB100-BT7)	°C	int16be	1	0.1	0		value.temperature		false	false
                          1911	SG	Betriebsmodus (SG Ready)		int16be	1	1	0		value.temperature		false	false
                          2802	TEMRMU	Temperatur: RMU S40 1	°C	int16be	1	0.1	0		value.temperature		false	false
                          3132	LFRMU	Luftfeuchtigkeit: RMU S40 1	%RH	int16be	1	0.1	0		value.temperature		false	false
                          
                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @RalfEngelberth last edited by

                            @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                            Ich habe hier die Adressen mal überarbeitet und bin diese am Testen.

                            Es ist sinnvoll mit einer einzigen Adresse zu beginnen.

                            @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                            ob ich Erfolg hatte.

                            der OFFSET kann 30000 oder 30001 sein, also das Testregister mal +/- 1 versuchen.

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

                              @homoran sagte in Modbus auslesen und Register anlegen.:

                              @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                              ob ich Erfolg hatte.

                              der OFFSET kann 30000 oder 30001 sein, also das Testregister mal +/- 1 versuchen.

                              Wenn ich den Offset z.B. 3000 stelle wird mir auch die Temperatur mit 3000 addiert.
                              Mit Offset 0 werden die Werte richtig angezeigt.
                              Warum sollte ich auf OFFSET 3000 stellen?
                              Gem. GitHub ist doch x * Factor + Offset

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

                                @ralfengelberth sagte in Modbus auslesen und Register anlegen.:

                                Wenn ich den Offset z.B. 3000 stelle wird mir auch die Temperatur mit 3000 addiert.

                                nicht der Offset!

                                Ich meine den internen Offset der Alias-Verwaltung, beim Client.

                                da kann zu dem Register 1 29999, 30000 oder 30001 hinzuaddiert werden

                                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

                                730
                                Online

                                31.9k
                                Users

                                80.3k
                                Topics

                                1.3m
                                Posts

                                4
                                18
                                1418
                                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