Verbesserung der Kommunikation MS<->WR nach Huawei PV Update

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Jan W.
    Lox Guru
    • 30.08.2015
    • 1369

    #1

    Verbesserung der Kommunikation MS<->WR nach Huawei PV Update

    Ich habe vor kurzem die Komponenten meiner Huawei PV Anlage aktualisiert. Seit dem Update läuft bei mir die Kommunikation zwischen dem Loxone MS und Huawei WR deutlich besser.
    Kompontente Version alt Version neu
    WR SUN2000-8KTL-M1 V100R001C00SPC162 V100R001C00SPC165
    SDongleA-05 (WLAN-FE) V200R022C10SPC114 V200R022C10SPC118
    Speicher LUNA2000-5KW-C0 V100R002C00SPC621 V100R002C00SPC624
    Ich habe gerade gesehen, dass es sogar neuere Versionen gibt (für Dongle und Speicher), aber die habe ich noch nicht installiert.

    Die Verbesserung ist nicht nur gefühlt, weil ich keine Meldungen mehr von Loxone bekomme, dass irgendwelche Werte nicht abrufbar waren, sondern sind auch messbar. Vorher sah ein Wireshark Dump so aus:

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Wireshark Dump vorher.png
Ansichten: 492
Größe: 884,6 KB
ID: 445554

    Ca. 20% der Modbus Pakete waren Rückmeldungen vom WR mit einem Exception Code "Slave device busy". Mit einem Abfrageintervall von (aus meiner Sicht moderaten) 10 bis 60 sek und hohen Timeout Werten von dem 10-fachen des Intervalls, bekam ich fast täglich Fehlermeldungen. Interessant sind auch die Antwortzeiten, also wie lange es dauert, bis der WR auf eine Leseanfrage eine Antwort liefert (Spalte MB res time). Diese lagen zwischen 0,04 und 3 sek. mit einem Mittelwert von 0,4 sek.

    Die gleichen Abfragen liefern nach dem Update folgenden Dump:

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Wireshark Dump nachher.png
Ansichten: 362
Größe: 845,1 KB
ID: 445555

    Es gibt keine! Modbus Exceptions mehr und die Antwortzeiten liegen zwischen 0,002 und 0,007 sek mit zwei Ausreißern nach oben bis 0,6 sek. Das ist eine ca. 100-fache Verbesserung der Antwortzeiten des Wechselrichters mit 0% Exceptions. Wow! Ich weiß nicht was Huawei im Code geändert hat, aber die Verbesserung ist enorm.

    Hat jemand nähere Informationen, was Huawei geändert hat? Verwendet jemand deutlich kleinere Intervalle von z.B. 1 bis 5 sek?
    Zuletzt geändert von Jan W.; 01.11.2024, 14:53.
    Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
    Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
    Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
    Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
    Node-RED: IKEA Tradfri
  • sLindi
    Smart Home'r
    • 03.06.2021
    • 43

    #2
    Ich habe nun auch ein Update meiner Huawei Komponenten gemacht:
    Gerät alt neu
    SUN2000-10KTL-M1 V100R001C00SPC146 V100R001C00SPC165
    SDongleA-05 V100R001C00SPC125 V200R022C10SPC126
    Nach dem WR-Update hatte ich keine Verbesserungen im Loxone Modbus Monitor erkennen können, war daher etwas skeptisch.
    Nach dem Dongle Update bin ich nun aber auch zuversichtlich, dass dies nun wesentlich besser läuft.

    Modbus Monitor vorher:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 328
Größe: 92,9 KB
ID: 451077

    Modbus Monitor aktuell:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: grafik.png
