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. Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

NEWS

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

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

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

Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
89 Beiträge 16 Kommentatoren 18.8k Aufrufe 14 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.
  • EisbaeeerE Eisbaeeer

    @michbeck sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

    Aktuell ist die Wallbox, wie in der Anleitung beschrieben, an dem WR angeschlossen (also über die Leitung 4 / 5).

    Ah, der SBR096 ist der Akku. Ich habe einen BYD dran hängen. Den sieht man da nicht in der Übersicht.
    Ich dachte das sein ein 2. Wechselrichter.

    M Offline
    M Offline
    MichBeck
    schrieb am zuletzt editiert von
    #11

    @eisbaeeer Hi, wollte mal mein Feedback da lassen.

    Funktioniert nun mit dem auslesen. Vielen Dank für die Tipps.:+1: :+1: :+1:

    Nun muss ich mir noch Gedanken zu Viso machen und was für mich viel wichtiger ist zu der Datenerfassung und Speicherung. Gibt es eigentlich noch andere Register der WB die man auslesen kann?

    Was mich echt etwas nervt, ist dass man nirgends herausbekommt, was die WB an Überschuss und was aus dem Netz geladen hat :disappointed: . Da wird echt tricky...

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      MichBeck
      schrieb am zuletzt editiert von
      #12

      @Eisbaeeer Sorry ich habe da nochmal eine Frage, da ich das mit der Viso nicht auf die Kette bekomme.

      Was sind das denn für Einheiten?

      modbus.1.inputRegisters.21307_Charging_Power ist W also Watt? Aber der Wert kommt mir doch etwas komisch vor 275185664 W

      modbus.1.inputRegisters.21309_Charging_Engery mit Wh. Da ist der Wert auch etwas hoch wenn ich diesen in kWh umrechne.

      M 1 Antwort Letzte Antwort
      0
      • M MichBeck

        @Eisbaeeer Sorry ich habe da nochmal eine Frage, da ich das mit der Viso nicht auf die Kette bekomme.

        Was sind das denn für Einheiten?

        modbus.1.inputRegisters.21307_Charging_Power ist W also Watt? Aber der Wert kommt mir doch etwas komisch vor 275185664 W

        modbus.1.inputRegisters.21309_Charging_Engery mit Wh. Da ist der Wert auch etwas hoch wenn ich diesen in kWh umrechne.

        M Offline
        M Offline
        MichBeck
        schrieb am zuletzt editiert von
        #13

        @michbeck said in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

        @Eisbaeeer Sorry ich habe da nochmal eine Frage, da ich das mit der Viso nicht auf die Kette bekomme.

        Was sind das denn für Einheiten?

        modbus.1.inputRegisters.21307_Charging_Power ist W also Watt? Aber der Wert kommt mir doch etwas komisch vor 275185664 W

        modbus.1.inputRegisters.21309_Charging_Engery mit Wh. Da ist der Wert auch etwas hoch wenn ich diesen in kWh umrechne.

        @Eisbaeeer Kannst du mir da eventuell noch einen Denkanstoß geben. Ich verstehe die Werte nicht.

        EisbaeeerE 1 Antwort Letzte Antwort
        0
        • M MichBeck

          @michbeck said in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

          @Eisbaeeer Sorry ich habe da nochmal eine Frage, da ich das mit der Viso nicht auf die Kette bekomme.

          Was sind das denn für Einheiten?

          modbus.1.inputRegisters.21307_Charging_Power ist W also Watt? Aber der Wert kommt mir doch etwas komisch vor 275185664 W

          modbus.1.inputRegisters.21309_Charging_Engery mit Wh. Da ist der Wert auch etwas hoch wenn ich diesen in kWh umrechne.

          @Eisbaeeer Kannst du mir da eventuell noch einen Denkanstoß geben. Ich verstehe die Werte nicht.

          EisbaeeerE Offline
          EisbaeeerE Offline
          Eisbaeeer
          Developer
          schrieb am zuletzt editiert von Eisbaeeer
          #14

          @michbeck sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

          @michbeck said in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

          @Eisbaeeer Sorry ich habe da nochmal eine Frage, da ich das mit der Viso nicht auf die Kette bekomme.

          @Eisbaeeer Kannst du mir da eventuell noch einen Denkanstoß geben. Ich verstehe die Werte nicht.

          Also ich habe meine Messwerte wie folgt errechnet:

          var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
          
          on(idObjektePower, function (obj) {
              var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
              var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
              var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
              var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
              var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
              var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
              setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
              //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
          });
          

          Das hat bei mir soweit gepasst. Leider weigert sich der Sungrow Support, mir die Modbus-Register mitzuteilen. :-(

          Ich hab es dann aufgegeben, nachdem sie mich hingehalten haben und erst behauptet haben, es gäbe keine Modbus Register in Sungrow Produkten.
          Dann hab ich eine Anleitung bekommen, wie man die Wallbox als Insel konfiguriert, usw. Zum Schluss haben sie mir die Excel Dateien gesendet, die ich schon hatte. Da fehlen aber die Modbus Register vom Energiemanager des SHXXRT.
          Hab keinen Bock mehr und mir reichen die Modbus Register, die ich jetzt habe. Damit kann ich derzeit alles steuern, was ich brauche. Ich hoffe du kannst mit den Berechnungen was anfangen bzw. für dich nutzen?
          Gruß Lars

          Kein support per PM. Bitte im Forum Fragen stellen!

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mkraus81
            schrieb am zuletzt editiert von Homoran
            #15

            Hi,

            ich bin neu bei ioBroker... aber eigentlich nicht so ganz doof.
            Aber die Wallbox bekomme ich nicht ausgelesen...
            weder per eigener Modbus Instanz noch in der Instanz für den SH10 Wechselrichter mit DeviceId 2 im Eingangsregister

            Es werden zwar jeweils die "Objekte" angelegt ABER keine aktuellen Werte für die Wallbox

            Wenn ich mit der Modbus Instanz für den SH10 und DeviceId 2 im Eingangsregister arbeite, erhalte ich auch folgenden Fehler im Protokoll

            modbus.0
            2024-07-28 14:27:18.242	info	Disconnected from slave 192.168.178.130
            modbus.0
            2024-07-28 14:27:17.243	warn	[2] Poll error count: 1 code: {"err":"timeout","timeout":5000}
            modbus.0
            2024-07-28 14:27:17.242	error	Client in error state.
            modbus.0
            2024-07-28 14:27:17.242	error	Request timed out.
            modbus.0
            2024-07-28 14:27:17.241	warn	Error: undefined
            modbus.0
            2024-07-28 12:27:12.119	info	Connected to slave 192.168.178.130
            

            bei der eigenen Modbus-Instanz gibt es nur folgende Einträge im Protokoll
            die IP für die Modbox-Instanz ist die LAN-ID vom Dongle

            modbus.3
            2024-07-28 14:30:26.334	info	Connected to slave 192.168.178.133
            modbus.3
            2024-07-28 14:30:25.912	info	starting. Version 6.2.3 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.16.0, js-controller: 5.0.19
            modbus.3
            2024-07-28 12:30:22.076	info	terminating
            modbus.3
            2024-07-28 12:30:21.573	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
            modbus.3
            2024-07-28 12:30:21.572	info	terminating
            modbus.3
            2024-07-28 12:30:21.570	info	Got terminate signal TERMINATE_YOURSELF
            

            Was mache ich falsch?

            MOD-EDIT: Code in code-tags gesetzt!

            M 1 Antwort Letzte Antwort
            0
            • M mkraus81

              Hi,

              ich bin neu bei ioBroker... aber eigentlich nicht so ganz doof.
              Aber die Wallbox bekomme ich nicht ausgelesen...
              weder per eigener Modbus Instanz noch in der Instanz für den SH10 Wechselrichter mit DeviceId 2 im Eingangsregister

              Es werden zwar jeweils die "Objekte" angelegt ABER keine aktuellen Werte für die Wallbox

              Wenn ich mit der Modbus Instanz für den SH10 und DeviceId 2 im Eingangsregister arbeite, erhalte ich auch folgenden Fehler im Protokoll

              modbus.0
              2024-07-28 14:27:18.242	info	Disconnected from slave 192.168.178.130
              modbus.0
              2024-07-28 14:27:17.243	warn	[2] Poll error count: 1 code: {"err":"timeout","timeout":5000}
              modbus.0
              2024-07-28 14:27:17.242	error	Client in error state.
              modbus.0
              2024-07-28 14:27:17.242	error	Request timed out.
              modbus.0
              2024-07-28 14:27:17.241	warn	Error: undefined
              modbus.0
              2024-07-28 12:27:12.119	info	Connected to slave 192.168.178.130
              

              bei der eigenen Modbus-Instanz gibt es nur folgende Einträge im Protokoll
              die IP für die Modbox-Instanz ist die LAN-ID vom Dongle

              modbus.3
              2024-07-28 14:30:26.334	info	Connected to slave 192.168.178.133
              modbus.3
              2024-07-28 14:30:25.912	info	starting. Version 6.2.3 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.16.0, js-controller: 5.0.19
              modbus.3
              2024-07-28 12:30:22.076	info	terminating
              modbus.3
              2024-07-28 12:30:21.573	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
              modbus.3
              2024-07-28 12:30:21.572	info	terminating
              modbus.3
              2024-07-28 12:30:21.570	info	Got terminate signal TERMINATE_YOURSELF
              

              Was mache ich falsch?

              MOD-EDIT: Code in code-tags gesetzt!

              M Offline
              M Offline
              mkraus81
              schrieb am zuletzt editiert von
              #16

              ich habe die Instanz für die Wallbox nochmal gelöscht und neu angelegt
              nun geht es... mit einer extra instanz

              aber sollte es nicht auch mit der DeviceId in der Instanz vom SH-Wechselrichter gehen? oder funktioniert das nur beim Akku (ich habe keinen)

              EisbaeeerE 1 Antwort Letzte Antwort
              0
              • M mkraus81

                ich habe die Instanz für die Wallbox nochmal gelöscht und neu angelegt
                nun geht es... mit einer extra instanz

                aber sollte es nicht auch mit der DeviceId in der Instanz vom SH-Wechselrichter gehen? oder funktioniert das nur beim Akku (ich habe keinen)

                EisbaeeerE Offline
                EisbaeeerE Offline
                Eisbaeeer
                Developer
                schrieb am zuletzt editiert von
                #17

                @mkraus81 Es geht nur mit einer eigenen Instanz über die IP des WinetS.

                Kein support per PM. Bitte im Forum Fragen stellen!

                1 Antwort Letzte Antwort
                1
                • EisbaeeerE Eisbaeeer

                  Über diesen Thread konnte ich meinen Hybrid Wechselrichter Sungrow SH10RT mittels Modbus TCP einbinden. Da lag es nahe, die passende Wallbox über den Wechselrichter und dessen EnergyManager anzubinden.
                  Die Wallbox wird über RS485 an den Hybriden angebunden und dann auch in der Solarcloud mit angezeigt. In der App kann man die Wallbox mit steuern und auch den Lademodus definieren (Überschussladen, Schnelladen, etc.).

                  Mir ist es jetzt gelungen, die Wallbox ebenfalls über Modbus auszulesen und auch die Ladung zu starten und zu stoppen. Mit dieser Möglichkeit kann ich nun selbst definieren, wann das Auto geladen werden soll und in welchem Modus. Mal ganz abgesehen von der Visualisierung ist das schon ganz nice.

                  Ich habe hier die nötigen Register in einer ZIP-Datei mit angehängt. Über die Register lässt sich die Wallbox auslesen und auch beschreiben.

                  Grüße Lars

                  5bc09729-12f7-4184-bbd5-7fef1cda41ad-image.png

                  AC011E01_Modbus_Register.zip

                  fcf029a0-6cad-4f54-8c8b-5878eefdb634-image.png

                  H Offline
                  H Offline
                  Hetti
                  schrieb am zuletzt editiert von
                  #18

                  @eisbaeeer :
                  Super Sache mit den Laderegistern am Wechselrichter, hatte mich an der Wallbox schon totgesucht ;-)
                  Hinweis, den Register 33549 habe ich mal getestet und einen anderen Zustand vorgefunden:
                  = 85 > PV-Überschussladen ohne Netzbezug
                  = 170 > PV-Überschussladen MIT Netzbezug

                  werde weitere Register testen. Was die Wallbox heute nicht kann - das Überschussladen starten wenn das Auto angeschlossen wird bzw. den Ladevorgang fortsetzen wenn er wegen zu wenig PV-Leistung unterbrochen wurde. Dazu gibt es im photovoltaik Forum einen schönen Ansatz.
                  Sungrow Wallbox AC011E-01 über Modbus steuern

                  Gruß
                  Hubertus

                  1 Antwort Letzte Antwort
                  1
                  • D Offline
                    D Offline
                    DrB 0
                    schrieb am zuletzt editiert von
                    #19

                    Hallo zusammen,

                    Danke erstmal für die tolle Arbeit und das Teilen!

                    Bei mir steht demnächst eine Erweiterung meiner PV-Anlage an.
                    Aktuell habe ich 20,8 KWp mit einem SH10RT, einem SG10RT und einer SBR096 (Batterie).

                    Diese Anlage wird wie folgt ergänzt/ersetzt:
                    Der SG10RT wird durch einen SH10RT plus zusätzlicher SBR096 ersetzt, sodass dann zwei SH10RT im Parallelbetrieb mit je einer Batterie laufen wird.

                    Zusätzlich kommt die Sungrow Wallbox dazu.
                    Jetzt kommt der Knackpunkt.

                    Dadurch, dass die zwei SH10RT (je mit Batterie) im Parallelbetrieb die RS458 Schnittstelle belegen werden, kann die Wallbox nicht am WR betrieben werden.
                    Das heißt sie muss Standalone laufen. Dennoch möchte ich natürlich Überschussladen inkl. Phasenumschaltung nutzen. Bislang lese ich die WRs und Batterie bereits via modbus aus. Aktuell läuft das über die openWB, die dann alle Werte per mqtt an die weiteren Smarthome-Geräte (Loxone, iobroker, NodeRed, evcc(testweise)) verteilt. Dieser Umweg ist ja notwendig, da die WRs Probleme haben mit Zugriffen von mehreren Clients.

                    Nun meine Frage: Kann die Wallbox Standalone eingerichtet werden und dann mit einem RS458 to TCP/IP Wandler über ein „Smarthome-Gerät“ wie iobroker, Loxone, NodeRed (zur Not auch evcc) o.ä. gesteuert werden?

                    Bleiben dann die Modbus Register gleich, wie bei der Variante wo WR und Wallbox miteinander verbunden sind?

                    Danke und VG
                    Francesco

                    EisbaeeerE 1 Antwort Letzte Antwort
                    0
                    • D DrB 0

                      Hallo zusammen,

                      Danke erstmal für die tolle Arbeit und das Teilen!

                      Bei mir steht demnächst eine Erweiterung meiner PV-Anlage an.
                      Aktuell habe ich 20,8 KWp mit einem SH10RT, einem SG10RT und einer SBR096 (Batterie).

                      Diese Anlage wird wie folgt ergänzt/ersetzt:
                      Der SG10RT wird durch einen SH10RT plus zusätzlicher SBR096 ersetzt, sodass dann zwei SH10RT im Parallelbetrieb mit je einer Batterie laufen wird.

                      Zusätzlich kommt die Sungrow Wallbox dazu.
                      Jetzt kommt der Knackpunkt.

                      Dadurch, dass die zwei SH10RT (je mit Batterie) im Parallelbetrieb die RS458 Schnittstelle belegen werden, kann die Wallbox nicht am WR betrieben werden.
                      Das heißt sie muss Standalone laufen. Dennoch möchte ich natürlich Überschussladen inkl. Phasenumschaltung nutzen. Bislang lese ich die WRs und Batterie bereits via modbus aus. Aktuell läuft das über die openWB, die dann alle Werte per mqtt an die weiteren Smarthome-Geräte (Loxone, iobroker, NodeRed, evcc(testweise)) verteilt. Dieser Umweg ist ja notwendig, da die WRs Probleme haben mit Zugriffen von mehreren Clients.

                      Nun meine Frage: Kann die Wallbox Standalone eingerichtet werden und dann mit einem RS458 to TCP/IP Wandler über ein „Smarthome-Gerät“ wie iobroker, Loxone, NodeRed (zur Not auch evcc) o.ä. gesteuert werden?

                      Bleiben dann die Modbus Register gleich, wie bei der Variante wo WR und Wallbox miteinander verbunden sind?

                      Danke und VG
                      Francesco

                      EisbaeeerE Offline
                      EisbaeeerE Offline
                      Eisbaeeer
                      Developer
                      schrieb am zuletzt editiert von Eisbaeeer
                      #20

                      @drb-0 sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

                      Bleiben dann die Modbus Register gleich, wie bei der Variante wo WR und Wallbox miteinander verbunden sind?

                      Laut Datenblatt von Sungrow bleiben die Register gleich. Im SH10RT ist eben zusätzlich der Energiemanager enthalten, der das Überschussladen bzw. allgemein die verschiedenen Modis regelt und auch das Einstellen über die iSolarcloud zulässt. Das entfällt dann natürlich hier.

                      Wobei so wie ich das verstanden habe schon ab dem Moment entfällt, bei dem mehre Geräte (zweiter Akku, Wechselrichter, etc.) am Modbus hängen. Du könntest also, auch wenn du wolltest, die Wallbox nicht am SH10RT anbinden.
                      Die Funktion des Energiemanagers muss dann ein anderes System übernehmen und die Wallbox entsprechend ansteuern.

                      Kein support per PM. Bitte im Forum Fragen stellen!

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        aleks-83
                        schrieb am zuletzt editiert von aleks-83
                        #21

                        Hi @Eisbaeeer, erst mal vielen Dank für das Teilen deiner Register.
                        Das bringt mir eine lang ersehnte Funktion in mein Zuhause :)

                        Allerdings, habe ich, wie @MichBeck ebenfalls die Frage nach den hohen Werten.

                        068e54eb-cf12-4ecc-af91-805f30f56701-2024-12-30 21-39-35@2x.png

                        Nach dem ausgelesenen Register sollte meine WB insgesamt 2.853.241 kWh geladen haben. Laut iSolarCloud sollten es aber nur 6.072kWh sein.
                        576b4850-d0c2-4fea-8658-5c7fd30fed70-2024-12-30 21-49-30@2x.png

                        Gleiches gilt für die Ladeleistung.
                        Aktuell lädt mein Fahrzeug mit 2,6kW vor sich hin.
                        e7c24c49-2fed-455a-9832-8d0959101b90-2024-12-30 21-51-54@2x.png
                        Das Register meldet aber 172.687 kW

                        Insgesamt sind alle "Power" Werte in Watt zu hoch meiner Meinung nach.
                        Habe ich ein Register Fehler?
                        Ich habe das Register von dir direkt importiert.

                        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                        Glasfaser 400

                        EisbaeeerE 1 Antwort Letzte Antwort
                        0
                        • A aleks-83

                          Hi @Eisbaeeer, erst mal vielen Dank für das Teilen deiner Register.
                          Das bringt mir eine lang ersehnte Funktion in mein Zuhause :)

                          Allerdings, habe ich, wie @MichBeck ebenfalls die Frage nach den hohen Werten.

                          068e54eb-cf12-4ecc-af91-805f30f56701-2024-12-30 21-39-35@2x.png

                          Nach dem ausgelesenen Register sollte meine WB insgesamt 2.853.241 kWh geladen haben. Laut iSolarCloud sollten es aber nur 6.072kWh sein.
                          576b4850-d0c2-4fea-8658-5c7fd30fed70-2024-12-30 21-49-30@2x.png

                          Gleiches gilt für die Ladeleistung.
                          Aktuell lädt mein Fahrzeug mit 2,6kW vor sich hin.
                          e7c24c49-2fed-455a-9832-8d0959101b90-2024-12-30 21-51-54@2x.png
                          Das Register meldet aber 172.687 kW

                          Insgesamt sind alle "Power" Werte in Watt zu hoch meiner Meinung nach.
                          Habe ich ein Register Fehler?
                          Ich habe das Register von dir direkt importiert.

                          EisbaeeerE Offline
                          EisbaeeerE Offline
                          Eisbaeeer
                          Developer
                          schrieb am zuletzt editiert von
                          #22

                          @aleks-83 Hallo zusammen
                          Ich hatte jetzt noch nicht die Zeit, den Fehler zu suchen. Ich denke die Einheit stimmt nicht.
                          Die Ladeleistung muss jedoch über die einzelnen Phasen und Spannung berechnet werden.
                          Ich habe mir dazu ein Java-Script gebaut.

                          var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                          
                          on(idObjektePower, function (obj) {
                              var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                              var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                              var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                              var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                              var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                              var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                              setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                              //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                          });
                          

                          Die gesamte Lademenge und Menge der letzten Ladung habe ich bis jetzt nicht benutzt. Die Register sind aus verschiedenen Foren zusammengesucht und können natürlich auch Fehler enthalten.
                          Ich würde aber darum bitten, falls hier Fehler gefunden werden, diese als Issue unter folgendem Github zu hinterlegen, damit das korrigiert wird:
                          https://github.com/shcshc76/sungrow
                          Das würde dann allen helfen.
                          Grüße Lars

                          Kein support per PM. Bitte im Forum Fragen stellen!

                          A forandy1aF A 4 Antworten Letzte Antwort
                          1
                          • EisbaeeerE Eisbaeeer

                            @aleks-83 Hallo zusammen
                            Ich hatte jetzt noch nicht die Zeit, den Fehler zu suchen. Ich denke die Einheit stimmt nicht.
                            Die Ladeleistung muss jedoch über die einzelnen Phasen und Spannung berechnet werden.
                            Ich habe mir dazu ein Java-Script gebaut.

                            var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                            
                            on(idObjektePower, function (obj) {
                                var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                            });
                            

                            Die gesamte Lademenge und Menge der letzten Ladung habe ich bis jetzt nicht benutzt. Die Register sind aus verschiedenen Foren zusammengesucht und können natürlich auch Fehler enthalten.
                            Ich würde aber darum bitten, falls hier Fehler gefunden werden, diese als Issue unter folgendem Github zu hinterlegen, damit das korrigiert wird:
                            https://github.com/shcshc76/sungrow
                            Das würde dann allen helfen.
                            Grüße Lars

                            A Offline
                            A Offline
                            aleks-83
                            schrieb am zuletzt editiert von
                            #23

                            @eisbaeeer
                            Danke für die Antwort und deine Mühe.

                            Ich habe ein Issue erstellt.
                            https://github.com/shcshc76/sungrow/issues/3

                            = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                            = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                            Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                            Glasfaser 400

                            1 Antwort Letzte Antwort
                            1
                            • EisbaeeerE Eisbaeeer

                              @aleks-83 Hallo zusammen
                              Ich hatte jetzt noch nicht die Zeit, den Fehler zu suchen. Ich denke die Einheit stimmt nicht.
                              Die Ladeleistung muss jedoch über die einzelnen Phasen und Spannung berechnet werden.
                              Ich habe mir dazu ein Java-Script gebaut.

                              var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                              
                              on(idObjektePower, function (obj) {
                                  var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                  var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                  var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                  var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                  var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                  var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                  setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                  //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                              });
                              

                              Die gesamte Lademenge und Menge der letzten Ladung habe ich bis jetzt nicht benutzt. Die Register sind aus verschiedenen Foren zusammengesucht und können natürlich auch Fehler enthalten.
                              Ich würde aber darum bitten, falls hier Fehler gefunden werden, diese als Issue unter folgendem Github zu hinterlegen, damit das korrigiert wird:
                              https://github.com/shcshc76/sungrow
                              Das würde dann allen helfen.
                              Grüße Lars

                              forandy1aF Offline
                              forandy1aF Offline
                              forandy1a
                              schrieb am zuletzt editiert von
                              #24

                              @eisbaeeer für den Vehicle SoC gibt es kein Register?

                              1 Antwort Letzte Antwort
                              0
                              • EisbaeeerE Eisbaeeer

                                @aleks-83 Hallo zusammen
                                Ich hatte jetzt noch nicht die Zeit, den Fehler zu suchen. Ich denke die Einheit stimmt nicht.
                                Die Ladeleistung muss jedoch über die einzelnen Phasen und Spannung berechnet werden.
                                Ich habe mir dazu ein Java-Script gebaut.

                                var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                
                                on(idObjektePower, function (obj) {
                                    var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                    var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                    var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                    var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                    var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                    var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                    setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                    //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                                });
                                

                                Die gesamte Lademenge und Menge der letzten Ladung habe ich bis jetzt nicht benutzt. Die Register sind aus verschiedenen Foren zusammengesucht und können natürlich auch Fehler enthalten.
                                Ich würde aber darum bitten, falls hier Fehler gefunden werden, diese als Issue unter folgendem Github zu hinterlegen, damit das korrigiert wird:
                                https://github.com/shcshc76/sungrow
                                Das würde dann allen helfen.
                                Grüße Lars

                                forandy1aF Offline
                                forandy1aF Offline
                                forandy1a
                                schrieb am zuletzt editiert von
                                #25

                                @eisbaeeer gibt es ein Register für Vehicle SoC?

                                1 Antwort Letzte Antwort
                                0
                                • EisbaeeerE Eisbaeeer

                                  @aleks-83 Hallo zusammen
                                  Ich hatte jetzt noch nicht die Zeit, den Fehler zu suchen. Ich denke die Einheit stimmt nicht.
                                  Die Ladeleistung muss jedoch über die einzelnen Phasen und Spannung berechnet werden.
                                  Ich habe mir dazu ein Java-Script gebaut.

                                  var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                  
                                  on(idObjektePower, function (obj) {
                                      var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                      var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                      var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                      var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                      var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                      var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                      setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                      //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                                  });
                                  

                                  Die gesamte Lademenge und Menge der letzten Ladung habe ich bis jetzt nicht benutzt. Die Register sind aus verschiedenen Foren zusammengesucht und können natürlich auch Fehler enthalten.
                                  Ich würde aber darum bitten, falls hier Fehler gefunden werden, diese als Issue unter folgendem Github zu hinterlegen, damit das korrigiert wird:
                                  https://github.com/shcshc76/sungrow
                                  Das würde dann allen helfen.
                                  Grüße Lars

                                  A Offline
                                  A Offline
                                  ahnungsloshoffnungsvoll
                                  schrieb am zuletzt editiert von
                                  #26

                                  @eisbaeeer
                                  vielen Dank für dein Script,
                                  ich habe es für mich etwas umgeschrieben, aber es will nicht so richtig funktionieren. Apropos, ich habe von Programmieren keine Ahnung. Was ich versucht habe Modus in manuell erzeugtes Objekt zu speichern:

                                  var Ladeleistung;
                                  
                                  // Diese Funktion berechnet und speichert die Ladeleistung
                                  async function etwas_tun(Ladeleistung) {
                                      // Array mit den Modbus-Objekten für Spannung und Strom
                                      var idObjektePower = [
                                          "modbus.1.inputRegisters.21301_Charging_Voltage_R",
                                          "modbus.1.inputRegisters.21303_Charging_Voltage_S",
                                          "modbus.1.inputRegisters.21305_Charging_Voltage_T",
                                          "modbus.1.inputRegisters.21302_Charging_Current_R",
                                          "modbus.1.inputRegisters.21304_Charging_Current_S",
                                          "modbus.1.inputRegisters.21306_Charging_Current_T"
                                      ];
                                  
                                      // Event-Listener für Änderungen an den Modbus-Objekten
                                      on(idObjektePower, function (obj) {
                                          // Abrufen der aktuellen Spannungs- und Stromwerte
                                          var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                          var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                          var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                          var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                          var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                          var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                  
                                          // Berechnung der Ladeleistung
                                          var ladeleistung = (((voltageR * 0.1) * (currentR * 0.1)) +
                                                             ((voltageS * 0.1) * (currentS * 0.1)) +
                                                             ((voltageT * 0.1) * (currentT * 0.1)));
                                  
                                          // Speichern der Ladeleistung
                                          try {
                                              setState("0_userdata.0.Wallbox.Ladeleistung_konvertiert", {
                                                  val: ladeleistung,
                                                  ack: true
                                              });
                                              console.log('Ladeleistung erfolgreich gespeichert:', ladeleistung);
                                          } catch (error) {
                                              console.error('Fehler beim Speichern der Ladeleistung:', error);
                                          }
                                      });
                                  }
                                  

                                  Objekt:

                                  {
                                    "common": {
                                      "name": "Ladeleistung_konvertiert",
                                      "desc": "Manuell erzeugt",
                                      "role": "state",
                                      "type": "number",
                                      "read": true,
                                      "write": true,
                                      "def": 0
                                    },
                                    "type": "state",
                                    "native": {},
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1741793781930,
                                    "_id": "0_userdata.0.Wallbox.Ladeleistung_konvertiert",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    }
                                  }
                                  

                                  Da es nicht funktioniert gibt es einen Denkfehler, hast jemand einen Tipp, wo ich den finden kann?
                                  Vielen Dank im Voraus.

                                  EisbaeeerE 1 Antwort Letzte Antwort
                                  0
                                  • A ahnungsloshoffnungsvoll

                                    @eisbaeeer
                                    vielen Dank für dein Script,
                                    ich habe es für mich etwas umgeschrieben, aber es will nicht so richtig funktionieren. Apropos, ich habe von Programmieren keine Ahnung. Was ich versucht habe Modus in manuell erzeugtes Objekt zu speichern:

                                    var Ladeleistung;
                                    
                                    // Diese Funktion berechnet und speichert die Ladeleistung
                                    async function etwas_tun(Ladeleistung) {
                                        // Array mit den Modbus-Objekten für Spannung und Strom
                                        var idObjektePower = [
                                            "modbus.1.inputRegisters.21301_Charging_Voltage_R",
                                            "modbus.1.inputRegisters.21303_Charging_Voltage_S",
                                            "modbus.1.inputRegisters.21305_Charging_Voltage_T",
                                            "modbus.1.inputRegisters.21302_Charging_Current_R",
                                            "modbus.1.inputRegisters.21304_Charging_Current_S",
                                            "modbus.1.inputRegisters.21306_Charging_Current_T"
                                        ];
                                    
                                        // Event-Listener für Änderungen an den Modbus-Objekten
                                        on(idObjektePower, function (obj) {
                                            // Abrufen der aktuellen Spannungs- und Stromwerte
                                            var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                            var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                            var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                            var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                            var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                            var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                    
                                            // Berechnung der Ladeleistung
                                            var ladeleistung = (((voltageR * 0.1) * (currentR * 0.1)) +
                                                               ((voltageS * 0.1) * (currentS * 0.1)) +
                                                               ((voltageT * 0.1) * (currentT * 0.1)));
                                    
                                            // Speichern der Ladeleistung
                                            try {
                                                setState("0_userdata.0.Wallbox.Ladeleistung_konvertiert", {
                                                    val: ladeleistung,
                                                    ack: true
                                                });
                                                console.log('Ladeleistung erfolgreich gespeichert:', ladeleistung);
                                            } catch (error) {
                                                console.error('Fehler beim Speichern der Ladeleistung:', error);
                                            }
                                        });
                                    }
                                    

                                    Objekt:

                                    {
                                      "common": {
                                        "name": "Ladeleistung_konvertiert",
                                        "desc": "Manuell erzeugt",
                                        "role": "state",
                                        "type": "number",
                                        "read": true,
                                        "write": true,
                                        "def": 0
                                      },
                                      "type": "state",
                                      "native": {},
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1741793781930,
                                      "_id": "0_userdata.0.Wallbox.Ladeleistung_konvertiert",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      }
                                    }
                                    

                                    Da es nicht funktioniert gibt es einen Denkfehler, hast jemand einen Tipp, wo ich den finden kann?
                                    Vielen Dank im Voraus.

                                    EisbaeeerE Offline
                                    EisbaeeerE Offline
                                    Eisbaeeer
                                    Developer
                                    schrieb am zuletzt editiert von Eisbaeeer
                                    #27

                                    @ahnungsloshoffnungsvoll sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

                                    Da es nicht funktioniert gibt es einen Denkfehler, hast jemand einen Tipp, wo ich den finden kann?
                                    Vielen Dank im Voraus.

                                    Hast du nur die Codeschnipsel benutzt? Dann wird das nicht funktionieren.
                                    Die Objekte müssen erst angelegt werden, damit sie auch geschrieben werden können.

                                    Bevor du das hier machst:

                                    // Speichern der Ladeleistung
                                            try {
                                                setState("0_userdata.0.Wallbox.Ladeleistung_konvertiert", {
                                                    val: ladeleistung,
                                                    ack: true
                                                });
                                    

                                    Musst du das Objekt vorher anlegen:

                                    createState('pv.wallbox.chargepower', 0);               // aktuelle Ladeleistung
                                    
                                    on(idObjektePower, function (obj) {
                                        var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                        var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                        var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                        var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                        var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                        var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                        setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                    });
                                    

                                    Damit der Trigger funktioniert, muss noch der Auslöser definiert werden. Sonst weiss das Script nicht, auf welches Objekt es auslösen soll:

                                    var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                    

                                    Das hier sollte laufen:

                                    setState("pv.wallbox.chargepower", 0);                  // Wert beim starten auf 0 setzen
                                    
                                    var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                    
                                    on(idObjektePower, function (obj) {
                                        var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                        var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                        var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                        var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                        var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                        var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                        setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                        //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                                    });
                                    

                                    Kein support per PM. Bitte im Forum Fragen stellen!

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • EisbaeeerE Eisbaeeer

                                      @ahnungsloshoffnungsvoll sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

                                      Da es nicht funktioniert gibt es einen Denkfehler, hast jemand einen Tipp, wo ich den finden kann?
                                      Vielen Dank im Voraus.

                                      Hast du nur die Codeschnipsel benutzt? Dann wird das nicht funktionieren.
                                      Die Objekte müssen erst angelegt werden, damit sie auch geschrieben werden können.

                                      Bevor du das hier machst:

                                      // Speichern der Ladeleistung
                                              try {
                                                  setState("0_userdata.0.Wallbox.Ladeleistung_konvertiert", {
                                                      val: ladeleistung,
                                                      ack: true
                                                  });
                                      

                                      Musst du das Objekt vorher anlegen:

                                      createState('pv.wallbox.chargepower', 0);               // aktuelle Ladeleistung
                                      
                                      on(idObjektePower, function (obj) {
                                          var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                          var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                          var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                          var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                          var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                          var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                          setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                      });
                                      

                                      Damit der Trigger funktioniert, muss noch der Auslöser definiert werden. Sonst weiss das Script nicht, auf welches Objekt es auslösen soll:

                                      var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                      

                                      Das hier sollte laufen:

                                      setState("pv.wallbox.chargepower", 0);                  // Wert beim starten auf 0 setzen
                                      
                                      var idObjektePower    = ["modbus.1.inputRegisters.21301_Charging_Voltage_R","modbus.1.inputRegisters.21303_Charging_Voltage_S","modbus.1.inputRegisters.21305_Charging_Voltage_T","modbus.1.inputRegisters.21302_Charging_Current_R","modbus.1.inputRegisters.21304_Charging_Current_S","modbus.1.inputRegisters.21306_Charging_Current_T"];
                                      
                                      on(idObjektePower, function (obj) {
                                          var voltageR = getState("modbus.1.inputRegisters.21301_Charging_Voltage_R").val;
                                          var currentR = getState("modbus.1.inputRegisters.21302_Charging_Current_R").val;
                                          var voltageS = getState("modbus.1.inputRegisters.21303_Charging_Voltage_S").val;
                                          var currentS = getState("modbus.1.inputRegisters.21304_Charging_Current_S").val;
                                          var voltageT = getState("modbus.1.inputRegisters.21305_Charging_Voltage_T").val;
                                          var currentT = getState("modbus.1.inputRegisters.21306_Charging_Current_T").val;
                                          setState("pv.wallbox.chargepower",(((voltageR*0.1)*(currentR*0.1)+(voltageS*0.1)*(currentS*0.1)+(voltageT*0.1)*(currentT*0.1))));
                                          //console.log('Ladeleistung: ' + getState("pv.wallbox.chargepower").val);  
                                      });
                                      
                                      M Offline
                                      M Offline
                                      Maddm
                                      schrieb am zuletzt editiert von Maddm
                                      #28

                                      @eisbaeeer
                                      Re: Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

                                      Ich bin durch die Suche auf diesen Thread gekommen und freue mich sehr da drüber: ich habe seit 2 Jahren einen SH8.0RT Hybrid WR in Betrieb, den ich seither auch per Modbus auslese. Seit kurzem habe ich auch die WB AC011E von Sungrow und möchte die Daten dort auch abgreifen. Sie ist per RS-485 mit dem WR verbunden.

                                      Ich hab die Verbindung jetzt hinbekommen, wundere mich aber dass die angelegten Objekte unterhalb der Modbus.1. Instanz alle die Präfix "NaN" tragen, da muss doch eigentlich die 5-stellige Registernummer stehen?
                                      Bildschirmfoto 2025-04-09 um 09.01.29.png

                                      Bildschirmfoto 2025-04-09 um 09.02.30.png

                                      Edit: die fehlerhaften Namen werden anscheinend durch den Haken "Alias benutzen", das war true. Setze ich es auf false, werden gar keine Objekte mehr angelegt, aber das Log ist voller Fehler:
                                      Bildschirmfoto 2025-04-09 um 09.13.50.png

                                      Ich vermute, dass meine Settings in den beiden Instanzen falsch / unsauber sind
                                      Mein Setup von Modbus Instanz 0 (WR):
                                      Bildschirmfoto 2025-04-09 um 09.12.24.png

                                      Mein Setup von Modbus Instanz 1 (WB):
                                      Bildschirmfoto 2025-04-09 um 09.12.15.png

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • M Maddm

                                        @eisbaeeer
                                        Re: Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

                                        Ich bin durch die Suche auf diesen Thread gekommen und freue mich sehr da drüber: ich habe seit 2 Jahren einen SH8.0RT Hybrid WR in Betrieb, den ich seither auch per Modbus auslese. Seit kurzem habe ich auch die WB AC011E von Sungrow und möchte die Daten dort auch abgreifen. Sie ist per RS-485 mit dem WR verbunden.

                                        Ich hab die Verbindung jetzt hinbekommen, wundere mich aber dass die angelegten Objekte unterhalb der Modbus.1. Instanz alle die Präfix "NaN" tragen, da muss doch eigentlich die 5-stellige Registernummer stehen?
                                        Bildschirmfoto 2025-04-09 um 09.01.29.png

                                        Bildschirmfoto 2025-04-09 um 09.02.30.png

                                        Edit: die fehlerhaften Namen werden anscheinend durch den Haken "Alias benutzen", das war true. Setze ich es auf false, werden gar keine Objekte mehr angelegt, aber das Log ist voller Fehler:
                                        Bildschirmfoto 2025-04-09 um 09.13.50.png

                                        Ich vermute, dass meine Settings in den beiden Instanzen falsch / unsauber sind
                                        Mein Setup von Modbus Instanz 0 (WR):
                                        Bildschirmfoto 2025-04-09 um 09.12.24.png

                                        Mein Setup von Modbus Instanz 1 (WB):
                                        Bildschirmfoto 2025-04-09 um 09.12.15.png

                                        M Offline
                                        M Offline
                                        Maddm
                                        schrieb am zuletzt editiert von
                                        #29

                                        Nochmal ein Nachtrag zu meinem vorher geschilderten Fehler mit der zweiten Modbus Instanz:

                                        • wenn ich die Instanz 1 (für die WB) MIT dem Haken "Alias benutzen" starte, bekomme ich alle Objekte angelegt, aber jedes Objekt mit dem NaN-Präfix im Namen.
                                        • starte ich die Instanz ohne "Alias benutzen", wird das Log mit folgenden Fehler geflutet:
                                        2025-04-10 08:20:12.593	error	Invalid inputRegisters address: -8801
                                        modbus.1
                                        2025-04-10 08:20:12.593	error	Invalid inputRegisters address: -8740
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8739
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8734
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8702
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8700
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8699
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8698
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8697
                                        modbus.1
                                        2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8696
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8695
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8694
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8692
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8688
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8686
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8685
                                        modbus.1
                                        2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8684
                                        modbus.1
                                        2025-04-10 08:20:12.590	error	Invalid inputRegisters address: -8682
                                        

                                        Die Input Register Einträge habe ich allerdings 1:1 von @Eisbaeeer übernommen, die Holding Register Einträge habe ich nicht übernommen, da ich erstmal nur auslesen will.

                                        EisbaeeerE 1 Antwort Letzte Antwort
                                        0
                                        • M Maddm

                                          Nochmal ein Nachtrag zu meinem vorher geschilderten Fehler mit der zweiten Modbus Instanz:

                                          • wenn ich die Instanz 1 (für die WB) MIT dem Haken "Alias benutzen" starte, bekomme ich alle Objekte angelegt, aber jedes Objekt mit dem NaN-Präfix im Namen.
                                          • starte ich die Instanz ohne "Alias benutzen", wird das Log mit folgenden Fehler geflutet:
                                          2025-04-10 08:20:12.593	error	Invalid inputRegisters address: -8801
                                          modbus.1
                                          2025-04-10 08:20:12.593	error	Invalid inputRegisters address: -8740
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8739
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8734
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8702
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8700
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8699
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8698
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8697
                                          modbus.1
                                          2025-04-10 08:20:12.592	error	Invalid inputRegisters address: -8696
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8695
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8694
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8692
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8688
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8686
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8685
                                          modbus.1
                                          2025-04-10 08:20:12.591	error	Invalid inputRegisters address: -8684
                                          modbus.1
                                          2025-04-10 08:20:12.590	error	Invalid inputRegisters address: -8682
                                          

                                          Die Input Register Einträge habe ich allerdings 1:1 von @Eisbaeeer übernommen, die Holding Register Einträge habe ich nicht übernommen, da ich erstmal nur auslesen will.

                                          EisbaeeerE Offline
                                          EisbaeeerE Offline
                                          Eisbaeeer
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #30

                                          @maddm Deine Einstellungen stimmen erstmal mit meinen überein.
                                          Über welchen Adapter liest du die Daten. Wichtig, die SH08RT Modbus Daten musst du am Wechselrichter lesen (Ethernet port des Wechselrichters). Nur der WR gibt die Daten aus.
                                          Die Daten von der Wallbox über den Stick.
                                          Bei mir hat also jede Instanz eine eigene IP. Einmal die Wechselrichter IP und die andere Instanz die des Sticks. Sonst funktioniert das ganze nicht. Bei deinen Einstellungen liest du beide Geräte vermutlich über den Stick?
                                          Grüße Lars

                                          Kein support per PM. Bitte im Forum Fragen stellen!

                                          M R 2 Antworten 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

                                          704

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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