Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] ModbusTCP "Register-Scanner" umsetzbar?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [gelöst] ModbusTCP "Register-Scanner" umsetzbar?

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

      Hallo zusammen!

      Ich hätt da mal gern ein Problem... mit den Modbus-Registern meines Solarfocus-Heizkessels. 🙄

      Der ModbusTCP-Adapter im ioBroker fragt bereits fleißig viele Input-Register meines Kessels ab, einige davon waren in der mir vorliegenden Dokumentation vom Hersteller sogar (fast) richtig beschrieben.
      Einen guten Teil der Registerbelegung habe ich aber nur durch "ausprobieren" und Vergleich mit den am Kessel angezeigten Temperaturen zuordnen können da die dokumentierte Registerbelegung teilweise stark abweicht von der Belegung die ich vorfinde.
      Und dann gibt es eine ganze Reihe interessanter Messdaten die ich noch nicht (mit dem qModMaster) in den Registern habe finden können.
      Noch spannender ist die Belegung der Holding-Register, zwischen belegten Registergruppen gibt es immer wieder "Lücken", also nicht belegte Register die beim Versuch sie zu lesen natürlich einen Fehler zurückgeben. Das heißt im Grunde müsste ich alle Register, los gehts bei 500 bis 2600 mit den Input-Registern, und dann irgendo bei den 30000 bis 35000ern sind die Holding-Register angesiedelt, einzeln mit dem qModMaster abfragen und schauen ob ich den ggf. gefundenen Wert sinnvoll zuordnen kann... ala "sieh an! ich hab die Heizkreis-2-Mischerstellung in Prozent gefunden!"
      Abfragen von mehreren Registern gleichzeitig birgt wie man sieht ja leider das Risiko belegte Register nicht zu identifizieren denn ein einziges unbelegtes Register irgendwo in der Gruppe lässt die komplette Sammelabfrage mit Fehler scheitern.

      Und da setzt meine Frage an:
      Gibt es irgendeine Möglichkeit, wegen mir per Script oder dergleichen, automatisiert einzeln jedes der Register abzufragen und gefundene Werte zur Analyse irgendwo wegzuschreiben? Wenn ich das "zu Fuß" mache sitze ich bis Weihnachten dran.
      Der ModbusTCP-Adapter hat im Grunde ja alles an Bord was ich brauche... ich bräuchte nur vielleicht einen Hinweis wo ich ansetzen kann um mir so einen automatisierten "Scanner" zu stricken.

      LG Martin

      D Homoran 2 Replies Last reply Reply Quote 0
      • D
        Daedalus @Daedalus last edited by

        Habe ein sehr brauchbares Programm gefunden, als 30 Tage Demo-Version kostenlos und es bietet die Möglichkeit ganze Registerbereiche zu scannen, nicht als Bündelabfrage, sondern Einzelabfragen. Genau was ich gesucht hatte. Für den Fall dass noch jemand ggf. undokumentierte Registerbelegungen in seinem Gerät sucht:

        https://www.modbustools.com/modbus_poll.html

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

          @daedalus sagte in [gelöst] ModbusTCP "Register-Scanner" umsetzbar?:

          einige davon waren in der mir vorliegenden Dokumentation vom Hersteller sogar (fast) richtig beschrieben.
          Einen guten Teil der Registerbelegung habe ich aber nur durch "ausprobieren" und Vergleich mit den am Kessel angezeigten Temperaturen zuordnen können da die dokumentierte Registerbelegung teilweise stark abweicht von der Belegung die ich vorfinde.

          du bist sicher, dass du die richtige Registerliste hast?
          Oft unterscheiden sich die Register je nach Konfiguration der Schnittstelle oder natürlich von Modell zu Modell, oder auch von Baujahr zu Baujahr.

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

            Ich bin meinem Problem mit Hilfe der oben verlinkten Demo-Version auf die Schliche gekommen. Die Registerliste vom Hersteller ist korrekt und passt (jetzt) auch zur Registerbelegung die ich abfrage. Es sind nur nicht alle belegten Register dokumentiert, Solarfocus denkt sich vermutlich dass nicht alle auslesbaren Daten für Kunden von Interesse sind und erwähnen sie nicht in der Dokumentation...

            Mein Problem war dass sich scheinbar, abhängig davon welche Register ich abfrage, sich deren Inhalt zu verändern schien bzw. der gesuchte Inhalt plötzlich im Register davor oder danach zu sein schien, als hätte sich ein offset der Registernummern eingeschlichen.
            Die Lösung war in den Einstellungen vom Modbus-Adapter unter 'Allgemein' die 'Max. Leseanforderungslänge (Float und Booleans)' beide auf 1 zu stellen. Damit werden die Register nicht mehr als "Sammelbestellung" abgefragt (was zu dem merkwürdigen Verhalten geführt hat) sondern die Register werden fein säuberlich eins nach dem anderen abgefragt.
            Muss man auch erstmal drauf kommen... naja, nu funktionierts ja wenigstens so wie ich mir das gedacht hab. 🙂

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

              @daedalus sagte in [gelöst] ModbusTCP "Register-Scanner" umsetzbar?:

              Es sind nur nicht alle belegten Register dokumentiert,

              ist auch üblich.

              @daedalus sagte in [gelöst] ModbusTCP "Register-Scanner" umsetzbar?:

              Die Registerliste vom Hersteller ist korrekt und passt (jetzt) auch zur Registerbelegung die ich abfrage.

              so muss es auch sein. Es kommt oft nur auf den Offset an, der irgendwo in e7ner Fussnote o.ä. versteckt ist. der kann 1, 0, oder sogar -1 sein.

              @daedalus sagte in [gelöst] ModbusTCP "Register-Scanner" umsetzbar?:

              die Register werden fein säuberlich eins nach dem anderen abgefragt.

              würde ich sowieso immer machen

              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

              713
              Online

              32.1k
              Users

              80.6k
              Topics

              1.3m
              Posts

              2
              5
              453
              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