Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [gelöst] ModbusTCP "Register-Scanner" umsetzbar?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
5 Beiträge 2 Kommentatoren 519 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    Daedalus
    schrieb am zuletzt editiert von Daedalus
    #1

    Hallo zusammen!

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

    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 HomoranH 2 Antworten Letzte Antwort
    0
    • D Daedalus

      Hallo zusammen!

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

      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 Offline
      D Offline
      Daedalus
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • D Daedalus

        Hallo zusammen!

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

        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

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

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

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        D 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @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 Offline
          D Offline
          Daedalus
          schrieb am zuletzt editiert von
          #4

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

          HomoranH 1 Antwort Letzte Antwort
          0
          • D Daedalus

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

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #5

            @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

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

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

            683

            Online

            32.7k

            Benutzer

            82.4k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe