Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ModBus Hilfe - Azzurro ZCS

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ModBus Hilfe - Azzurro ZCS

    This topic has been deleted. Only users with topic management privileges can see it.
    • mrFenyx
      mrFenyx @Marmic last edited by mrFenyx

      @marmic hi, habe deine frage leider erst jetztgesehen. Ja, bei mir läuft es auch durch eine Raspi die alle Infos dann per modbusTCP über WiFi verfügbar macht. Dafür benutze ich dieses Tool hier: https://github.com/3cky/mbusd. Wenn du mehr Hilfe brauchst, sag es mir und ich kann es ausführlicher beschreiben.

      Update: mein Post von weiter oben mit der Anleitung beschreibt auch wie man mbusd benutzt 😉

      1 Reply Last reply Reply Quote 0
      • S
        Schwabe_CH @mrFenyx last edited by

        @mrfenyx - Zuerst mal danke für die Mühe mit der Erklärung.
        Habe in der Zwischenzeit die selben Voraussetzungen an Hardware.

        Den bisherigen Versuche mit Waveshare RS485 to RJ45 Ethernet Modul habe ich abgebrochen. Scheint nicht zu funktionieren.

        Pi/USB-RS485 (ttyUSB0) - Inverter Azzurro 1PH HYD6000 ZSS HP.

        Der Inverter hat zumindest einen komfortablen COM Anschluss.
        Die Belegung der COM Pins wurde mir vom Azzurro Support bestätigt. 5(+) - 6(-). Sind auch mit A+ und A- am USB verbunden.
        Modbusadresse steht auf 1.

        Mit: Mit dem Befehl journalctl -u mbusd@ttyUSB0.service -f -n 10 kann man sehen was da gerade passiert, im besten fall, keine Fehler meinst du sicherlich so etwas als Antwort?

        journalctl -u mbusd@ttyUSB0.service -f -n 10
        -- Logs begin at Sun 2023-09-10 14:17:02 CEST. --

        Kein Eintrag ist für mich als positiv zu bewerten.

        Jedoch der folgenden Befehl: mbpoll -m rtu /dev/ttyUSB0 -b 9600 -P none -r 531 -0 -1 -v

        ergibt:

        -- Polling slave 1...
        [01][03][02][13][00][01][74][77]
        Waiting for a confirmation...
        <01><90><02><00><00>
        ERROR CRC received 0x0 != CRC calculated 0xCDC1
        Read output (holding) register failed: Invalid CRC

        Hattest du diesen Fehler auch? Wenn ja wie wurde er behoben?

        Hast du einen Lösungsvorschlag?

        Grüsse
        RP

        mrFenyx 1 Reply Last reply Reply Quote 0
        • mrFenyx
          mrFenyx @Schwabe_CH last edited by

          @schwabe_ch ja, den Fehler habe ich auch immer noch sehr oft - anscheinend gibt es da ein Problem wenn man direkt auf die Daten mit ModbusRTU zugreifen will. Da hilft aber das mbusd Tool, was die ModbusRTU daten in ModbusTCP konvertiert (wenn es richtig konfiguriert ist 😉 ). Versuch es mit diesem Befehl: mbpoll localhost -r 531 -0 -1 -v. Damit geht es bei mir 99% der Zeit (manchmal schlägt das auch fehl).

          Stell auch sicher dass das mbusd tool wirklich läuft, mit sudo service mbusd@ttyUSB0 status. Hier soll das Ergebnis so aussehen:
          39300ee1-2246-491b-94a9-01dd323f312e-image.png
          Viel Glück! Wenn es weiterhin Probleme gibt, lass es mich wissen, vielleicht kann ich helfen.

          S 1 Reply Last reply Reply Quote 0
          • Snowboarder2611
            Snowboarder2611 last edited by

            Hallo in die Runde,
            Erst einmal ein großes Dankeschön für die Erklärung.
            Ich habe nun seit heute meinen Wechselrichter 3PH HYD15000
            Dort gibt es einen Com Anschluss. Die Pins 5 und 6 gehen zur Kommunikation an den 3 Phasen Messer.
            Pin 1-4 (je zwei + und -) sind noch frei. Laut Anleitung dienen diese zur Bildung einer Cascade.
            Allerdings habe ich schon von Begin an Probleme mit den Programmen auf dem Pi.
            Ich habe mbpoll installiert. Die Adresse des USB Gerätes (das aus deinem Amazonlink) ist auch /dev/ttyUSB0
            Ich habe geschaut, ob es läuft. Dabei kam auch was zurück. Also OK.
            Nun mbusd. Da fing es bei mir an schwierig zu werden. Da ich kein Held in Sachen Pi bin, kann ich da auch nicht Dinge die andere für selbsterklärend sind.
            Habe aber mbusd wohl soweit installiert bekommen.
            Aber wie erzeuge ich die Config in dem besagten Ordner? Ich habe da einiges rumprobiert. Aber dies wohl dann doch nicht wirklich richtig gemacht. Hier benötige ich noch mal eine genauere Erklärung.
            Mit dem Befehl journalctl -u mbusd@<serial port>.service -f -n 10 kam nur -bash: serial: No such file or directory
            Dann habe ich nochmal mbpoll ausprobiert mbpoll localhost -r 531 -0 -1 -v und es kommt Connecting to [localhost]:502 Connecting to [localhost]:502 mbpoll: Connection failed: Connection refused.

            Jetzt komme ich hier erst mal nicht weiter.

            1 Reply Last reply Reply Quote 0
            • S
              Schwabe_CH @mrFenyx last edited by

              @mrfenyx Danke für die Hilfe. Habe mich heute wieder mal daran gewagt.
              Nun habe ich beim Aufruf von :
              /etc/mbusd $ journalctl -u mbusd@ttyUSB0.service -f -n 10
              einen Fehler.
              Screenshot 2023-09-17 183615.png

              Screenshot 2023-09-17 183649.png

              Screenshot 2023-09-17 184525.png

              Screenshot 2023-09-17 184547.png

              Meiner Meinung nach richtiges .conf File, in richtigem Verzeichnis.
              Woran könnte das liegen.
              Die erste Idee, Berechtigung, ist aber root/root.

              Screenshot 2023-09-17 184017.png Screenshot 2023-09-17 184133.png

              Hast Du einen Tip woran das liegen könnte?

              Danke und einen schönen Abend

              mrFenyx 1 Reply Last reply Reply Quote 0
              • mrFenyx
                mrFenyx @Schwabe_CH last edited by

                @schwabe_ch Hier die /etc/mbusd/mbusd-ttyUSB0.conf bei mir (ownership ist root:root):

                # Serial port device name
                device = /dev/ttyUSB0
                
                # Serial port speed (Folow on your PLC or Modbus Device config)
                speed = 9600
                
                # Serial port mode (Folow on your PLC or Modbus Device config)
                mode = 8n1
                
                # RS-485 data direction control type (addc, rts, sysfs_0, sysfs_1)
                trx_control = addc
                
                # Sysfs file to use to control data direction
                # trx_sysfile =
                
                ############# TCP port settings #############
                
                # TCP server port number
                port = 502
                
                # Maximum number of simultaneous TCP connections
                maxconn = 32
                
                # Connection timeout value in seconds
                timeout = 60
                
                ######### Request/response settings #########
                
                # Maximum number of request retries
                retries = 3
                
                # Pause between requests in milliseconds
                pause = 100
                
                # Response wait time in milliseconds
                wait = 500
                

                So wie ich die Fehlermeldung lese, kann es dein USB - Serial Gerät nicht finden. Was sagt das Befehl ls /dev/*USB*?

                Thomas Braun S 2 Replies Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @mrFenyx last edited by

                  @mrfenyx sagte in ModBus Hilfe - Azzurro ZCS:

                  So wie ich die Fehlermeldung lese, kann es dein USB - Serial Gerät nicht finden.

                  Ich würde da ohnehin empfehlen, den Link zum Gerät aus /dev/serial/by-id einzutragen.

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Schwabe_CH @mrFenyx last edited by

                    @mrfenyx -- Danke fürden Hinweis.

                    ls /dev/USB ergibt /dev/ttyUSB0

                    Ich habe seit gestern das wohl falsch bestellte WIFI Kit white Datalogger eines Kollegen angeschlossen um zu testen ob die RS485 überhaupt funktioniert.

                    Tut sie, es werden auch Daten an die App übermittelt.
                    So weit so gut, aber der Inverter zeigt das RS485 Logo im Display nicht immer an. Folgendes hat eine zeitliche wenn auch nicht ganz genaue Messung ergeben:

                    20-25 Sekunden up
                    60-70 Sekunden down
                    20-25 Sekunden up
                    60-670 Sekunden down
                    ...usw

                    Könnte der Fehler von mbpoll damit zusammenhängen?
                    Denn der neue Aufruf nachdem ich nochmals alles auf einer neuen SD erstellt habe sieht folgendermassen aus:
                    Datalogger wurde natürlich vorher abgehängt.

                    -- Polling slave 1...
                    [01][03][02][13][00][01][74][77]
                    Waiting for a confirmation...
                    ERROR Connection timed out: select
                    Read output (holding) register failed: Connection timed out

                    mrFenyx 1 Reply Last reply Reply Quote 0
                    • S
                      Schwabe_CH @Thomas Braun last edited by

                      @thomas-braun : Könntest du mir bitte kurz erklären was der Unterschied von /dev/serial/by-id zu /dev/ttyUSB0 wäre.

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @Schwabe_CH last edited by

                        @schwabe_ch

                        Kann ich. Die /dev/tty* Dateien werden vom Kernel 'zufällig' in der Reihenfolge des Auftauchens des Gerätes vergeben. Das kann sich ändern, jenachdem ob ein Gerät von Hand umgestöpselt wird oder welches Gerät beim Booten zuerst 'hier bin ich' ruft.
                        Die Links aus /dev/serial/by-id sind immer die gleichen (außer bei einem Firmware-Update würde die ID verändert) und verweisen dann auf das richtige, zuvor vom Kernel (siehe oben) zugewiesene Gerät in /dev/tty*

                        Deswegen gibt man in den Einstellungen auch die fixe Datei als Adressat an und nicht den Wanderzirkus aus /dev/tty*

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Schwabe_CH @Thomas Braun last edited by

                          @thomas-braun Danke, bei mir im /dev/serial/by-id/ ist ein Verweis mit dem Namen: usb-FTDI_FT232R_USB_UART_A10OQNJW-if00-port0 auf ../../ttyUSB0 enthalten. Das bedeutet somit, egal in welchem der 4 USB Ports und egal wie viele USB Devices daran angeschlossen sind mit dem .../by-id/ findet er immer den für mich entscheidenden ttyUSB0.

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @Schwabe_CH last edited by Thomas Braun

                            @schwabe_ch

                            Wobei es wie bereits gesagt passieren kann, dass da auf einmal /dev/ttyUSB1 verlinkt wird. Deswegen geht man ja auf die by-id-Datei und nicht direkt auf die Geräte-Datei.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Schwabe_CH @Thomas Braun last edited by

                              @thomas-braun Wieder was gelernt, danke. 👍

                              1 Reply Last reply Reply Quote 0
                              • mrFenyx
                                mrFenyx @Schwabe_CH last edited by

                                @schwabe_ch also leider habe ich auch manchmal das Problem dass das RS485 Logo nicht mehr im Display vom Inverter angezeigt wird. Wenn das passiert, dann schickt es tatsächlich keine Daten mehr - bei mir passiert das aber extrem selten, vielleicht einmal alle 2-3 Monate. Die einzige Lösung die ich dafür bis jetzt habe, ist am Inverter in die Einstellungen zu gehen, zu Kommunikation und dort alle einzelne Einstellungen einmal öffnen und bestätigen (also Port, Baud Rate, Stop bit, etc.) - nichts ändern, nur öffnen und bestätigen. Dann kommt das Logo wieder im Display an und die Daten gehen zur Raspi.
                                Wegen mbpoll, wie schon vorher gesagt, ich bekomme fast nie Daten wenn ich diese direkt per ModbusRTU anfrage, also quasi /dev/... benutze. Es funktioniert aber 99,9% richtig wenn ich mit mbusd das in ModbusTCP "konvertiere" und dann localhost:502 benutze.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Schwabe_CH @mrFenyx last edited by

                                  @mrfenyx said in ModBus Hilfe - Azzurro ZCS:

                                  Kommunikation und dort alle einzelne Einstellungen einmal öffnen und bestätigen (also Port, Baud Rate, Stop bit, etc.)

                                  Ich habe aber keinen Menüpunkt Kommunikation.
                                  Unter Einstellungen -> 8. Modus-Adresse -> 1. Modus-Adresse / 2. Baud-Rate.
                                  Unter Punkt 2. Baud-Rate sind lediglich die üblichen 9600 usw. aufgeführt. Nix mit Stop bit. etc.
                                  Die Anzeige von RS485 im Display folgt auch einer ziemlich genauen zeitlichen Abfolge. 20 Sek up-60 Sek down usw....
                                  Vom Support azzurro erhalte ich keine Antwort. Mein Solateur ist hilflos überfragt. Dem musste zuerst einmal der Unterschied von RTU und TCP erklärt werden.
                                  Ich hatte gehofft das Problem könnte mit V6 behoben werden. Leider nein.
                                  Irgend eine andere Idee wie ich z.B. die Abfrage optimieren könnte um das Fenster 20 Sek. z.B. in einer Schleife bzw. Zeitverzögerung zu erwischen?

                                  mrFenyx 1 Reply Last reply Reply Quote 0
                                  • Snowboarder2611
                                    Snowboarder2611 last edited by

                                    Hi mrfenyx,

                                    vielleicht kannst du mir an diesem Punkt den entscheidenden Tipp geben:

                                    Dann kann man sowas ausführen, um zu schauen ob alles läuft: mbpoll -m rtu /dev/ttyUSB0 -b 9600 -P none -r 531 -0 -1 -v. Im besten Fall kommt dann ein Wert heraus und nicht eine Fehlermeldung.

                                    Genau da hakt es bei mir, ich bekomme verschiedene Fehlermeldungen im Wechsel:

                                    • ERROR Connection reset by peer: read
                                      Read output (holding) register failed: Connection reset by peer
                                    • ERROR Connection timed out: select
                                      Read output (holding) register failed: Connection timed out
                                    • ERROR CRC received 0x190 != CRC calculated 0x4C00
                                      Read output (holding) register failed: Invalid CRC

                                    Ist das ein Hardware-Problem mit dem Adapter oder kann ich da irgendwas retten? Wäre für jede Hilfe dankbar, bevor ich den nächsten Adapter kaufe...

                                    Besten Dank & Grüße

                                    Thomas Braun mrFenyx 2 Replies Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @Snowboarder2611 last edited by

                                      @snowboarder2611

                                      Sieht für mich nach Fehlern in der Kommunikation zwischen den Geräten aus. Netzwerk stabil?

                                      1 Reply Last reply Reply Quote 0
                                      • Snowboarder2611
                                        Snowboarder2611 last edited by

                                        @Thomas-Braun
                                        der USB Adapter steckt im Raspi. Bei der Abfrage von mir, will ich ja zuerst einmal die Verbindung zum Adapter testen. Dabei entstehen ja schon diese Fehler.
                                        Der Adapter hängt wiederum mit zwei Litzen am Wechselrichter.
                                        Ich wüsste nicht, wo da das Netzwerk Probleme machen sollte. Ich schicke ja nichts über WLAN oder LAN.
                                        Deshalb dachte ich, das der Adapter evtl nicht funktioniert. Ich habe den Adapter gekauft, welcher in Post 4 verlinkt ist.

                                        Gruß

                                        Thomas Braun 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @Snowboarder2611 last edited by

                                          @snowboarder2611

                                          CRC sind jedenfalls Prufsummenfehler. Die werden in der Regel bei wackeligen Datenübertragungen ausgelöst.

                                          1 Reply Last reply Reply Quote 0
                                          • mrFenyx
                                            mrFenyx @Snowboarder2611 last edited by

                                            @snowboarder2611 said in ModBus Hilfe - Azzurro ZCS:

                                            ERROR CRC received 0x190 != CRC calculated 0x4C00
                                            Read output (holding) register failed: Invalid CRC

                                            Genau sowas hatte ich auch ständig bekommen aber das gute daran ist, das bedeutet auch dass die Daten "irgendwie" kommuniziert werden. Ich würde dir auch raten, mbusd zu benutzen. Dann kommen keine Fehlermeldungen mehr und du kannst auch direkt die Daten per ModbusTCP von woanders einfach lesen.

                                            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

                                            712
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            47
                                            7287
                                            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