Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin für Solaredge Wechselrichter / Sunspec in Arbeit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    zu den Registern mit Zahlenwert muss meist auch der scaleFaktor ausgelesen und verrechnet werden (Berechnung geschiet im Eval Registerwert*10Hoch(SF) )

    Code:
       Inverter_AC_EnergyWH_sf:
            type: num
            name: I_AC_Energy_WH_SF
            enforce_updates: 'True'
            modBusAddress: '40095'
            modBusDataType: int16
        Inverter_AC_Energy:
            type: num
            name: I_AC_EnergyWH
            database: yes
            database_maxage: '365'
            eval: value*10**sh.Photovoltaik.Inverter_AC_EnergyWH_sf()
            modBusAddress: '40093'
            modBusDataType: uint32

    Kommentar


      Zitat von ivande Beitrag anzeigen
      zu den Registern mit Zahlenwert muss meist auch der scaleFaktor ausgelesen und verrechnet werden (Berechnung geschiet im Eval Registerwert*10Hoch(SF) )
      den scale lese ich mit aus:


      PHP-Code:

      Produktion
      :
      typenum
      name
      I_AC_Energy_WH
      enforce_updates
      'True'
      eval: value*10**sh.Photovoltaik.Produktion_sf()
      modBusAddress'40093'
      modBusFactor'1'
      modBusDataTypeuint32
      struct
      :
      dbdevelop.verbrauch_1
      dbdevelop.verbrauch_2
      dbdevelop.zaehlerstand_1
      Produktion_sf
      :
      typenum
      name
      I_AC_Energy_WH_sf
      enforce_updates
      'True'
      modBusAddress'40095'
      modBusDataTypeuint16​ 

      Jedoch habe ich das Gefühl das der Wert nicht stimmt - Ich möchte eine anzeige bauen die mir sagt du hast heute xyz kw/h selber verbraucht
      Gruss Oliver

      Projektleiter Technische Gebäudeausrüstung

      Kommentar


        der scale Factor sollte vor dem Energie-wert ausgelesen werden, also auch in der Item-yaml vor Produktion stehen.
        Was wird denn für ein Wert bei den beiden Item's im modbus Admin Fenster angezeigt? wie hoch sollte der Tatsächliche Wert denn sein?

        Kommentar


          Zitat von ivande Beitrag anzeigen
          wie hoch sollte der Tatsächliche Wert denn sein?
          Der Scale Faktor steht auf 0

          Die Erzeugung gemäß Portal liegt bei ca 36.000kw/h


          Gegenfrage : Im Portal ist das die Erzeugung inkl. was in den Speicher geladen wurde?

          Sprich die 45000 Brutto Erzeugung ohne Speicherladung vom SE12.5?


          Code:
           [TABLE]
            [TR]
            [TD]HoldingRegister[/TD]
            [TD]40093[/TD]
            [TD]1[/TD]
            [TD]4587469[/TD]
            [TD]I_AC_Energy_WH[/TD]
            [TD]uint32[/TD]
            [TD]06.02.2023 20:37:11[/TD]
            [TD]06.02.2023 20:37:06[/TD]
            [TD]4587469[/TD]
            [/TR]
            [TR]
            [TD]HoldingRegister[/TD]
            [TD]40095[/TD]
            [TD]1[/TD]
            [TD]0[/TD]
            [TD]I_AC_Energy_WH_sf[/TD]
            [TD]int16[/TD]
            [TD]06.02.2023 20:37:11[/TD]
            [TD]06.02.2023 20:37:06[/TD]
            [TD]0[/TD]
            [/TR]
            [/TABLE]
           ​
          Gruss Oliver

          Projektleiter Technische Gebäudeausrüstung

          Kommentar


            du liest den Wert doch von modbusUnit 1 aus, das ist doch der SE3500-Batteriwwechselrichter?

            warscheinlich musst du den das Register40093 (und sf) von beiden WR auslesen und zusammenzählen..

            oder vielleicht das Register 40225/40241(sf) das müsste die Exportierte Energie vom Energie-Meter sein

            Kommentar


              Mann bin ich blöd 😅


              Klar der se 3500 ist der Batterie wr
              Mir geht es darum die erzeugte Energie anzuzeigen damit ich den täglichen eigenverbtaich berechnen kann
              Gruss Oliver

              Projektleiter Technische Gebäudeausrüstung

              Kommentar


                um den Eigenverbrauch zu berechner wirst du von der erzeugte Energie deiner WR (Register 40093) zusammenzählen und davon die exportierte Energie vom Energie-Meter (Register 40225) abziehen müssen.

                um den Verbrauch zu berechnen: erzeugte Energie deiner WR (Register 40093)-exportierte Energie+importierte Energie

                Kommentar


                  Sagt mal blöde Frage vielleicht aber welche Hardware verwendet ihr um auf den Modbus überhaupt draufzukommen?

                  Ich werde demnächst meinen Solaredge WR bekommen und würde mich da schon mal drum kümmern wollen ...

                  Kommentar


                    Sofern natives Modbus TCP: Als Hardware wird ein Stück 'Netzwerkkabel' verwendet.

                    Wenn 2-/4-Draht: Schau mal in dieses Wiki unter "Funktionierende Adapter", da sind diverse USB- und Serial-to-LAN Adapter aufgeführt (auch welche mit Konvertierung RTU zu TCP, so dass man auch ein reines Serial-Gerät über das Netzwerk ansprechen kann).

                    hth,
                    /tom

                    Kommentar


                      Guten Abend,
                      ich betreibe einen SMK10RWS mit, seit neustem, einer Solar Edge Home Battery. Nun habe von jonny7792 den folgenden Code übernommen:

                      Code:
                          C_Version:
                              type: str
                              name: C_Version
                              modBusAddress@solaredge: 40044
                              modBusDataType: string16
                              modBusUnit: '1'
                              modBusObjectType: HoldingRegister
                          AC_Leistung_sf:
                              type: num
                              name: I_AC_Power_SF # SF- Skalierungsfaktor sunspec (z.B. -3)
                              enforce_updates: True
                              modBusAddress@solaredge: 40084
                              modBusDataType: int16
                              modBusUnit: '1'
                              modBusObjectType: HoldingRegister
                          AC_Leistung:
                              type: num
                              name: I_AC_Power # Die Leistung ergit sich aus dem erhaltenen Registerwert und dem Skalierungsfaktor (AC_Leistung_sf)
                              enforce_updates: True
                              eval: value*10**sh.Photovoltaik.AC_Leistung_sf() # Berechnung der Leistung (erhaltene Registerwert * 10^Skalierungsfaktor)
                              modBusAddress@solaredge: 40083
                              modBusFactor: 0.001
                              modBusUnit: '1'
                              modBusObjectType: HoldingRegister
                      ​
                      .............................................
                      
                      
                          Speicher_Leistung:
                              type: num
                              name: S_Power
                              enforce_updates: True
                              modBusAddress@solaredge: 59764
                              modBusUnit: '1'
                              modBusDataType: float32
                              modBusFactor: 0.001
                          Speicher_Energie:
                              type: num
                              name: S_Available_Energy
                              modBusAddress@solaredge: 59776
                              modBusUnit: '1'
                              modBusDataType: float32
                              modBusFactor: 0.001
                          Speicher_SOE:
                              type: num
                              name: S_SOE
                              modBusAddress@solaredge: 59780
                              modBusUnit: '1'
                              modBusDataType: float32
                          Speicher_Status:
                              type: num
                              name: S_Status
                              modBusAddress@solaredge: 59782
                              modBusUnit: '1'
                              modBusDataType: uint32
                              Text:
                                  type: str
                                  eval_trigger: Photovoltaik.Speicher_Status
                                  eval: sh..lookup()[value]
                                  lookup:
                                      type: dict
                                      initial_value: "{0: 'Aus', 1: 'Standby', 2: 'Init', 3: 'Laden', 4: 'Entladen', 5: 'Fehler', 6: 'Leerlauf'}"  
                      ​
                      Hinweis: Da ich aktuell noch versuche mit meiner Bender-Wallbox zu sprechen habe ich das solaredge-plugin in den Deklarationen immer verwendet ( @solaredge).

                      Mein Problem, die oberen Parameter vom Wechselrichter über die PV-Produktion etc. lese ich über Modbus problemlos aus, aber bei dem Teil mit dem Speicher meldet sich

                      Code:
                      2023-03-17 20:48:10 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.59764.1 (address.slaveUnit) regCount:1
                      2023-03-17 20:48:10 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.59776.1 (address.slaveUnit) regCount:1
                      2023-03-17 20:48:11 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.59780.1 (address.slaveUnit) regCount:1
                      2023-03-17 20:48:11 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.59782.1 (address.slaveUnit) regCount:1
                      2023-03-17 20:48:11 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.57732.1 (address.slaveUnit) regCount:1
                      2023-03-17 20:48:11 ERROR plugins.modbus_tcp solaredge@: read error: Exception Response(131, 3, IllegalAddress) HoldingRegister.57734.1 (address.slaveUnit) regCount:1​
                      Ich habe jetzt 4 Abende gelesen und dutzende Seiten durchsucht, finde aber keine Register mit denen ich die Infos über den Speicher auslesen könnte. Habt ihr einen Lösungsansatz für mich? Gibts ein Tool mit dem man einfach mal alle Register lesen kann um zu schauen wo Daten reinkommen?

                      Sind die Register von Speicher zu Speicher unterschiedlich oder sind die im WR hinterlegt?

                      Ich bin so langsam am Verzweifeln und würde ich freuen wenn jemand einen Hinweis für mich hätte wo man suchen kann.

                      Danke!!

                      GRüße
                      Carsten

                      Kommentar


                        Hi 👋!
                        Es gibt da eine Home Assistant custom component die das kann. Vielleicht findest du in dem Code die Register die dafür gelesen werden.
                        https://github.com/WillCodeForCats/s...e-modbus-multi

                        Kommentar


                          Zitat von Netsrac80 Beitrag anzeigen
                          Gibts ein Tool mit dem man einfach mal alle Register lesen kann um zu schauen wo Daten reinkommen?
                          hab die Register vom solaredge-Support auf Anfrage bekommen...

                          Kommentar


                            Hi!
                            Und wie sind diese Register dann nun? Hab sie leider auch noch nicht rausfinden können für Solaredge WR + Batterie. WR und Meter alles gut, nur Batterie bekomme ich einfach nicht ausgelesen via Node-red.
                            Vielen Dank!

                            Kommentar


                              Im Anhang die Excel-Tabelle mit den Registern. Ich lese bei mir nur 4 Register vom Akku aus. (Power, SOE, Status)
                              Die Spalte in Orange ist das Register.
                              POWER (Hex)E974, bei mir 59764
                              Manufacturer Storage Device 1 Info 0 15 16 E900 R - String[32]
                              Model Storage Device 1 Info 16 31 16 E910 R - String[32]
                              Version Storage Device 1 Info 32 47 16 E920 R - String[32]
                              SerialNumber Storage Device 1 Info 48 63 16 E930 R - String[32]
                              DeviceAddress Storage Device 1 Info 64 64 1 E940 R - Uint16
                              Reserved Storage Device 1 Info 65 65 1 E941 R - Uint16
                              Rated Energy Storage Device 1 Info 66 67 2 E942 R - Float32
                              Max Charge Power Storage Device 1 Info 68 69 2 E944 R - Float32
                              Max Discharge Power Storage Device 1 Info 70 71 2 E946 R - Float32
                              Max Charge Surge Power Storage Device 1 Info 72 73 2 E948 R - Float32
                              Max Discharge Surge Power Storage Device 1 Info 74 75 2 E94A R - Float32
                              Reserved Storage Device 1 Info 76 107 32 E94C R - Uint16
                              Avg Temperature Storage Device 1 Status 108 109 2 E96C R - Float32
                              Max Temperature Storage Device 1 Status 110 111 2 E96E R - Float32
                              Voltage Storage Device 1 Status 112 113 2 E970 R - Float32
                              Current Storage Device 1 Status 114 115 2 E972 R - Float32
                              Power Storage Device 1 Status 116 117 2 E974 R - Float32
                              LifeTime Export Storage Device 1 Status 118 121 4 E976 R - Uint64
                              LifeTime Import Storage Device 1 Status 122 125 4 E97A R - Uint64
                              Max Energy Storage Device 1 Status 126 127 2 E97E R - Float32
                              Available Energy Storage Device 1 Status 128 129 2 E980 R - Float32
                              SOH Storage Device 1 Status 130 131 2 E982 R - Float32
                              SOE Storage Device 1 Status 132 133 2 E984 R - Float32
                              Status Storage Device 1 Status 134 135 2 E986 R - Uint32
                              Status Internal Storage Device 1 Status 136 137 2 E988 R - Uint32
                              Events Log Storage Device 1 Status 138 145 8 E98A R - Uint16[8]
                              Events Log Internal Storage Device 1 Status 146 153 8 E992 R - Uint16[8]
                              Reserved Storage Device 1 Status 154 185 32 E99A R - Uint16
                              Manufacturer Storage Device 2 Info 0 15 16 EA00 R - String[32]
                              Model Storage Device 2 Info 16 31 16 EA10 R - String[32]
                              Version Storage Device 2 Info 32 47 16 EA20 R - String[32]
                              SerialNumber Storage Device 2 Info 48 63 16 EA30 R - String[32]
                              DeviceAddress Storage Device 2 Info 64 64 1 EA40 R - Uint16
                              Reserved Storage Device 2 Info 65 65 1 EA41 R - Uint16
                              Rated Energy Storage Device 2 Info 66 67 2 EA42 R - Float32
                              Max Charge Power Storage Device 2 Info 68 69 2 EA44 R - Float32
                              Max Discharge Power Storage Device 2 Info 70 71 2 EA46 R - Float32
                              Max Charge Surge Power Storage Device 2 Info 72 73 2 EA48 R - Float32
                              Max Discharge Surge Power Storage Device 2 Info 74 75 2 EA4A R - Float32
                              Reserved Storage Device 2 Info 76 107 32 EA4C R - Uint16
                              Avg Temperature Storage Device 2 Status 108 109 2 EA6C R - Float32
                              Max Temperature Storage Device 2 Status 110 111 2 EA6E R - Float32
                              Voltage Storage Device 2 Status 112 113 2 EA70 R - Float32
                              Current Storage Device 2 Status 114 115 2 EA72 R - Float32
                              Power Storage Device 2 Status 116 117 2 EA74 R - Float32
                              LifeTime Export Storage Device 2 Status 118 121 4 EA76 R - Uint64
                              LifeTime Import Storage Device 2 Status 122 125 4 EA7A R - Uint64
                              Max Energy Storage Device 2 Status 126 127 2 EA7E R - Float32
                              Available Energy Storage Device 2 Status 128 129 2 EA80 R - Float32
                              SOH Storage Device 2 Status 130 131 2 EA82 R - Float32
                              SOE Storage Device 2 Status 132 133 2 EA84 R - Float32
                              Status Storage Device 2 Status 134 135 2 EA86 R - Uint32
                              Status Internal Storage Device 2 Status 136 137 2 EA88 R - Uint32
                              Events Log Storage Device 2 Status 138 145 8 EA8A R - Uint16[8]
                              Events Log Internal Storage Device 2 Status 146 153 8 EA92 R - Uint16[8]
                              Reserved Storage Device 2 Status 154 185 32 EA9A R - Uint16




                              Angehängte Dateien
                              Zuletzt geändert von ivande; 23.12.2024, 16:35.

                              Kommentar


                                Zitat von ivande Beitrag anzeigen
                                Registern.

                                Hallo Ivan seit dem letzen FW Update bekomme ich die folgende meldung:

                                plugins.modbus_tcp read error: Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response HoldingRegister.40106.2 (address.slaveUnit)

                                Das ist die DC Power vom WR - wirklich Crazy hat sich etwas an den registern geändert?

                                Gruss Oliver

                                Projektleiter Technische Gebäudeausrüstung

                                Kommentar

                                Lädt...
                                X