Ansichten: 273
Größe: 88,7 KB
ID: 451078

    Es kommen keine Fehler mehr, auch die Antwortzeiten sind wesentlich besser.

    Auch die Tracker, welche ich auf die Fehlerausgänge der Modbus Sensoren gehängt habe, haben seit dem Update gestern Abend keine neuen Einträge mehr erhalten
    Vorher waren da immer bei der Dämmerung früh und abends sowie bei sehr kleinen Leistungen mehrere Einträge zu finden.


    Ich klopfe mal auf Holz, dass dies in SUmme nun wesentlich besser läuft, und auch kürzere Abfrageintervalle stabil möglich sind (bei der zweiten Monitoraufnahme hatte ich schonmal testweise die Netzleistung auf 1 Sekunde gestellt)

    Kommentar

    • Jan W.
      Lox Guru
      • 30.08.2015
      • 1369

      #3
      Ich lese den Parameter "nur" alle 5 Sek. aus, weil ich das System nicht überlasten wollte und damit einigermaßen leben kann.

      Lt. Deinem Screenshot wird der Parameter alle 200-300ms ausgelesen, oder? Vielleicht reduziere ich den noch, weil es bei mir seit dem Update sehr stabil läuft. Funktioniert bei Dir noch die Anzeige in der Huawei App bzw. dem Webinterface von Huawei?
      Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
      Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
      Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
      Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
      Node-RED: IKEA Tradfri

      Kommentar

      • sLindi
        Smart Home'r
        • 03.06.2021
        • 43

        #4
        Bei der Anzeige in der FusionSolar App habe ich keine Einschränkungen erkennen können.
        Wobei dorthin die Werte ja wohl nur alle 5 Minuten geschickt werden, daher habe ich hier auch keine negativen Einflüsse erwartet.

        Ich habe jetzt mal die "wichtigen" Werte AC-Power und Netzleistung auf 1 Sekunde gestellt.
        Die restlichen Werte zwischen 5 und 30 Sekunden.

        Einige Parameter habe ich vor dem Update mehrmals als Eingang abgeholt, damit ich die Fehler besser nachvollziehen kann.
        Also je einmal mit und ohne Validierung/Wertkorrektur, und diese dann per Statusbaustein verglichen und als Tracker gespeichert - seit dem Update hat dies aber keine Fehler mehr ergeben.

        Inwieweit man dem Modbus Monitor tatsächlich trauen kann, bin ich mir nicht sicher.
        Bei einem anderen Modbus, wo zwei Geräte drauf hängen, werden diese nämlich immer nur "blockweise" angezeigt, obwohl ich dort zB beim Zähler zumindest einen Wert alle 1s abfrage:
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: grafik.png Ansichten: 0 Größe: 96,1 KB ID: 451104

        PS:
        Ich nutze keine Modbus-Extensions, sondern Waveshare RS485toEthernet Konverter (Edit: WRL und Zähler aus diesem Beitrag, nicht den Huawei WR).
        Möglicherweise macht das auch was aus hinsichtlich Modbus Monitor Auswertung in Loxone.
        Zuletzt geändert von sLindi; 03.01.2025, 18:27.

        Kommentar

        • Jan W.
          Lox Guru
          • 30.08.2015
          • 1369

          #5
          Bei der Anzeige in der FusionSolar App habe ich keine Einschränkungen erkennen können.
          Wobei dorthin die Werte ja wohl nur alle 5 Minuten geschickt werden, daher habe ich hier auch keine negativen Einflüsse erwartet.
          Die TLS Kommunikation kostet aber auch CPU Zeit auf dem SDongle, der dies parallel zu den Modbus TCP Anfragen vom MS erledigen muss.
          Ich nutze keine Modbus-Extensions, sondern Waveshare RS485toEthernet Konverter.
          Ich bin jetzt etwas verwirrt, weil Du in #2 den SDongle erwähnst. Beides geht meines Wissens nicht, wie es gut in https://www.loxforum.com/forum/germa...912#post450912 beschrieben ist. Oder geht nach dem Update sogar beides?

          Bei Deinem Gerät in #4 scheint das Gerät länger für die Antworten zu benötigen. Im Normalfall sollten sich die Meldungen mit weißem (Abfragen) und gelbem (Antworten) Hintergrund abwechseln. Wenn die Kommunikation zwischen Gerät und MS nicht direkt, sondern noch über einen Konverter läuft, dann fehlt die serielle Seite, die im Vergleich zu Ethernet deutlich langsamer ist. Ich nutze daher lieber Wireshark, was den MS nicht zusätzlich belastet und unabhängige Werte (zumindest von der Ethernet-Seite) liefert.
          Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
          Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
          Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
          Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
          Node-RED: IKEA Tradfri

          Kommentar

          • sLindi
            Smart Home'r
            • 03.06.2021
            • 43

            #6
            Zitat von Jan W.
            Ich bin jetzt etwas verwirrt, weil Du in #2 den SDongle erwähnst. Beides geht meines Wissens nicht, wie es gut in https://www.loxforum.com/forum/germa...912#post450912 beschrieben ist. Oder geht nach dem Update sogar beides?
            Sorry für die Verwirrung, das bezog sich nur auf den letzten Screenshot in #4 - dort verwende ich diese RTU2ETH Konverter.
            Den WR frage ich wie seit 2 Jahren über ModBus TCP direkt über Ethernet ab - nur jetzt wesentlich schneller und stabiler!

            Kommentar


            • Jan W.
              Jan W. kommentierte
              Kommentar bearbeiten
              Dann passt das für mich alles. Mich würde ja noch interessieren, was Huawei am Code geändert hat, dass die Zeiten um fast das Hundertfache besser geworden sind, aber wahrscheinlich werde ich den Grund nie erfahren. Am Ende zählt letztendlich nur, dass es jetzt wirklich sehr gut und stabil funktioniert.
          • SehlingS
            Smart Home'r
            • 19.12.2016
            • 86

            #7
            Hey zusammen,

            ich habe seit kurzem auch einen Luna 2000 in Verbindung mit dem Dongle.
            ich habe auf dem Wechselrichter die 167 und auf dem Dongle die 126.

            Soweit ich das beurteilen kann, läuft alles stabil. Meine Frage wäre nun, welchen Timeout ihr verwendet. Je Höher dieser ist je längere Abstände, habe ich natürlich zwischen den einzelnen abrufen. Ich nutze Modbus TCP.

            im anderen Fred schreiben manche etwas von 8000 ms. Das halte ich jedoch etwas für zu hoch.

            Viele Grüße
            Sascha

            Kommentar

            • Jan W.
              Lox Guru
              • 30.08.2015
              • 1369

              #8
              Ich verwende noch 3000 ms ohne Fragmentierung. Es kommt darauf an, wie oft Du die Werte abfragen möchtest. Sicherheitshalber vielleicht noch mal mit Wireshark prüfen. Ich hatte eine Antwortzeit von max. 0,6s mit mehreren Captures, aber immer nur für einige Minuten.
              Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
              Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
              Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
              Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
              Node-RED: IKEA Tradfri

              Kommentar

              • sLindi
                Smart Home'r
                • 03.06.2021
                • 43

                #9
                Ich verwende Timeout 50ms und mit fragmentierte Pakete.
                Hatte das schon immer so (wohl von der Vorlage übernommen?)
                Aber keine Ahnung, was hier gut/schlecht ist - hat ein höherer Wert bei fehlerfreier Kommunikation überhaupt eine Auswirkung?

                Wurde gerade in einem anderen Forum darauf hingewiesen, dass es mittlerweile SPC200 bei der Dongle Firmware gibt.
                Ich bleibe aber erstmal bei SPC126 - funktioniert einwandfrei aktuell (klopf auf Holz).

                Kommentar

                • Jan W.
                  Lox Guru
                  • 30.08.2015
                  • 1369

                  #10
                  Ich verwende Timeout 50ms
                  Bevor der MS evtl. einen Standardwert einsetzt oder Alarm auslöst, würde ich den Timeout erhöhen. Ich hatte einige Ausreißer mit Antwortzeiten bis 0,6s = 600ms. Es kommt am Ende darauf an, wie schnell Deine Anlage antwortet und wie lange der MS maximal auf Antworten warten soll.

                  und mit fragmentierte Pakete.
                  Zu den Feature "Fragmentation" gab es eine interessante Diskussion hier im Forum: https://www.loxforum.com/forum/germa...169#post425169 Sich damit zu beschäftigen, dauert aber mehr als ein paar Minuten.

                  Aber keine Ahnung, was hier gut/schlecht ist - hat ein höherer Wert bei fehlerfreier Kommunikation überhaupt eine Auswirkung?
                  Es ist kein "Fehler", wenn ein Modbus Server nicht innerhalb von X ms antwortet. Eine Kommunikation kann auch mit Antwortzeiten von 500ms fehlerfrei ablaufen. Es hängt sicherlich von der Menge der abzufragenden Werte, den Intervallen und der Leistungsfähigkeit des Servers ab. Meines Wissens hat Huawei hier keine belastbaren Werte genannt. Ob es eine Auswirkung hat, wenn der Dongle nicht innerhalb der eingestellten Timeout Zeit antwortet, hängt auch von mehreren Einstellungen im Modbus Sensor ab, z.B. "Fehlerausgang", "Zeitüberschreitung Empfang" und "Wert bei Zeitüberschreitung". Wenn Du z.B. einen bestimmten Parameter alle 100ms abfragen möchtest, dann macht ein Timeout von 1000ms i.d.R. wenig Sinn. Der Parameter "Fragmentation" und die Anzahl der abzufragenden Parameter spielt hierbei ebenfalls eine Rolle.

                  Meine Empfehlung: wenn Du Dich nicht tiefer mit dem Thema beschäftigen möchtest, um das Maxiumum für Deine Anlage auszutesten, dann empfehle ich für wenige Parameter eine Polling-Rate von 1s (z.B. IO-Adresse 32064), keine Fragmentierung und ein Timeout von 800ms (als etwas unter dem Abfrageintervall). Du solltest aber unwichtigere Parameter deutlich seltener abfragen.

                  Wurde gerade in einem anderen Forum darauf hingewiesen, dass es mittlerweile SPC200 bei der Dongle Firmware gibt.
                  Wg. der Firmware warte ich lieber auch noch ab. Die Beschreibungen in den Release Notes sind leider so dürftig, dass man daraus nicht entnehmen kann, ob ein Upgrade wirklich sinnvoll ist oder dann wieder die alten oder neue Probleme auftreten. Die Sprünge in den Versionen sind mir ebenfalls völlig unklar. Eine Erhöhung um 1-5 Nummern kann ich verstehen, weil nicht jede kleine Änderung veröffentlicht wird und die dazwischenliegenden Nummern wahrscheinlich interne Releases sind. Ein Sprung von 126 auf 200 finde ich aber merkwürdig. Vielleicht will Huawei damit anzeigen, dass die Software jetzt deutlich besser ist, als früher, auch wenn die eigentliche Verbesserung bereit mit 118 erfolgt ist?
                  Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
                  Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
                  Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
                  Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
                  Node-RED: IKEA Tradfri

                  Kommentar

                  Lädt...