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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Modbus adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
modbus adaptermodbus
980 Beiträge 141 Kommentatoren 383.2k Aufrufe 64 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 darkbrain85

    Ich nutze nun seit Jahren den Modus Adapter.
    Sogar sehr erfolgreich mit einer Waterkotte Wärmepumpe, diversen Stromzählern und meinen SMA Wechselrichtern.

    Alleine bei der Wärmepumpe lese ich 107 Register und berechne daraus allerhand Werte für VIS und sonstige Statistiken.

    Jetzt sollen mit der neuen Version einfach mal alle Leerzeichen in den Registernamen gegen _ getauscht werden. Technisch mag es dafür Gründe geben, aber mich bringt das mit meiner Installation fast zum "kochen"... Keine Ahnung wann und wie ich diese Anpassungen an sämtlichen Stellen machen soll.

    Ich bin echt dankbar für die Arbeit die sich die Entwickler hier selbst aufhalsen, aber sowas verdirbt mit regelmäßig massiv den Spaß an IOBroker. Klar, ich muss nicht updaten, aber das löst das Problem nicht dauerhaft.

    Sorry wenn ich gerade ein bisschen grumpy rüber komme! ;-)

    GlasfaserG Online
    GlasfaserG Online
    Glasfaser
    schrieb am zuletzt editiert von
    #622

    @darkbrain85

    Zum Beitrag von @thomas-braun ist schon alles gesagt

    @thomas-braun sagte in Modbus adapter:
    @darkbrain85 sagte in Modbus adapter:

    Technisch mag es dafür Gründe geben

    Gibt es, und die Gründe liegen nicht Mal beim ioBroker sondern am grundsätzlichen Umgang mit Dateipfaden/-namen.

    Es war noch nie eine gute Idee da Leerzeichen oder non-ascii Zeichen drin zu haben.

    Das Thema war erst gestern dazu :

    https://forum.iobroker.net/topic/55433/modbus-adapter-update-zu-5-x-macht-chaos

    Das soll aber jetzt auch kein Angriff gegen die Entwickler oder so sein. Aber das Thema müsste mal berücksichtigt und für die Zukunft eingedämmt werden.

    Vorschlag : Beta Tester werden und du kannst dich ja bei Github beteiligen.

    https://github.com/ioBroker/ioBroker.modbus/issues

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    1 Antwort Letzte Antwort
    0
    • K Offline
      K Offline
      klassisch
      Most Active
      schrieb am zuletzt editiert von
      #623

      Sorry, ich habe es immer noch nicht verstanden.

      • Bei Modbus habe ich gar nichts angelegt und keine Blanks verwendet. Hat der Adapter selbst so angelegt - leider mit Blanks. Was wird bei Version 5 passiren? Umbenennen, anlegen von zusätzlichen Objekten?
      • Ist die jetzt eingeführte Restriktion ein Bug oder gewünscht? Laut Changelog wohl beabsichtigt. Also für mich auch kein Grund ein issue anzulegen. Oder doch?
      • Ist dieses Verhalten des Modbus Adapters eine Singularität oder der Vorbote einer Lawine, die da auf uns zurollt? Dann wüßte ich schon gerne, warum das wirklich unvermeidbar ist.
      GlasfaserG 2 Antworten Letzte Antwort
      0
      • K klassisch

        Sorry, ich habe es immer noch nicht verstanden.

        • Bei Modbus habe ich gar nichts angelegt und keine Blanks verwendet. Hat der Adapter selbst so angelegt - leider mit Blanks. Was wird bei Version 5 passiren? Umbenennen, anlegen von zusätzlichen Objekten?
        • Ist die jetzt eingeführte Restriktion ein Bug oder gewünscht? Laut Changelog wohl beabsichtigt. Also für mich auch kein Grund ein issue anzulegen. Oder doch?
        • Ist dieses Verhalten des Modbus Adapters eine Singularität oder der Vorbote einer Lawine, die da auf uns zurollt? Dann wüßte ich schon gerne, warum das wirklich unvermeidbar ist.
        GlasfaserG Online
        GlasfaserG Online
        Glasfaser
        schrieb am zuletzt editiert von Glasfaser
        #624

        @klassisch

        Eigentlich sollte es so aussehen ( Beta v5.0.3) :

        Beispiel :

        In der Konfig mit Leerzeichen ,

        
        4521	Aktuelle Wirk- Leistung Phase L1		
        4523	Aktuelle Wirk- Leistung Phase L2		
        4525	Aktuelle Wirk- Leistung Phase L3
        

        Datenpunkt werden aber dann so erstellt mit _ :

        modbus.0.holdingRegisters.4521_Aktuelle_Wirk-_Leistung_Phase_L1
        modbus.0.holdingRegisters.4523_Aktuelle_Wirk-_Leistung_Phase_L2
        modbus.0.holdingRegisters.4525_Aktuelle_Wirk-_Leistung_Phase_L3
        

        Beispiel :

        Da wir aber nichts dazugebaut !?

        _ ist schon in der Config vorhanden :

        4521	Aktuelle_Wirk- Leistung Phase_L1		
        4523	Aktuelle_Wirk- Leistung Phase_L2			
        4525	Aktuelle_Wirk- Leistung Phase_L3
        

        Datenpunkte :

        modbus.5.holdingRegisters.4521_Aktuelle_Wirk-_Leistung_Phase_L1
        modbus.5.holdingRegisters.4523_Aktuelle_Wirk-_Leistung_Phase_L2
        modbus.5.holdingRegisters.4525_Aktuelle_Wirk-_Leistung_Phase_L3
        

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        1 Antwort Letzte Antwort
        0
        • K klassisch

          Sorry, ich habe es immer noch nicht verstanden.

          • Bei Modbus habe ich gar nichts angelegt und keine Blanks verwendet. Hat der Adapter selbst so angelegt - leider mit Blanks. Was wird bei Version 5 passiren? Umbenennen, anlegen von zusätzlichen Objekten?
          • Ist die jetzt eingeführte Restriktion ein Bug oder gewünscht? Laut Changelog wohl beabsichtigt. Also für mich auch kein Grund ein issue anzulegen. Oder doch?
          • Ist dieses Verhalten des Modbus Adapters eine Singularität oder der Vorbote einer Lawine, die da auf uns zurollt? Dann wüßte ich schon gerne, warum das wirklich unvermeidbar ist.
          GlasfaserG Online
          GlasfaserG Online
          Glasfaser
          schrieb am zuletzt editiert von Glasfaser
          #625

          @klassisch sagte in Modbus adapter:

          einer Lawine, die da auf uns zurollt?

          Das Chaos kommt noch , denn alle Vorlagen die hier im Forum sind , sind zu 90% mit Leerzeichen.
          Und wie auch andere ,werden die Datenpunkte per Influx , History , SQL ....und auch in Scripte genutzt .

          EDIT :
          Beispiel :
          Ein kleine Änderung und ...
          Siehe bei Admin 6 ..... Ohh .... da sieht man wieviel gerade in Beta unterwegs sind ( unwissenheit) ....... jeder zweite Thread mit ... " kann nicht Updaten , habe ein komische Meldung "

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            klassisch
            Most Active
            schrieb am zuletzt editiert von
            #626

            @Glasfaser :

            Bei mir sieht der Datenpunkt (kopiert)
            so aus:

            modbus.0.holdingRegisters.100.817_AC_Consumption L1
            

            Also mit Blank vor L1 .

            Anderes Beispiel aus einem Skript:

            const setIChargeId = 'modbus.0.holdingRegisters.100.2705_DVCC_system max charge current';
            

            Also jede Menge Blanks drin
            Nichts selbst angelegt, hat der Modbus Adapter wahrscheinlich in einer 3er Version gemacht.

            Aus meiner Sicht würde eine solche nachträgliche Restriktion allgemein nicht gut tun. Sollte man meiner Meinung nach nicht wirklich durchziehen. Zumal ich keinen wirklich zwingenden Grund sehe oder gelesen habe.

            Betas nutze ich nur, wenn nicht vermeidbar. Also in einzelnen Adaptern. Eigentlich nicht beim Framework. Ich steuere meine gesamte Wohnungsbeleuchtung mit ioBroker, das dämpft die Experimentierfreude ....

            1 Antwort Letzte Antwort
            0
            • K Offline
              K Offline
              Klamm 0
              schrieb am zuletzt editiert von
              #627

              Hallo!

              Ich habe einen Batteriewechselrichter der über eine RS485 Schnittstelle verfügt und via Modbus RTU Informationen aus dem Zähler liest und dann dementsprechend die Leistung regelt etc.

              Hardware:
              Ich habe mir einen Waveshare RS485 to eth Adapter gekauft und angeschlossen.
              Den Adapter habe ich eingestellt auf RS485 to Modbus TCP to RTU.

              IoBroker:
              Im IOBroker habe ich diverse Einstellungen versucht und mit diesen scheine ich (in den Logs) was zu sehen.

              01c5d464-d690-45e5-aeb2-e3a0b18cfe29-grafik.png

              c1991308-1dca-4ef8-9ca7-7fda584339ee-grafik.png

              Ich bekomme diese Einträge im Log (steht auf Silly). Ich habe versucht das Register 300012 auszulesen.
              Ich denke mal ich habe ein Register gelesen, dass ich nicht angelegt habe.
              Ich habe einige Sachen angelegt um das auszuschließen. (Register ohne Alias 10-13, mit Alias 300010-300013, habe das auch jeweils im input- und holding-register)

              Ich kann aus dem Eintrag im Log leider nicht erkennen welche addresse ausgelesen werden sollte.
              Kann ich das irgendwo sehen?

              So wie ich das mit den Einstellungen im Waveshare Adapter verstehe müsste ich im IOBroker Modbus Adapter eigentlich RTU over TCP einstellen aber dann kann ich leider nicht mehr Slave einstellen oder übersehe ich was?

              GlasfaserG K 2 Antworten Letzte Antwort
              0
              • K Klamm 0

                Hallo!

                Ich habe einen Batteriewechselrichter der über eine RS485 Schnittstelle verfügt und via Modbus RTU Informationen aus dem Zähler liest und dann dementsprechend die Leistung regelt etc.

                Hardware:
                Ich habe mir einen Waveshare RS485 to eth Adapter gekauft und angeschlossen.
                Den Adapter habe ich eingestellt auf RS485 to Modbus TCP to RTU.

                IoBroker:
                Im IOBroker habe ich diverse Einstellungen versucht und mit diesen scheine ich (in den Logs) was zu sehen.

                01c5d464-d690-45e5-aeb2-e3a0b18cfe29-grafik.png

                c1991308-1dca-4ef8-9ca7-7fda584339ee-grafik.png

                Ich bekomme diese Einträge im Log (steht auf Silly). Ich habe versucht das Register 300012 auszulesen.
                Ich denke mal ich habe ein Register gelesen, dass ich nicht angelegt habe.
                Ich habe einige Sachen angelegt um das auszuschließen. (Register ohne Alias 10-13, mit Alias 300010-300013, habe das auch jeweils im input- und holding-register)

                Ich kann aus dem Eintrag im Log leider nicht erkennen welche addresse ausgelesen werden sollte.
                Kann ich das irgendwo sehen?

                So wie ich das mit den Einstellungen im Waveshare Adapter verstehe müsste ich im IOBroker Modbus Adapter eigentlich RTU over TCP einstellen aber dann kann ich leider nicht mehr Slave einstellen oder übersehe ich was?

                GlasfaserG Online
                GlasfaserG Online
                Glasfaser
                schrieb am zuletzt editiert von
                #628

                @klamm-0 sagte in Modbus adapter:

                Waveshare RS485 to eth Adapter

                hier steht einiges drin darüber :

                https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                1 Antwort Letzte Antwort
                0
                • K Klamm 0

                  Hallo!

                  Ich habe einen Batteriewechselrichter der über eine RS485 Schnittstelle verfügt und via Modbus RTU Informationen aus dem Zähler liest und dann dementsprechend die Leistung regelt etc.

                  Hardware:
                  Ich habe mir einen Waveshare RS485 to eth Adapter gekauft und angeschlossen.
                  Den Adapter habe ich eingestellt auf RS485 to Modbus TCP to RTU.

                  IoBroker:
                  Im IOBroker habe ich diverse Einstellungen versucht und mit diesen scheine ich (in den Logs) was zu sehen.

                  01c5d464-d690-45e5-aeb2-e3a0b18cfe29-grafik.png

                  c1991308-1dca-4ef8-9ca7-7fda584339ee-grafik.png

                  Ich bekomme diese Einträge im Log (steht auf Silly). Ich habe versucht das Register 300012 auszulesen.
                  Ich denke mal ich habe ein Register gelesen, dass ich nicht angelegt habe.
                  Ich habe einige Sachen angelegt um das auszuschließen. (Register ohne Alias 10-13, mit Alias 300010-300013, habe das auch jeweils im input- und holding-register)

                  Ich kann aus dem Eintrag im Log leider nicht erkennen welche addresse ausgelesen werden sollte.
                  Kann ich das irgendwo sehen?

                  So wie ich das mit den Einstellungen im Waveshare Adapter verstehe müsste ich im IOBroker Modbus Adapter eigentlich RTU over TCP einstellen aber dann kann ich leider nicht mehr Slave einstellen oder übersehe ich was?

                  K Offline
                  K Offline
                  klassisch
                  Most Active
                  schrieb am zuletzt editiert von
                  #629

                  @klamm-0
                  Vielleicht hilft Dir mein Beitrag SDM120 Modbus RTU RS485 Stromzähler (W)LAN ioBroker etwas.
                  Ich verwende allerdings USRIOT statt Waveshare. Waveshare würde mich aber auch interessieren, weil in D verfügbar.

                  Mir hat das Programm "QModMaster" zur Evaluierung der Register weiter geholfen.

                  Separat habe ich mir noch in meinen Unterlagen notiert:
                  "Die Brücke zum Modbus geschieht über ein USR-WIFI232-A2 Modul
                  Dabei muß genau in einem der beiden Verbndungspartner (USRIOT oder Modbus Adapter) die Option "Modbus TCP <-> Modbus RTU" gewählt werden - nicht aber in beiden. Präferenz: Soll der USRIOT richten, damit auch einfachere Modbus Programme darauf zugreifen können"

                  Generell würde ich wie im zweiten Beitrag des referenzierten Posts auf "Mehrere Geräte Ids" gehen und die Adresse dann in den Instanzeneinstellung als "Slave-Id" eingeben. Geht auch, wenn man nur ein Gerät hat und scheint mir universeller zu sein.

                  1 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    Klamm 0
                    schrieb am zuletzt editiert von Klamm 0
                    #630

                    @glasfaser said in Modbus adapter:

                    @klamm-0 sagte in Modbus adapter:

                    Waveshare RS485 to eth Adapter

                    hier steht einiges drin darüber :

                    https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b

                    Habe mir das mal alles durchgelesen (teilweise nur überflogen) es ist aber leider nicht mein "Problem". In dem Beispiel ist der Zähler vorhanden und man will den IOBroker als MASTER haben.

                    Meine Frage geht eher in diese Richtung (hier hat man es dann aber doch anders gemacht):
                    https://forum.iobroker.net/topic/51897/modbus-adapter-energiemessgerät-simulieren

                    @klassisch said in Modbus adapter:

                    @klamm-0
                    Vielleicht hilft Dir mein Beitrag SDM120 Modbus RTU RS485 Stromzähler (W)LAN ioBroker etwas.
                    Ich verwende allerdings USRIOT statt Waveshare. Waveshare würde mich aber auch interessieren, weil in D verfügbar.

                    Mir hat das Programm "QModMaster" zur Evaluierung der Register weiter geholfen.

                    Separat habe ich mir noch in meinen Unterlagen notiert:
                    "Die Brücke zum Modbus geschieht über ein USR-WIFI232-A2 Modul
                    Dabei muß genau in einem der beiden Verbndungspartner (USRIOT oder Modbus Adapter) die Option "Modbus TCP <-> Modbus RTU" gewählt werden - nicht aber in beiden. Präferenz: Soll der USRIOT richten, damit auch einfachere Modbus Programme darauf zugreifen können"

                    Generell würde ich wie im zweiten Beitrag des referenzierten Posts auf "Mehrere Geräte Ids" gehen und die Adresse dann in den Instanzeneinstellung als "Slave-Id" eingeben. Geht auch, wenn man nur ein Gerät hat und scheint mir universeller zu sein.

                    Wenn ich das richtig verstanden habe hast auch du den Zähler und nutzt den IOBroker als Master um Werte vom Zähler zu erfragen.
                    In meinem Fall ist der WR aber der Master und der IOBroker müsste der Slave sein.

                    Ich vermute mit den aktuellen Einstellungen (die ja eigentlich nicht richtig sind, weil nicht RTU over TCP als Slave möglich ist) scheint es auch Komminikation zu geben. Nur eben nicht im richtigen register?!

                    Evtl. macht der Waveshare ein Fehler beim "Übersetzen" daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen. So könnte ich mir die passende Adresse anlegen und dann sehen ob die Kommunikation zurück (iobroker zum Wechselrichter) funktioniert oder ob der Waveshare da auch fehler beim "übersetzen" macht.

                    Nachtrag: Stelle ich auf mehrere ID´s und RTU over TCP, dann bleibt der Adapter in gelb stehen (not connected)

                    Die Warnung FC3 request outside register boundaries: from 11, len 1. Expected max address 0 kommt übrigens auch wenn der Master werte einer anderen Geräte ID abfragt.

                    GlasfaserG K 3 Antworten Letzte Antwort
                    0
                    • K Klamm 0

                      @glasfaser said in Modbus adapter:

                      @klamm-0 sagte in Modbus adapter:

                      Waveshare RS485 to eth Adapter

                      hier steht einiges drin darüber :

                      https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b

                      Habe mir das mal alles durchgelesen (teilweise nur überflogen) es ist aber leider nicht mein "Problem". In dem Beispiel ist der Zähler vorhanden und man will den IOBroker als MASTER haben.

                      Meine Frage geht eher in diese Richtung (hier hat man es dann aber doch anders gemacht):
                      https://forum.iobroker.net/topic/51897/modbus-adapter-energiemessgerät-simulieren

                      @klassisch said in Modbus adapter:

                      @klamm-0
                      Vielleicht hilft Dir mein Beitrag SDM120 Modbus RTU RS485 Stromzähler (W)LAN ioBroker etwas.
                      Ich verwende allerdings USRIOT statt Waveshare. Waveshare würde mich aber auch interessieren, weil in D verfügbar.

                      Mir hat das Programm "QModMaster" zur Evaluierung der Register weiter geholfen.

                      Separat habe ich mir noch in meinen Unterlagen notiert:
                      "Die Brücke zum Modbus geschieht über ein USR-WIFI232-A2 Modul
                      Dabei muß genau in einem der beiden Verbndungspartner (USRIOT oder Modbus Adapter) die Option "Modbus TCP <-> Modbus RTU" gewählt werden - nicht aber in beiden. Präferenz: Soll der USRIOT richten, damit auch einfachere Modbus Programme darauf zugreifen können"

                      Generell würde ich wie im zweiten Beitrag des referenzierten Posts auf "Mehrere Geräte Ids" gehen und die Adresse dann in den Instanzeneinstellung als "Slave-Id" eingeben. Geht auch, wenn man nur ein Gerät hat und scheint mir universeller zu sein.

                      Wenn ich das richtig verstanden habe hast auch du den Zähler und nutzt den IOBroker als Master um Werte vom Zähler zu erfragen.
                      In meinem Fall ist der WR aber der Master und der IOBroker müsste der Slave sein.

                      Ich vermute mit den aktuellen Einstellungen (die ja eigentlich nicht richtig sind, weil nicht RTU over TCP als Slave möglich ist) scheint es auch Komminikation zu geben. Nur eben nicht im richtigen register?!

                      Evtl. macht der Waveshare ein Fehler beim "Übersetzen" daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen. So könnte ich mir die passende Adresse anlegen und dann sehen ob die Kommunikation zurück (iobroker zum Wechselrichter) funktioniert oder ob der Waveshare da auch fehler beim "übersetzen" macht.

                      Nachtrag: Stelle ich auf mehrere ID´s und RTU over TCP, dann bleibt der Adapter in gelb stehen (not connected)

                      Die Warnung FC3 request outside register boundaries: from 11, len 1. Expected max address 0 kommt übrigens auch wenn der Master werte einer anderen Geräte ID abfragt.

                      GlasfaserG Online
                      GlasfaserG Online
                      Glasfaser
                      schrieb am zuletzt editiert von Glasfaser
                      #631

                      @klamm-0 sagte in Modbus adapter:

                      daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen.

                      Nein , der Modbus Adapter scannt / liest die Adressen/ Register vom angeschlossen Teilnehmer nicht aus.

                      So könnte ich mir die passende Adresse anlegen

                      Die mußt du in der Dokumentation zum Wechselrichter herraussuchen und in der Instanz eintragen ,
                      Input / oder Holding , so das der Modbus-Adapter dieses Register abfragt .

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      K 1 Antwort Letzte Antwort
                      0
                      • GlasfaserG Glasfaser

                        @klamm-0 sagte in Modbus adapter:

                        daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen.

                        Nein , der Modbus Adapter scannt / liest die Adressen/ Register vom angeschlossen Teilnehmer nicht aus.

                        So könnte ich mir die passende Adresse anlegen

                        Die mußt du in der Dokumentation zum Wechselrichter herraussuchen und in der Instanz eintragen ,
                        Input / oder Holding , so das der Modbus-Adapter dieses Register abfragt .

                        K Offline
                        K Offline
                        Klamm 0
                        schrieb am zuletzt editiert von Klamm 0
                        #632

                        @glasfaser
                        Nein ich glaube du hast meine Frage nicht verstanden.
                        Ich möchte nicht rausfinden welche Register es gibt (dafür habe ich die Dokumentation des Zählers und da steht alles drin)
                        Der Master (Wechselrichter) Fragt bereits ein Register ab
                        Direkt auf der RS485 Leitung sieht das dann so aus:
                        01 03 00 0B 00 01 F5 C8
                        ------------------^^^^^ crc
                        ------------^^^^^------ anzahl der zu lesenden Register
                        ------^^^^^------------ Startadresse
                        ---^^------------------ Funktionscode (03 read holding register)
                        ^^--------------------- GeräteID

                        Der Waveshare übersetzt das dann in TCP und schickt es an den iobroker.
                        Hier habe ich das Holdingregister 300012 auch bereits angelegt
                        55e7eb19-2dcc-4db3-bcad-b6224883cbaa-grafik.png

                        Die Anfrage scheint auch im iobroker anzukommen. Hier gibts aber dann den Fehler:
                        FC3 request outside register boundaries: from 11, len 1. Expected max address 0

                        Was sich für mich danach anhört als hätte man versucht ein nicht vorhandenes Register abzufragen.
                        Meine Frage ist also: welches register wurde ausgelesen? (bzw. versucht) was dann zu dem Fehler geführt hat.
                        evtl. übersetzt der Waveshare ja schwachsinn und das Register 5331896 (wild auf dem Numpad rumgedrückt) wird abgefragt.

                        1 Antwort Letzte Antwort
                        0
                        • K Klamm 0

                          @glasfaser said in Modbus adapter:

                          @klamm-0 sagte in Modbus adapter:

                          Waveshare RS485 to eth Adapter

                          hier steht einiges drin darüber :

                          https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b

                          Habe mir das mal alles durchgelesen (teilweise nur überflogen) es ist aber leider nicht mein "Problem". In dem Beispiel ist der Zähler vorhanden und man will den IOBroker als MASTER haben.

                          Meine Frage geht eher in diese Richtung (hier hat man es dann aber doch anders gemacht):
                          https://forum.iobroker.net/topic/51897/modbus-adapter-energiemessgerät-simulieren

                          @klassisch said in Modbus adapter:

                          @klamm-0
                          Vielleicht hilft Dir mein Beitrag SDM120 Modbus RTU RS485 Stromzähler (W)LAN ioBroker etwas.
                          Ich verwende allerdings USRIOT statt Waveshare. Waveshare würde mich aber auch interessieren, weil in D verfügbar.

                          Mir hat das Programm "QModMaster" zur Evaluierung der Register weiter geholfen.

                          Separat habe ich mir noch in meinen Unterlagen notiert:
                          "Die Brücke zum Modbus geschieht über ein USR-WIFI232-A2 Modul
                          Dabei muß genau in einem der beiden Verbndungspartner (USRIOT oder Modbus Adapter) die Option "Modbus TCP <-> Modbus RTU" gewählt werden - nicht aber in beiden. Präferenz: Soll der USRIOT richten, damit auch einfachere Modbus Programme darauf zugreifen können"

                          Generell würde ich wie im zweiten Beitrag des referenzierten Posts auf "Mehrere Geräte Ids" gehen und die Adresse dann in den Instanzeneinstellung als "Slave-Id" eingeben. Geht auch, wenn man nur ein Gerät hat und scheint mir universeller zu sein.

                          Wenn ich das richtig verstanden habe hast auch du den Zähler und nutzt den IOBroker als Master um Werte vom Zähler zu erfragen.
                          In meinem Fall ist der WR aber der Master und der IOBroker müsste der Slave sein.

                          Ich vermute mit den aktuellen Einstellungen (die ja eigentlich nicht richtig sind, weil nicht RTU over TCP als Slave möglich ist) scheint es auch Komminikation zu geben. Nur eben nicht im richtigen register?!

                          Evtl. macht der Waveshare ein Fehler beim "Übersetzen" daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen. So könnte ich mir die passende Adresse anlegen und dann sehen ob die Kommunikation zurück (iobroker zum Wechselrichter) funktioniert oder ob der Waveshare da auch fehler beim "übersetzen" macht.

                          Nachtrag: Stelle ich auf mehrere ID´s und RTU over TCP, dann bleibt der Adapter in gelb stehen (not connected)

                          Die Warnung FC3 request outside register boundaries: from 11, len 1. Expected max address 0 kommt übrigens auch wenn der Master werte einer anderen Geräte ID abfragt.

                          K Offline
                          K Offline
                          klassisch
                          Most Active
                          schrieb am zuletzt editiert von
                          #633

                          Wenn ich das richtig verstanden habe hast auch du den Zähler und nutzt den IOBroker als Master um Werte vom Zähler zu erfragen.

                          Ja, genau. geht auch mit mehreren dieser Zähler

                          In meinem Fall ist der WR aber der Master und der IOBroker müsste der Slave sein.

                          Sorry, das hatte ich nicht verstanden oder überlesen. Diesen Fall hatte ich noch nicht und kann dazu leider auch nichts sagen. Mir ist auch unklar, welche Daten der ioBroker dem WR per Modbus bereit stellen sollte.

                          Wie gesagt, beim Suchen der Adressen hat mir das etwas angestaubte Programm QModMaster geholfen, weil die Adressen und Werte stur in Bin, Dec oder Hex anzeigt. Dem ioBroker Modbus-Adapter vermochte ich diese Informationen nicht zu entlocken. Der Autor von QModMaster verweist auf seiner Sourceforge Seite auf seinen Modbus Slave SW PyModSlave
                          https://sourceforge.net/projects/pymodslave/

                          Vielleich hilft das weiter?

                          Nachtrag: Stelle ich auf mehrere ID´s und RTU over TCP, dann bleibt der Adapter in gelb stehen (not connected)

                          Bei mir war es so, daß nur EINER der Kommunikationspartner die Übersetzung RTU over TCP vornehmen durfte. Wenn beide oder keiner diese Translarion vornahmen hat es nicht funktioniert.

                          1 Antwort Letzte Antwort
                          0
                          • K Klamm 0

                            @glasfaser said in Modbus adapter:

                            @klamm-0 sagte in Modbus adapter:

                            Waveshare RS485 to eth Adapter

                            hier steht einiges drin darüber :

                            https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b

                            Habe mir das mal alles durchgelesen (teilweise nur überflogen) es ist aber leider nicht mein "Problem". In dem Beispiel ist der Zähler vorhanden und man will den IOBroker als MASTER haben.

                            Meine Frage geht eher in diese Richtung (hier hat man es dann aber doch anders gemacht):
                            https://forum.iobroker.net/topic/51897/modbus-adapter-energiemessgerät-simulieren

                            @klassisch said in Modbus adapter:

                            @klamm-0
                            Vielleicht hilft Dir mein Beitrag SDM120 Modbus RTU RS485 Stromzähler (W)LAN ioBroker etwas.
                            Ich verwende allerdings USRIOT statt Waveshare. Waveshare würde mich aber auch interessieren, weil in D verfügbar.

                            Mir hat das Programm "QModMaster" zur Evaluierung der Register weiter geholfen.

                            Separat habe ich mir noch in meinen Unterlagen notiert:
                            "Die Brücke zum Modbus geschieht über ein USR-WIFI232-A2 Modul
                            Dabei muß genau in einem der beiden Verbndungspartner (USRIOT oder Modbus Adapter) die Option "Modbus TCP <-> Modbus RTU" gewählt werden - nicht aber in beiden. Präferenz: Soll der USRIOT richten, damit auch einfachere Modbus Programme darauf zugreifen können"

                            Generell würde ich wie im zweiten Beitrag des referenzierten Posts auf "Mehrere Geräte Ids" gehen und die Adresse dann in den Instanzeneinstellung als "Slave-Id" eingeben. Geht auch, wenn man nur ein Gerät hat und scheint mir universeller zu sein.

                            Wenn ich das richtig verstanden habe hast auch du den Zähler und nutzt den IOBroker als Master um Werte vom Zähler zu erfragen.
                            In meinem Fall ist der WR aber der Master und der IOBroker müsste der Slave sein.

                            Ich vermute mit den aktuellen Einstellungen (die ja eigentlich nicht richtig sind, weil nicht RTU over TCP als Slave möglich ist) scheint es auch Komminikation zu geben. Nur eben nicht im richtigen register?!

                            Evtl. macht der Waveshare ein Fehler beim "Übersetzen" daher die Frage ob ich im iobroker adapter sehen kann welche Adresse versucht wird zu lesen. So könnte ich mir die passende Adresse anlegen und dann sehen ob die Kommunikation zurück (iobroker zum Wechselrichter) funktioniert oder ob der Waveshare da auch fehler beim "übersetzen" macht.

                            Nachtrag: Stelle ich auf mehrere ID´s und RTU over TCP, dann bleibt der Adapter in gelb stehen (not connected)

                            Die Warnung FC3 request outside register boundaries: from 11, len 1. Expected max address 0 kommt übrigens auch wenn der Master werte einer anderen Geräte ID abfragt.

                            GlasfaserG Online
                            GlasfaserG Online
                            Glasfaser
                            schrieb am zuletzt editiert von
                            #634

                            @klamm-0 sagte in Modbus adapter:

                            Habe mir das mal alles durchgelesen (teilweise nur überflogen)

                            Schlecht ... dann hättest du das erstmal gemacht :

                            Vorschlag ... teste erstmal damit :
                            https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            K 1 Antwort Letzte Antwort
                            0
                            • GlasfaserG Glasfaser

                              @klamm-0 sagte in Modbus adapter:

                              Habe mir das mal alles durchgelesen (teilweise nur überflogen)

                              Schlecht ... dann hättest du das erstmal gemacht :

                              Vorschlag ... teste erstmal damit :
                              https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

                              K Offline
                              K Offline
                              Klamm 0
                              schrieb am zuletzt editiert von
                              #635

                              @klassisch said in Modbus adapter:

                              Mir ist auch unklar, welche Daten der ioBroker dem WR per Modbus bereit stellen sollte.

                              Normalerweise fragt der WR am Zähler Leistung, Strom, Spannung etc. ab.
                              Ich habe aber einen SMA Zähler und will mir nicht noch einen weiteren Zähler einsetz sondern die Werte des SMA nutzen und diese dem WR bereitstellen wenn er die entsprechenden Register abfragt.

                              @klassisch said in Modbus adapter:

                              https://sourceforge.net/projects/pymodslave/

                              Vielleich hilft das weiter?

                              Habe ich mir angesehen aber leider nicht viel verstanden :face_with_rolling_eyes:

                              @glasfaser said in Modbus adapter:

                              @klamm-0 sagte in Modbus adapter:

                              Habe mir das mal alles durchgelesen (teilweise nur überflogen)

                              Schlecht ... dann hättest du das erstmal gemacht :

                              Vorschlag ... teste erstmal damit :
                              https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

                              Meinst du den Radzio? oder meinst du die Instanz neu aufsetzen?

                              der Radzio! ist ja ein MASTER und genau den brauche ich nicht.
                              Die Instanz habe ich schon neu aufgesetzt. Hat nicht geholfen.

                              GlasfaserG 1 Antwort Letzte Antwort
                              0
                              • K Klamm 0

                                @klassisch said in Modbus adapter:

                                Mir ist auch unklar, welche Daten der ioBroker dem WR per Modbus bereit stellen sollte.

                                Normalerweise fragt der WR am Zähler Leistung, Strom, Spannung etc. ab.
                                Ich habe aber einen SMA Zähler und will mir nicht noch einen weiteren Zähler einsetz sondern die Werte des SMA nutzen und diese dem WR bereitstellen wenn er die entsprechenden Register abfragt.

                                @klassisch said in Modbus adapter:

                                https://sourceforge.net/projects/pymodslave/

                                Vielleich hilft das weiter?

                                Habe ich mir angesehen aber leider nicht viel verstanden :face_with_rolling_eyes:

                                @glasfaser said in Modbus adapter:

                                @klamm-0 sagte in Modbus adapter:

                                Habe mir das mal alles durchgelesen (teilweise nur überflogen)

                                Schlecht ... dann hättest du das erstmal gemacht :

                                Vorschlag ... teste erstmal damit :
                                https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28

                                Meinst du den Radzio? oder meinst du die Instanz neu aufsetzen?

                                der Radzio! ist ja ein MASTER und genau den brauche ich nicht.
                                Die Instanz habe ich schon neu aufgesetzt. Hat nicht geholfen.

                                GlasfaserG Online
                                GlasfaserG Online
                                Glasfaser
                                schrieb am zuletzt editiert von Glasfaser
                                #636

                                @klamm-0

                                Ich meine eine Ausleseprogramm wie auch ..... geschrieben hat .
                                Erstmal unabhängig von ioBroker testen.

                                @klassisch sagte in Modbus adapter:
                                verweist auf seiner Sourceforge Seite auf seinen Modbus Slave SW PyModSlave
                                https://sourceforge.net/projects/pymodslave/

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  Klamm 0
                                  schrieb am zuletzt editiert von
                                  #637

                                  Habe die Instanz auf dem iobroker jetzt so eigestellt gelassen (TCP Slave) und die Objekte mit Daten gefüllt.
                                  Habe versucht die dann mit radzio auszulesen. Ich weiß nicht ob es eine Radzio oder Modbus Beschränkung ist aber es können nur Register bis 65535 genutzt werden.

                                  Wenn ich im Modbus Adapter 300002 anlege (eine Adresse die ich nachher auch brauche), dann erhalte ich die oben genannte Fehlermeldung.

                                  Ich werde mal noch ein paar Sachen mit Alias bzw. ohne Versuchen und mich mal morgen im Laufe des Tages erneut dazu melden.

                                  Hilfreich wäre es, wenn ich im Log sehen könnte welches Register gelesen wurde bzw. versucht wird zu lesen.
                                  Ist das irgendwie möglich?

                                  GlasfaserG 1 Antwort Letzte Antwort
                                  0
                                  • K Klamm 0

                                    Habe die Instanz auf dem iobroker jetzt so eigestellt gelassen (TCP Slave) und die Objekte mit Daten gefüllt.
                                    Habe versucht die dann mit radzio auszulesen. Ich weiß nicht ob es eine Radzio oder Modbus Beschränkung ist aber es können nur Register bis 65535 genutzt werden.

                                    Wenn ich im Modbus Adapter 300002 anlege (eine Adresse die ich nachher auch brauche), dann erhalte ich die oben genannte Fehlermeldung.

                                    Ich werde mal noch ein paar Sachen mit Alias bzw. ohne Versuchen und mich mal morgen im Laufe des Tages erneut dazu melden.

                                    Hilfreich wäre es, wenn ich im Log sehen könnte welches Register gelesen wurde bzw. versucht wird zu lesen.
                                    Ist das irgendwie möglich?

                                    GlasfaserG Online
                                    GlasfaserG Online
                                    Glasfaser
                                    schrieb am zuletzt editiert von Glasfaser
                                    #638

                                    @klamm-0 sagte in Modbus adapter:

                                    Wenn ich im Modbus Adapter 300002 anlege

                                    so eine lange Registeradresse kenne ich nicht, wo hast du die her ! und deshalb kommt bei dir :

                                    request outside register boundaries: from 11, len 1. Expected max address 0

                                    Beispiel , von mir :

                                    b83a9493-e182-4a08-b0aa-faf8e79e283b-grafik.png

                                    f6436ad5-fef6-4d0b-ad6c-f0b116d708b7-grafik.png

                                    2da3803c-0ad5-49f5-8ed2-6f0169d44dae-grafik.png

                                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                    K 1 Antwort Letzte Antwort
                                    0
                                    • GlasfaserG Glasfaser

                                      @klamm-0 sagte in Modbus adapter:

                                      Wenn ich im Modbus Adapter 300002 anlege

                                      so eine lange Registeradresse kenne ich nicht, wo hast du die her ! und deshalb kommt bei dir :

                                      request outside register boundaries: from 11, len 1. Expected max address 0

                                      Beispiel , von mir :

                                      b83a9493-e182-4a08-b0aa-faf8e79e283b-grafik.png

                                      f6436ad5-fef6-4d0b-ad6c-f0b116d708b7-grafik.png

                                      2da3803c-0ad5-49f5-8ed2-6f0169d44dae-grafik.png

                                      K Offline
                                      K Offline
                                      Klamm 0
                                      schrieb am zuletzt editiert von
                                      #639

                                      @glasfaser
                                      Die Register habe ich aus der Dokumentation des EM24. Hier mal ein paar Beispiele:

                                      6dd22d96-2f93-4aaa-9b50-8a01295f1501-grafik.png

                                      wenn ich in Radzio einen Wert größer als 65535 eingebe, wird einfach wieder vor vorne begonnen zu zählen.
                                      65536 ist also quasi wieder 0.
                                      Ich vermute der Iobroker Adapter nutzt die Zahl die wirklich reinkommt. Gibts eine Modbus Schnittstellenbeschreibung in der steht was gemacht werden soll wenn das abgefragte Register größer ist als FFFF? Bzw. gibts eine vorgabe bis wohin die Registeradressen gehen dürfen?

                                      b2824cd1-f343-42e9-85c3-3bd4dd3a8bc2-grafik.png

                                      GlasfaserG 2 Antworten Letzte Antwort
                                      0
                                      • K Klamm 0

                                        @glasfaser
                                        Die Register habe ich aus der Dokumentation des EM24. Hier mal ein paar Beispiele:

                                        6dd22d96-2f93-4aaa-9b50-8a01295f1501-grafik.png

                                        wenn ich in Radzio einen Wert größer als 65535 eingebe, wird einfach wieder vor vorne begonnen zu zählen.
                                        65536 ist also quasi wieder 0.
                                        Ich vermute der Iobroker Adapter nutzt die Zahl die wirklich reinkommt. Gibts eine Modbus Schnittstellenbeschreibung in der steht was gemacht werden soll wenn das abgefragte Register größer ist als FFFF? Bzw. gibts eine vorgabe bis wohin die Registeradressen gehen dürfen?

                                        b2824cd1-f343-42e9-85c3-3bd4dd3a8bc2-grafik.png

                                        GlasfaserG Online
                                        GlasfaserG Online
                                        Glasfaser
                                        schrieb am zuletzt editiert von Glasfaser
                                        #640

                                        @klamm-0

                                        nimm mal Holding-Register in der Instanz ( kein ALIAS ) , dann 40001 mit int32 , wenn nichts kommt dann das Register rauf oder runter +1 / oder -1
                                        Also 40000 oder 40002

                                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • K Offline
                                          K Offline
                                          klassisch
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #641

                                          Oder physical Address und ohne alias, falls noch nicht getestet

                                          Adressen wie 30019 hat mein SDM auch. Aber wie gesagt, da habe ich ja eine Master-Instanz und keine Slave Instanz.

                                          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

                                          735

                                          Online

                                          32.4k

                                          Benutzer

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