Ankündigung

Einklappen
Keine Ankündigung bisher.

Modbus TCP + Fronius Wechselrichter + SmartMeter

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

    Modbus TCP + Fronius Wechselrichter + SmartMeter

    Hallo zusammen,

    ich hoffe ich hab beim Suchen im Forum nichts übersehen. Bin aber bisher nicht fündig geworden.

    Ich hab einen Fronius Wechselrichter mit Energiezähler (Smart Meter). Diesen kann man über wie in https://knx-user-forum.de/forum/supp...on-modbus-tcp/ angegeben auslesen.

    Nur ist plage ich mich etwas damit das die Register teilweise einfach nicht die Daten liefern die sie laut Fronius Tabelle liefern sollten.

    Auch funktioniert das Auslesen der Werte vom Smartmeter nicht.

    Deswegen meine Frage:
    hat von euch vl. jemand eine Item Config File die er teilen könnte?

    Besten Dank
    Johannes

    #2
    Ich hatte es mal, bin aber dann auf Homeassistant umgestiegen.
    Kannst du mal einen Ausschnitt deiner Items hier posten; inklusive der Wahl ob du float + int-sf oder rein int-so genommen hast; und um welchen Wechselrichter es sich handelt.

    Kommentar


      #3
      Und bitte mal eins der üblichen Verdächtigen prüfen:

      Registerangabe in irgendwelchen Dokus und tatsächlich zu verwendende Registeradresse in der Konfiguration ist SEHR häufig +-1.
      Bei der inzwischen oft verwendeten SUNSPEC Variante steht auch explizit, dass man z.B. das Register 40001 auf dem Bus mit 40000 ansprechen muss.

      Kommentar


        #4
        Das vermute ich auch. Daher auch die Frage nach dem Ausschnitt der Item-Konfiguration…

        Kommentar


          #5
          Hallo Sippe, danke für den Tipp, darauf hab ich aber schon geachtet und das sollte soweit passen. Wenn ich den Inverter auslese (Geräte ID 1) dann klappt eh alles. Inzwischen hab ich auch meine Fehler gefunden. Die da waren:
          * In den Items wurde die globale slave unit immer mit 1 überschrieben --> simpler copy&paste fehler den ich übersehen habe
          * Der Inverter sendet in der Nacht über den Modbus keine sinnvollen werte. Nichtmal die Netzfrequenz am AC Ausgang wird übermittelt. Am Tag passt alles.

          Ich werde jetzt mal die für mich wichtigsten Items mit den jeweiligen Registern erstellen und meine "energy.yaml" und die plugin.config dann hier für die Nachwelt posten.

          Kommentar


            #6
            Guten Abend

            ich hatte mal Fronius in der Kombination jedoch über die api

            ich kann mal schauen ob ich die config noch irgendwo habe
            Gruss Oliver

            Projektleiter Technische Gebäudeausrüstung

            Kommentar


              #7
              Moin zusammen,
              ich denke hier kann ich etwas helfen. Ich habe folgendes Setup

              + Fronius Gen24 10KW
              + Fronius Smartmeter
              + BYD 10kWh Batterie
              + Fronius Gens24 3kW -- hier nicht weiter betrachtet

              Auslesen tue ich das über Modbus TCP und auch per JSON. Alles im lokalen Netz.
              Ich unterscheide die Auslesegeschwindigkeiten, je nachdem was es für Informationen sind.

              Das BYD Plugin für die Batterie habe ich erst später eingebunden.

              plugin.yaml
              Code:
              %YAML 1.1
              ---
              
              ...
              
              modbus_wr1_fast:
                  plugin_name: modbus_tcp
                  host: <ip vom wechselrichter>
                  port: '502'
                  webif_pagelength: 100
                  instance: modbus_wr1_fast
                  cycle: 30
                  slaveUnit: 1
              
              modbus_wr1_slow:
                  plugin_name: modbus_tcp
                  host: <ip vom wechselrichter>
                  port: '502'
                  webif_pagelength: 100
                  instance: modbus_wr1_slow
                  cycle: 60
                  slaveUnit: 1
              
              
              jsonread_wr1_device:
                  plugin_name: jsonread
                  url: http://<ip vom wechselrichter>/solar_api/v1/GetActiveDeviceInfo.cgi
                  cycle: 43200
                  instance: jsonread_wr1_device
              
              jsonread_wr1_energy:
                  plugin_name: jsonread
                  url: http://<ip vom wechselrichter>/solar_api/v1/GetInverterRealtimeData.cgi
                  cycle: 30
                  instance: jsonread_wr1_energy
              
              jsonread_wr1_powerflow:
                  plugin_name: jsonread
                  url: http://<ip vom wechselrichter>/solar_api/v1/GetPowerFlowRealtimeData.fcgi
                  cycle: 30
                  instance: jsonread_wr1_powerflow
              
              jsonread_sm1:
                  plugin_name: jsonread
                  url: http://<ip vom wechselrichter>/solar_api/v1/GetMeterRealtimeData.cgi
                  cycle: 30
                  instance: jsonread_sm1
              
              jsonread_batt1:
                  plugin_name: jsonread
                  url: http://<ip vom wechselrichter>/solar_api/v1/GetStorageRealtimeData.cgi
                  cycle: 30
                  instance: jsonread_batt1
              
              byd_bat:
                  plugin_name: byd_bat
                  ip: <ip von der Batterie>
              Achtung bei Modbus habe ich mir notiert, dass hier immer die Adresse um 1 verringert werden muss. Und natürlich muss man den Faktor mit einrechnen, der ebenfalls über die Schnittstelle mit gesendet wird.

              items.yaml
              Code:
              %YAML 1.1
              ---
              # Datentyp vom zu lesenden Register (bit, int16 uint16 int32 uint32 float32 string16 stringNN)
              # + sunsf = signierter integer, 16 bit = int16
              # ACHTUNG: Die Modbus Adresse ist immer um 1 zu reduzieren
              
              
              
              R02:
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  # R02.SM1 - SmartMeter
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  SM1:
                      # Das SmartMeter wird mit über WR1 ausgelesen und hat die Modbus Adresse 200
                      # Daher ist diese hier immer mit aufgeführt.
                      MODBUS_TCP:
                          AC_CURRENT:
                              name: AC_CURRENT [A], Summe aller AC Phasenströme
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40072 40072   1   R   0x03    A   AC Current                                      int16  A   A_SF    
                                  type: num
                                  name: AC_CURRENT [A], Summe aller AC Phasenströme
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40071
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_CURRENT_PHASE_A:
                              name: AC_CURRENT_PHASE_A [A], AC-Strom L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40073 40073   1   R   0x03    AphA    Phase A Current                             int16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_A_CURRENT [A], AC-Strom L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40072
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_CURRENT_PHASE_B:
                              name: AC_CURRENT_PHASE_B [A], AC-Strom L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40074 40074   1   R   0x03    AphB    Phase B Current                             int16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_B_CURRENT [A], AC-Strom L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40073
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_CURRENT_PHASE_C:
                              name: AC_CURRENT_PHASE_C [A], AC-Strom L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40075 40075   1   R   0x03    AphC    Phase C Current                             int16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_C_CURRENT [A], AC-Strom L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40074
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_CURRENT_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40076 40076   1   R   0x03    A_SF                                                sunssf  
                              type: num
                              name: AC_CURRENT_SF [], Scale Factor für AC_CURRENT, AC_PHASE_A_CURRENT, AC_PHASE_B_CURRENT, AC_PHASE_C_CURRENT
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40075
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                              modBusUnit@modbus_wr1_fast: '200'
                              
                              
                          AC_VOLTAGE_PHASE_A_TO_N:
                              name: AC_VOLTAGE_PHASE_A_TO_N [V], AC-Spannung L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40078 40078   1   R   0x03    PhVphA  Phase Voltage AN                            int16   V   V_SF 
                                  type: num
                                  name: AC_VOLTAGE_PHASE_A_TO_N [V], AC-Spannung L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40077
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_PHASE_B_TO_N:
                              name: AC_VOLTAGE_PHASE_B_TO_N [V], AC-Spannung L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40079 40079   1   R   0x03    PhVphB  Phase Voltage BN                            int16   V   V_SF
                                  type: num
                                  name: AC_VOLTAGE_PHASE_B_TO_N [V], AC-Spannung L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40078
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_PHASE_C_TO_N:
                              name: AC_VOLTAGE_PHASE_C_TO_N [V], AC-Spannung L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40080 40080   1   R   0x03    PhVphC  Phase Voltage CN                            int16   V   V_SF    
                                  type: num
                                  name: AC_VOLTAGE_PHASE_C_TO_N [V], AC-Spannung L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40079
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_PHASE_A_TO_B:
                              name: AC_VOLTAGE_PHASE_A_TO_B [V], AC-Spannung L1..L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40082 40082   1   R   0x03    PhVphAB Phase Voltage AB                            int16   V   V_SF
                                  type: num
                                  name: AC_VOLTAGE_PHASE_A_TO_B [V], AC-Spannung L1..L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40081
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_PHASE_B_TO_C:
                              name: AC_VOLTAGE_PHASE_B_TO_C [V], AC-Spannung L2..L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40083 40083   1   R   0x03    PhVphBC Phase Voltage BC                            int16   V   V_SF
                                  type: num
                                  name: AC_VOLTAGE_PHASE_B_TO_C [V], AC-Spannung L2..L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40082
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_PHASE_C_TO_A:
                              name: AC_VOLTAGE_PHASE_C_TO_A [V], AC-Spannung L3..L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R02.SM1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40084 40084   1   R   0x03    PhVphCA Phase Voltage CA                            int16   V   V_SF   
                                  type: num
                                  name: AC_VOLTAGE_PHASE_C_TO_A [V], AC-Spannung L3..L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40083
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_VOLTAGE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40085	40085	1	R	0x03	V_SF	Voltage scale factor	                    sunssf
                              type: num
                              name: AC_VOLTAGE_SF [], Scale Factor für AC_VOLTAGE_PHASE_A_TO_N, AC_VOLTAGE_PHASE_B_TO_N, AC_VOLTAGE_PHASE_C_TO_N, AC_VOLTAGE_PHASE_A_TO_B, AC_VOLTAGE_PHASE_B_TO_C, AC_VOLTAGE_PHASE_C_TO_A
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40084
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                              modBusUnit@modbus_wr1_fast: '200'
                          AC_FREQUENCY:
                              name: AC_FREQUENCY [Hz], Mittlere Frequenz
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_FREQUENCY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_FREQUENCY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40086	40086	1	R	0x03	Hz	Frequency	                                    int16	Hz	Hz_SF
                                  type: num
                                  name: AC_FREQUENCY [A], Mittlere Frequenz
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40085
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_FREQUENCY_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40087	40087	1	R	0x03	Hz_SF	Frequency scale factor	                    sunssf			-2
                              type: num
                              name: AC_FREQUENCY_SF [], Scale Factor für AC_FREQUENCY
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40086
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                              modBusUnit@modbus_wr1_fast: '200'
                          AC_POWER:
                              name: AC_POWER [W], Gesamte Wirkleistung (P) am SmartMeter
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_POWER_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40088	40088	1	R	0x03	W	Total Real Power                            	int16	W	W_SF
                                  type: num
                                  name: AC_POWER [W], Gesamte Wirkleistung (P) am SmartMeter
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40087
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_POWER_PHASE_A:
                              name: AC_POWER_PHASE_A [W], Wirkleistung (P) am SmartMeter L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_POWER_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40089	40089	1	R	0x03	WphA	Watts phase A	                            int16	W	W_SF
                                  type: num
                                  name: AC_POWER [W], Wirkleistung (P) am SmartMeter L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40088
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_POWER_PHASE_B:
                              name: AC_POWER_PHASE_B [W], Wirkleistung (P) am SmartMeter L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_POWER_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40090	40090	1	R	0x03	WphB	Watts phase B                           	int16	W	W_SF
                                  type: num
                                  name: AC_POWER_PHASE_B [W], Wirkleistung (P) am SmartMeter L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40089
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_POWER_PHASE_C:
                              name: AC_POWER_PHASE_C [W], Wirkleistung (P) am SmartMeter L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_POWER_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40091	40091	1	R	0x03	WphC	Watts phase C	                            int16	W	W_SF
                                  type: num
                                  name: AC_POWER_PHASE_C [W], Wirkleistung (P) am SmartMeter L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40090
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_POWER_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40092	40092	1	R	0x03	W_SF	Real Power scale factor	sunssf			    auto-scaled on W, WphA, WphB and WphC
                              type: num
                              name: AC_POWER_SF [], Scale Factor für AC_POWER, AC_POWER_PHASE_A, AC_POWER_PHASE_B, AC_POWER_PHASE_C
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40091
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                              modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_PRODUCED:
                              name: AC_ENERGY_PRODUCED [Wh], Exportierte AC Energie ans Netz am SmartMeter
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40108	40109	2	R	0x03	TotWhExp	Total Real Energy Exported	            acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_PRODUCED [Wh], Exportierte AC Energie ans Netz am SmartMeter
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40107
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                              START_DAY_ENERGY:
                                  name: AC_ENERGY_PRODUCED - START_DAY_ENERGY [kWh], Produzierte AC Energie um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R02.SM1.MODBUS_TCP.AC_ENERGY_PRODUCED() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_ENERGY_PRODUCED - TODAY [kWh], Produzierte AC Energie heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R02.SM1.MODBUS_TCP.AC_ENERGY_PRODUCED() / 1000) - sh.R02.SM1.MODBUS_TCP.AC_ENERGY_PRODUCED.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R02.SM1.MODBUS_TCP.AC_ENERGY_PRODUCED
                          AC_ENERGY_PRODUCED_PHASE_A:
                              name: AC_ENERGY_PRODUCED_PHASE_A [Wh], Exportierte AC Energie ans Netz am SmartMeter L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40110	40111	2	R	0x03	TotWhExpPhA	Total Watt-hours Exported phase A	    acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_PRODUCED_PHASE_A [Wh], Exportierte AC Energie ans Netz am SmartMeter L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40109
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_PRODUCED_PHASE_B:
                              name: AC_ENERGY_PRODUCED_PHASE_B [Wh], Exportierte AC Energie ans Netz am SmartMeter L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40112	40113	2	R	0x03	TotWhExpPhB	Total Watt-hours Exported phase B	    acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_PRODUCED_PHASE_B [Wh], Exportierte AC Energie ans Netz am SmartMeter L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40111
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_PRODUCED_PHASE_C:
                              name: AC_ENERGY_PRODUCED_PHASE_C [Wh], Exportierte AC Energie ans Netz am SmartMeter L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40114	40115	2	R	0x03	TotWhExpPhC	Total Watt-hours Exported phase C	    acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_PRODUCED_PHASE_C [Wh], Exportierte AC Energie ans Netz am SmartMeter L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40113
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_CONSUMED:
                              name: AC_ENERGY_CONSUMED [Wh], Bezogene AC Energie vom Netz am SmartMeter
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40116	40117	2	R	0x03	TotWhImp	Total Real Energy Imported	            acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_CONSUMED [Wh], Bezogene AC Energie vom Netz am SmartMeter
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40115
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                              START_DAY_ENERGY:
                                  name: AC_ENERGY_CONSUMED - START_DAY_ENERGY [kWh], Konsumierte AC Energie um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R02.SM1.MODBUS_TCP.AC_ENERGY_CONSUMED() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_ENERGY_CONSUMED - TODAY [kWh], Konsumierte AC Energie heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R02.SM1.MODBUS_TCP.AC_ENERGY_CONSUMED() / 1000) - sh.R02.SM1.MODBUS_TCP.AC_ENERGY_CONSUMED.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R02.SM1.MODBUS_TCP.AC_ENERGY_CONSUMED
                          AC_ENERGY_CONSUMED_PHASE_A:
                              name: AC_ENERGY_CONSUMED_PHASE_A [Wh], Bezogene AC Energie vom Netz am SmartMeter L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40118	40119	2	R	0x03	TotWhImpPhA	Total Watt-hours Imported phase A	       acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_CONSUMED_PHASE_A [Wh], Bezogene AC Energie vom Netz am SmartMeter L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40117
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_CONSUMED_PHASE_B:
                              name: AC_ENERGY_CONSUMED_PHASE_B [Wh], Bezogene AC Energie vom Netz am SmartMeter L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40120	40121	2	R	0x03	TotWhImpPhB	Total Watt-hours Imported phase B	    acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_CONSUMED_PHASE_B [Wh], Bezogene AC Energie vom Netz am SmartMeter L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40119
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_CONSUMED_PHASE_C:
                              name: AC_ENERGY_CONSUMED_PHASE_C [Wh], Bezogene AC Energie vom Netz am SmartMeter L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R02.SM1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R02.SM1.MODBUS_TCP.AC_ENERGY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40122	40123	2	R	0x03	TotWhImpPhC	Total Watt-hours Imported phase C	    acc32	Wh	TotWh_SF
                                  type: num
                                  name: AC_ENERGY_CONSUMED_PHASE_C [Wh], Bezogene AC Energie vom Netz am SmartMeter L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40121
                                  modBusDataType@modbus_wr1_fast: uint32  
                                  modBusFactor@modbus_wr1_fast: 1
                                  modBusUnit@modbus_wr1_fast: '200'
                          AC_ENERGY_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40124	40124	1	R	0x03	TotWh_SF	Real Energy scale factor	            sunssf		
                              type: num
                              name: AC_ENERGY_SF [], Scale Factor für AC_ENERGY_CONSUMED, AC_ENERGY_CONSUMED_PHASE_A, AC_ENERGY_CONSUMED_PHASE_B, AC_ENERGY_CONSUMED_PHASE_C, AC_ENERGY_PRODUCED, AC_ENERGY_PRODUCED_PHASE_A, AC_ENERGY_PRODUCED_PHASE_B, AC_ENERGY_PRODUCED_PHASE_C
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40123
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                              modBusUnit@modbus_wr1_fast: '200'
                      SOLARAPI:
                          AC_CURRENT:
                              name: AC_CURRENT [A], Summe aller AC Phasenströme
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Sum'
                          AC_CURRENT_PHASE_A:
                              name: AC_CURRENT_PHASE_A [A], AC-Strom L1
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_1'
                          AC_CURRENT_PHASE_B:
                              name: AC_CURRENT_PHASE_B [A], AC-Strom L2
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_2'
                          AC_CURRENT_PHASE_C:
                              name: AC_CURRENT_PHASE_C [A], AC-Strom L3
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_3'
                          AC_ENERGY_REACTIVE_CONSUMED:
                              name: AC_ENERGY_REACTIVE_CONSUMED [VAr], Konsumierte Blindleistung
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReactive_VArAC_Sum_Consumed'
                          AC_ENERGY_REACTIVE_PRODUCED:
                              name: AC_ENERGY_REACTIVE_PRODUCED [VAr], Produzierte Blindleistung
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReactive_VArAC_Sum_Produced'
                          AC_ENERGY_MINUS:
                              name: AC_ENERGY_MINUS [W], AC Energie negativ
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Minus_Absolute'
                          AC_ENERGY_PLUS:
                              name: AC_ENERGY_PLUS [W], AC Energie positiv
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Plus_Absolute'
                          AC_ENERGY_CONSUMED:
                              name: AC_ENERGY_CONSUMED [Wh], Konsumierte AC Leistung
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Sum_Consumed'
                              START_DAY_ENERGY:
                                  name: AC_ENERGY_CONSUMED - START_DAY_ENERGY [kWh], Konsumierte AC Energie um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_ENERGY_CONSUMED - TODAY [kWh], Konsumierte AC Energie heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED() / 1000) - sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED
                          AC_ENERGY_PRODUCED:
                              name: AC_ENERGY_PRODUCED [Wh], Produzierte AC Leistung
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Sum_Produced'
                              START_DAY_ENERGY:
                                  name: AC_ENERGY_PRODUCED - START_DAY_ENERGY [kWh], Produzierte AC Energie um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_ENERGY_PRODUCED - TODAY [kWh], Produzierte AC Energie heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED() / 1000) - sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED
                          AC_FREQUENCY:
                              name: AC_FREQUENCY [Hz], Durchschnittsfrequenz
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Frequency_Phase_Average'
                          AC_POWER:
                              name: AC_POWER [W], Wirkleistung (P) gesamt
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Sum'
                          AC_POWER_PHASE_A:
                              name: AC_POWER_PHASE_A [W], Wirkleistung (P) L1
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_1'
                          AC_POWER_PHASE_B:
                              name: AC_POWER_PHASE_B [W], Wirkleistung (P) L2
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_2'
                          AC_POWER_PHASE_C:
                              name: AC_POWER_PHASE_C [W], Wirkleistung (P) L3
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_3'
                          AC_POWER_APPARENT:
                              name: AC_POWER_APPARENT [VA], Scheinleistung (S) gesamt
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Sum'
                          AC_POWER_APPARENT_PHASE_A:
                              name: AC_POWER_APPARENT_PHASE_A [VA], Scheinleistung (S) L1
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_1'
                          AC_POWER_APPARENT_PHASE_B:
                              name: AC_POWER_APPARENT_PHASE_B [VA], Scheinleistung (S) L2
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_2'
                          AC_POWER_APPARENT_PHASE_C:
                              name: AC_POWER_APPARENT_PHASE_C [VA], Scheinleistung (S) L3
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_3'
                          AC_POWER_REACTIVE:
                              name: AC_POWER_REACTIVE [VAr], Blindleistung (Q) gesamt
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Sum'
                          AC_POWER_REACTIVE_PHASE_A:
                              name: AC_POWER_REACTIVE_PHASE_A [VAr], Blindleistung (Q) L1
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_1'
                          AC_POWER_REACTIVE_PHASE_B:
                              name: AC_POWER_REACTIVE_PHASE_B [VAr], Blindleistung (Q) L2
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_2'
                          AC_POWER_REACTIVE_PHASE_C:
                              name: AC_POWER_REACTIVE_PHASE_C [VAr], Blindleistung (Q) L3
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_3'
                          AC_POWER_FACTOR:
                              name: AC_POWER_FACTOR [-1..1], Leistungsfaktor gesamt, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Sum'
                          AC_POWER_FACTOR_PHASE_A:
                              name: AC_POWER_FACTOR_PHASE_A [-1..1], Leistungsfaktor L1, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_1'
                          AC_POWER_FACTOR_PHASE_B:
                              name: AC_POWER_FACTOR_PHASE_B [-1..1], Leistungsfaktor L2, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_2'
                          AC_POWER_FACTOR_PHASE_C:
                              name: AC_POWER_FACTOR_PHASE_C [-1..1], Leistungsfaktor L3, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_3'
                          AC_VOLTAGE_PHASE_A_TO_N:
                              name: AC_VOLTAGE_PHASE_A_TO_N [V], AC-Spannung L1
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_1'
                          AC_VOLTAGE_PHASE_B_TO_N:
                              name: AC_VOLTAGE_PHASE_B_TO_N [V], AC-Spannung L2
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_2'
                          AC_VOLTAGE_PHASE_C_TO_N:
                              name: AC_VOLTAGE_PHASE_C_TO_N [V], AC-Spannung L3
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_3'
                          AC_VOLTAGE_PHASE_A_TO_B:
                              name: AC_VOLTAGE_PHASE_A_TO_B [V], AC-Spannung L1..L2
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_12'
                          AC_VOLTAGE_PHASE_B_TO_C:
                              name: AC_VOLTAGE_PHASE_B_TO_C [V], AC-Spannung L2..L3
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_23'
                          AC_VOLTAGE_PHASE_C_TO_A:
                              name: AC_VOLTAGE_PHASE_C_TO_A [V], AC-Spannung L3..L1
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_31'
                          INFO_MANUFACTURER:
                              name: INFO_MANUFACTURER [], Hersteller Name
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Manufacturer'
                          INFO_MODEL:
                              name: INFO_MODEL [], Modell Name
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Model'
                          INFO_SERIEALNO:
                              name: INFO_SERIEALNO [], Seriennummer
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Serial'
                          INFO_CODE:
                              name: INFO_CODE [], Code (normalerweise 0)
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Head.Status.Code'
                          INFO_REASON:
                              name: INFO_REASON [], Grund
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Head.Status.Reason'
                          INFO_USER_MESSAGE:
                              name: INFO_USER_MESSAGE [], Meldung
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Head.Status.UserMessage'
                          INFO_USER_TIMESTAMP:
                              name: INFO_USER_TIMESTAMP [], Datum und Uhrzeit
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_sm1: '.Head.Timestamp'
              
              
              
              R03:
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  # R03.WR1 - 10kW
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  WR1:
                      MODBUS_TCP:
                          AC_CURRENT:
                              name: AC_CURRENT [A], Summe aller AC Phasenströme
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R03.WR1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40072 40072   1   R   0x03    A   AC Current                                      uint16  A   A_SF    
                                  type: num
                                  name: AC_CURRENT [A], Summe aller AC Phasenströme
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40071
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_CURRENT_PHASE_A:
                              name: AC_CURRENT_PHASE_A [A], AC-Strom L1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R03.WR1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40073 40073   1   R   0x03    AphA    Phase A Current                             uint16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_A_CURRENT [A], AC-Strom L1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40072
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_CURRENT_PHASE_B:
                              name: AC_CURRENT_PHASE_B [A], AC-Strom L2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40074 40074   1   R   0x03    AphB    Phase B Current                             uint16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_B_CURRENT [A], AC-Strom L2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40073
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_CURRENT_PHASE_C:
                              name: AC_CURRENT_PHASE_C [A], AC-Strom L3
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40075 40075   1   R   0x03    AphC    Phase C Current                             uint16  A   A_SF    
                                  type: num
                                  name: AC_PHASE_C_CURRENT [A], AC-Strom L3
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40074
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_CURRENT_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40076 40076   1   R   0x03    A_SF                                                sunssf  
                              type: num
                              name: AC_CURRENT_SF [], Scale Factor für AC_CURRENT, AC_PHASE_A_CURRENT, AC_PHASE_B_CURRENT, AC_PHASE_C_CURRENT
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40075
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          AC_POWER:
                              name: AC_POWER [W], AC-Ausgangsleistung
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_POWER_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40084 40084   1   R   0x03    W   AC Power                                        int16   W   W_SF
                                  type: num
                                  name: AC_POWER [W], AC-Ausgangsleistung
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40083
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_POWER_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40085 40085   1   R   0x03    W_SF        s                                       unssf
                              type: num
                              name: AC_POWER_SF [], Scale Factor für AC_POWER
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40084
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          AC_FREQUENCY:
                              name: AC_FREQUENCY [Hz], AC-Frequenz
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_FREQUENCY_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_FREQUENCY_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40086 40086   1   R   0x03    Hz  Line Frequency                                  uint16  Hz  Hz_SF   
                                  type: num
                                  name: AC_FREQUENCY [Hz], AC-Frequenz
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40085
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_FREQUENCY_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40087 40087   1   R   0x03    Hz_SF                                               sunssf
                              type: num
                              name: AC_FREQUENCY_SF [], Scale Factor für AC_FREQUENCY
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40086
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          AC_POWER_APPARENT:
                              name: AC_POWER_APPARENT [VA], Scheinleistung gesamt
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_POWER_APPARENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_POWER_APPARENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40088 40088   1   R   0x03    VA  AC Apparent Power                               int16   VA  VA_SF  
                                  type: num
                                  name: AC_POWER_APPARENT [VA], Scheinleistung gesamt
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40087
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_POWER_APPARENT_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40089 40089   1   R   0x03    VA_SF                                               sunssf
                              type: num
                              name: AC_POWER_APPARENT_SF [], Scale Factor für AC_POWER_APPARENT
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40088
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1            
                          AC_POWER_REACTIVE:
                              name: AC_POWER_REACTIVE [VAr], Blindleistung gesamt
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_POWER_REACTIVE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_POWER_REACTIVE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40090 40090   1   R   0x03    VAr AC Reactive Power                               int16   var VAr_SF  
                                  type: num
                                  name: AC_POWER_REACTIVE [VAr], Blindleistung gesamt
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40089
                                  modBusDataType@modbus_wr1_fast: int16 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_POWER_REACTIVE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40091 40091   1   R   0x03    VAr_SF                                              sunssf
                              type: num
                              name: AC_POWER_REACTIVE_SF [], Scale Factor für AC_POWER_REACTIVE
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40090
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1                
                          AC_ENERGY:
                              name: AC_ENERGY [Wh], Kummulierte AC Leistung
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.AC_ENERGY_SF
                              START_DAY_ENERGY:
                                  name: AC_ENERGY - START_DAY_ENERGY [kWh], Kummulierte AC Leistung um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R03.WR1.MODBUS_TCP.AC_ENERGY() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_ENERGY - TODAY [kWh], Kummulierte AC Leistung heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R03.WR1.MODBUS_TCP.AC_ENERGY() / 1000) - sh.R03.WR1.MODBUS_TCP.AC_ENERGY.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R03.WR1.MODBUS_TCP.AC_ENERGY
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40094 40095   2   R   0x03    WH  AC Energy                                       acc32   Wh  WH_SF   
                                  type: num
                                  name: AC_ENERGY [Wh], Kummulierte AC Leistung
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40093
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1
                          AC_ENERGY_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40096 40096   1   R   0x03    WH_SF                                               sunssf
                              type: num
                              name: AC_ENERGY_SF [], Scale Factor für AC_ENERGY
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40095
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          DC_POWER:
                              name: DC_POWER [W], Summer aller DC Leistungen
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.DC_POWER_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.DC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40101 40101   1   R   0x03    DCW DC Power                                        int16   W   DCW_SF  
                                  type: num
                                  name: DC_POWER [W], Summer aller DC Leistungen
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40100
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          DC_POWER_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40102 40102   1   R   0x03    DCW_SF                                              sunssf
                              type: num
                              name: DC_POWER_SF [], Scale Factor für DC_POWER
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40101
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          CAB_TEMPERATURE:
                              name: CAB_TEMPERATURE [°C], Wechselrichter Innentemperatur
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.CAB_TEMPERATURE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.CAB_TEMPERATURE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40103 40103   1   R   0x03    TmpCab  Cabinet Temperature                         int16   C   Tmp_SF  
                                  type: num
                                  name: CAB_TEMPERATURE [°C], Wechselrichter Innentemperatur
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40102
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          CAB_TEMPERATURE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40107 40107   1   R   0x03    Tmp_SF                                              sunssf
                              type: num
                              name: CAB_TEMPERATURE_SF [], Scale Factor für CAB_TEMPERATURE
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40106
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          OPERATING_STATUS:
                              type: str
                              name: Operating status als String (
                              cache: 'True'
                              eval: "sh..LOOKUP_DICT()[sh..RAW()]"
                              eval_trigger: 
                                - init
                                - .RAW
                              LOOKUP_DICT:
                                  type: dict
                                  #initial_value: "{ '0': 'Status unbekannt', '1': 'Wechselrichter ist aus', '2': 'Auto-Shutdown', '3': 'Wechselrichter startet', '4': 'Wechselrichter arbeitet normal', '5': 'Leistungsreduktion aktiv', '6': 'Wechselrichter schaltet ab', '7': 'Ein oder mehr Fehler existieren', '8': 'Standby' }"
                                  initial_value: "{ 0: 'Status unbekannt', 1: 'Wechselrichter ist aus', 2: 'Auto-Shutdown', 3: 'Wechselrichter startet', 4: 'Wechselrichter arbeitet normal', 5: 'Leistungsreduktion aktiv', 6: 'Wechselrichter schaltet ab', 7: 'Ein oder mehr Fehler existieren', 8: 'Standby' }"
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40108 40108   1   R   0x03    St  Enumerated value.  Operating state              enum16
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  name: OPERATING_STATE [enum], I_STATUS_OFF 1 Wechselrichter ist aus, I_STATUS_SLEEPING 2 Auto-Shutdown, I_STATUS_STARTING 3 Wechselrichter startet, I_STATUS_MPPT 4 Wechselrichter arbeitet normal, I_STATUS_THROTTLED 5 Leistungsreduktion aktiv, I_STATUS_SHUTTING_DOWN 6 Wechselrichter schaltet ab, I_STATUS_FAULT 7 Ein oder mehr Fehler existieren, I_STATUS_STANDBY 8 Standby
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40107
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          CUSTOMER_EVENTS:
                              type: str
                              name: Customer events als String (bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info)
                              cache: 'True'
                              eval: "sh..LOOKUP_DICT()[sh..RAW()]"
                              eval_trigger:
                                - init                
                                - .RAW
                              LOOKUP_DICT:
                                  type: dict
                                  initial_value: "{ 0: 'Keine Meldungen', 1: 'ERROR anstehend', 2: 'WARNING anstehend', 3: 'ERROR und WARNING anstehend', 4: 'INFO anstehend', 5: 'ERROR und INFO anstehend', 6: 'WARNING und INFO anstehend', 7: 'ERROR, WARNING und INFO anstehend' }"
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40114 40115   2   R   0x03    EvtVnd1 Vendor defined events                       bitfield32          """Customer"" event severity level bitfield (bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info)
                                  type: num
                                  name: CUSTOMER_EVENTS [bitfield], bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40113
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1      
                          TECHNICIAN_EVENTS:
                              type: str
                              name: Technician events als String (bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info)
                              cache: 'True'
                              eval: "sh..LOOKUP_DICT()[sh..RAW()]"
                              eval_trigger:
                                - init                
                                - .RAW
                              LOOKUP_DICT:
                                  type: dict
                                  initial_value: "{ 0: 'Keine Meldungen', 1: 'ERROR anstehend', 2: 'WARNING anstehend', 3: 'ERROR und WARNING anstehend', 4: 'INFO anstehend', 5: 'ERROR und INFO anstehend', 6: 'WARNING und INFO anstehend', 7: 'ERROR, WARNING und INFO anstehend' }"
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40116 40117   2   R   0x03    EvtVnd2 Vendor defined events   bitfield32          """Technician"" event severity level bitfield (bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info)
                                  type: num
                                  name: TECHNICIAN_EVENTS [bitfield], bit 0 -> Error, bit 1 -> Warning, bit 2 -> Info
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40115
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1        
                          AC_LIFETIME_ENERGY:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40187 40190   4   R   0x03    ActWh   AC lifetime active (real) energy output.    acc64   Wh      
                              type: num
                              name: AC_LIFETIME_ENERGY [Wh], Kummulierte AC Leistung, realer Energie Ausgang
                              cache: 'True'
                              eval: (sh..WORD2() + (sh..WORD1() * 65535))
                              eval_trigger: 
                                - .WORD1 # high word
                                - .WORD2 # low word
                              START_DAY_ENERGY:
                                  name: AC_LIFETIME_ENERGY - START_DAY_ENERGY [kWh], Kummulierte AC Leistung, realer Energie Ausgang um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R03.WR1.MODBUS_TCP.AC_LIFETIME_ENERGY() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: AC_LIFETIME_ENERGY - TODAY [kWh], Kummulierte AC Leistung, realer Energie Ausgang heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R03.WR1.MODBUS_TCP.AC_LIFETIME_ENERGY() / 1000) - sh.R03.WR1.MODBUS_TCP.AC_LIFETIME_ENERGY.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R03.WR1.MODBUS_TCP.AC_LIFETIME_ENERGY
                              WORD1:
                                  type: num
                                  name: LIFETIME_ENERGY_WORD1 (High WORD)
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40186
                                  modBusDataType@modbus_wr1_fast: uint32
                                  modBusFactor@modbus_wr1_fast: 1 
                              WORD2:
                                  type: num
                                  name: LIFETIME_ENERGY_WORD2 (Low WORD)
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40188
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1
                          INSULATION_RESISTANCE:
                              name: INSULATION_RESISTANCE [Ohm], Isolationswiderstand
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.INSULATION_RESISTANCE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.INSULATION_RESISTANCE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40226 40226   1   R   0x03    Ris Isolation resistance.                           uint16  ohms    Ris_SF  
                                  type: num
                                  name: INSULATION_RESISTANCE [Ohm], Isolationswiderstand
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40225
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          INSULATION_RESISTANCE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40227 40227   1   R   0x03    Ris_SF  Scale factor for isolation resistance.      sunssf
                              type: num
                              name: INSULATION_RESISTANCE_SF [], Scale Factor für INSULATION_RESISTANCE
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40226
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          MPPx_DC_CURRENT_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40256 40256   1   R   0x03    DCA_SF  Current Scale Factor                        sunssf
                              type: num
                              name: MPPx_DC_CURRENT_SF [], Scale Factor für MPPx_DC_CURRENT
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40255
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          MPPx_DC_VOLTAGE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40257 40257   1   R   0x03    DCV_SF  Voltage Scale Factor                        sunssf
                              type: num
                              name: MPPx_DC_VOLTAGE_SF [], Scale Factor für MPPx_DC_VOLTAGE
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40256
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          MPPx_DC_POWER_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40258 40258   1   R   0x03    DCW_SF  Power Scale Factor                          sunssf
                              type: num
                              name: MPPx_DC_POWER_SF [], Scale Factor für MPPx_DC_POWER
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40257
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          MPPx_DC_LIFETIME_ENERGY_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40259 40259   1   R   0x03    DCWH_SF Energy Scale Factor                         sunssf
                              type: num
                              name: MPPx_DC_LIFETIME_ENERGY_SF [], Scale Factor für MPPx_DC_LIFETIME_ENERGY
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40258
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                          MPP1_DC_CURRENT:
                              name: MPP1_DC_CURRENT [A], DC-Strom PV1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40273 40273   1   R   0x03    module/1/DCA    DC Current                          uint16  A   DCA_SF
                                  type: num
                                  name: MPP1_DC_CURRENT [A], DC-Strom PV1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40272
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP1_DC_VOLTAGE:
                              name: MPP1_DC_VOLTAGE [V], DC-Spannung PV1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_VOLTAGE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40274 40274   1   R   0x03    module/1/DCV    DC Voltage                          uint16  V   DCV_SF
                                  type: num
                                  name: MPP1_DC_VOLTAGE [V], DC-Spannung PV1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40273
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP1_DC_POWER:
                              name: MPP1_DC_POWER [W], DC-Leistung PV1
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40275 40275   1   R   0x03    module/1/DCW    DC Power                            uint16  W   DCW_SF
                                  type: num
                                  name: MPP1_DC_POWER [W], DC-Leistung PV1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40274
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP1_DC_LIFETIME_ENERGY:
                              name: MPP1_DC_LIFETIME_ENERGY [Wh], Kummulierte DC Energie PV1
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_LIFETIME_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_LIFETIME_ENERGY_SF
                              START_DAY_ENERGY:
                                  name: MPP1_DC_LIFETIME_ENERGY - START_DAY_ENERGY [kWh], Kummulierte DC Energie PV1 um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R03.WR1.MODBUS_TCP.MPP1_DC_LIFETIME_ENERGY() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: MPP1_DC_LIFETIME_ENERGY - TODAY [kWh], Kummulierte DC Energie PV1 heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R03.WR1.MODBUS_TCP.MPP1_DC_LIFETIME_ENERGY() / 1000) - sh.R03.WR1.MODBUS_TCP.MPP1_DC_LIFETIME_ENERGY.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R03.WR1.MODBUS_TCP.MPP1_DC_LIFETIME_ENERGY
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40276 40277   2   R   0x03    module/1/DCWH   Lifetime Energy                     acc32   Wh  DCWH_SF
                                  type: num
                                  name: MPP1_DC_LIFETIME_ENERGY [Wh], Kummulierte DC Energie PV1
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40275
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1 
                          MPP2_DC_CURRENT:
                              name: MPP2_DC_CURRENT [A], DC-Strom PV2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_CURRENT_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_CURRENT_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40293 40293   1   R   0x03    module/2/DCA    DC Current                          uint16  A   DCA_SF
                                  type: num
                                  name: MPP2_DC_CURRENT [A], DC-Strom PV2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40292
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP2_DC_VOLTAGE:
                              name: MPP2_DC_VOLTAGE [V], DC-Spannung PV2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_VOLTAGE_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_VOLTAGE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40294 40294   1   R   0x03    module/2/DCV    DC Voltage                          uint16  V   DCV_SF
                                  type: num
                                  name: MPP2_DC_VOLTAGE [V], DC-Spannung PV2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40293
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP2_DC_POWER:
                              name: MPP2_DC_POWER [W], DC-Leistung PV2
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40295 40295   1   R   0x03    module/2/DCW    DC Power                            uint16  W   DCW_SF
                                  type: num
                                  name: MPP2_DC_POWER [W], DC-Leistung PV2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40294
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          MPP2_DC_LIFETIME_ENERGY:
                              name: MPP2_DC_LIFETIME_ENERGY [Wh], Kummulierte DC Energie PV2
                              type: num
                              cache: 'True'
                              eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_LIFETIME_ENERGY_SF()))
                              eval_trigger: 
                                - .RAW
                                - R03.WR1.MODBUS_TCP.MPPx_DC_LIFETIME_ENERGY_SF
                              START_DAY_ENERGY:
                                  name: MPP2_DC_LIFETIME_ENERGY - START_DAY_ENERGY [kWh], Kummulierte DC Energie PV2 um 0Uhr
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  eval: (sh.R03.WR1.MODBUS_TCP.MPP2_DC_LIFETIME_ENERGY() / 1000)
                                  eval_trigger: 
                                    - .TIME_TRIGGER
                                  TIME_TRIGGER:
                                      type: num
                                      crontab: '0 0 * * = 1'
                                      enforce_updates: true
                              ENERGY_TODAY:
                                  name: MPP2_DC_LIFETIME_ENERGY - TODAY [kWh], Kummulierte DC Energie PV2 heute
                                  type: num
                                  cache: 'True'
                                  eval: ((sh.R03.WR1.MODBUS_TCP.MPP2_DC_LIFETIME_ENERGY() / 1000) - sh.R03.WR1.MODBUS_TCP.MPP2_DC_LIFETIME_ENERGY.START_DAY_ENERGY())
                                  eval_trigger: 
                                    - R03.WR1.MODBUS_TCP.MPP2_DC_LIFETIME_ENERGY
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40296 40297   2   R   0x03    module/2/DCWH   Lifetime Energy                     acc32   Wh  DCWH_SF
                                  type: num
                                  name: MPP2_DC_LIFETIME_ENERGY [Wh], Kummulierte DC Energie PV2
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40295
                                  modBusDataType@modbus_wr1_fast: uint32 
                                  modBusFactor@modbus_wr1_fast: 1 
                      SOLARAPI:
                          INFO_SERIEALNO:
                              name: INFO_SERIEALNO [], Seriennummer
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_wr1_device: '.Body.Data.Inverter.Serial'
                          INFO_USER_TIMESTAMP:
                              name: INFO_USER_TIMESTAMP [], Datum und Uhrzeit
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_wr1_device: '.Head.Timestamp'
                              
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  # R03.BATT1 - 10kWh
                  # ------------------------------------------------------------------------------------------------------------------------------------
                  BATT1:
                      BYD:
                          struct: byd_bat.byd_struct
                      MODBUS_TCP:
                          CHARGING_PERCENTAGE:
                              name: CHARGING_PERCENTAGE [%], Ladezustand der Batterie
                              type: num
                              cache: 'True'
                              #database: init
                              eval: (sh..RAW() * math.pow(10, sh.R03.BATT1.MODBUS_TCP.CHARGING_PERCENTAGE_SF()))
                              eval_trigger: 
                                - .RAW 
                                - R03.BATT1.MODBUS_TCP.CHARGING_PERCENTAGE_SF
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40352 40352   1   R   0x03    ChaState    Currently available energy as a percent of the capacity rating. uint16  % AhrRtg    ChaState_SF   
                                  type: num
                                  name: AC_CURRENT [A], Summe aller AC Phasenströme
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40351
                                  modBusDataType@modbus_wr1_fast: uint16 
                                  modBusFactor@modbus_wr1_fast: 1
                          CHARGING_STATUS:
                              type: str
                              name: Aktiver Zustand der Batterie als String.  (OFF, EMPTY, DISCHAGING, CHARGING, FULL, HOLDING, TESTING)
                              cache: 'True'
                              eval: "sh..LOOKUP_DICT()[sh..RAW()]"
                              eval_trigger: 
                                - init
                                - .RAW
                              LOOKUP_DICT:
                                  type: dict
                                  initial_value: "{ 0: 'Undefiniert', 1: 'Aus', 2: 'Leer', 3: 'Entladen', 4: 'Laden', 5: 'Voll', 6: 'Angehalten', 7: 'Test aktiv' }"
                              RAW:
                                  # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                                  # -------------------------------------------------------------------------------------------------------------
                                  # 40355 40355   1   R   0x03    ChaSt   Charge status of storage device.            enum16          1: OFF, 2: EMPTY, 3: DISCHAGING, 4: CHARGING, 5: FULL, 6: HOLDING, 7: TESTING
                                  type: num
                                  name: CHARGING_STATUS [enum], 1 -> OFF, 2 -> EMPTY, 3 -> DISCHAGING, 4 -> CHARGING, 5 -> FULL, 6 -> HOLDING, 7 -> TESTING
                                  modBusObjectType@modbus_wr1_fast: HoldingRegister
                                  modBusDirection@modbus_wr1_fast: read
                                  modBusAddress@modbus_wr1_fast: 40354
                                  modBusDataType@modbus_wr1_fast: uint16
                                  modBusFactor@modbus_wr1_fast: 1              
                          CHARGING_PERCENTAGE_SF:
                              # Start End     Sz  R/W Func.   Description                                         Type    Unit    Scale
                              # -------------------------------------------------------------------------------------------------------------
                              # 40366 40366   1   R   0x03    ChaState_SF Scale factor for available energy percent.  sunssf
                              type: num
                              name: CHARGING_PERCENTAGE_SF [], Scale Factor für CHARGING_PERCENTAGE
                              modBusObjectType@modbus_wr1_fast: HoldingRegister
                              modBusDirection@modbus_wr1_fast: read
                              modBusAddress@modbus_wr1_fast: 40365
                              modBusDataType@modbus_wr1_fast: int16 
                              modBusFactor@modbus_wr1_fast: 1
                      SOLARAPI:
                          DC_CURRENT:
                              name: DC_CURRENT [A], Lade- / Entladestrom
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Current_DC'  
                          DC_VOLTAGE:
                              name: DC_VOLTAGE [V], Batteriespannung
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Voltage_DC' 
                          CHARGING_PERCENTAGE:
                              name: CHARGING_PERCENTAGE [%], Ladezustand der Batterie
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.StateOfCharge_Relative'    
                          STATUS_BATTERYCELL:
                              type: str
                              name: STATUS_BATTERYCELL [], Status der Batterie als String (0 -> STANDBY, 1 -> INACTIVE, 2 -> DARKSTART, 3 -> ACTIVE, 4 -> FAULT, 5 -> UPDATING
                              cache: 'True'
                              eval: "sh..LOOKUP_DICT()[int(sh..RAW())]"
                              eval_trigger: 
                                - init
                                - .RAW
                              LOOKUP_DICT:
                                  type: dict
                                  initial_value: "{ 0: 'Standby', 1: 'Inaktiv', 2: 'Schwarzstart', 3: 'Aktiv', 4: 'Fehler', 5: 'Update' }"
                              RAW:
                                  name: STATUS_BATTERYCELL [], Status der Batterie (0 -> STANDBY, 1 -> INACTIVE, 2 -> DARKSTART, 3 -> ACTIVE, 4 -> FAULT, 5 -> UPDATING
                                  type: num
                                  cache: 'True'
                                  #database: init
                                  jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Status_BatteryCell' 
                          TEMPERATURE:
                              name: TEMPERATURE [°C], Batterietemperatur
                              type: num
                              cache: 'True'
                              #database: init
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Temperature_Cell' 
                          INFO_MANUFACTURER:
                              name: INFO_MANUFACTURER [], Hersteller Name
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Details.Manufacturer'
                          INFO_MODEL:
                              name: INFO_MODEL [], Modell Name
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Details.Model'
                          INFO_SERIEALNO:
                              name: INFO_SERIEALNO [], Seriennummer
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Body.Data."0".Controller.Details.Serial'
                          INFO_CODE:
                              name: INFO_CODE [], Code (normalerweise 0)
                              type: num
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Head.Status.Code'
                          INFO_REASON:
                              name: INFO_REASON [], Grund
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Head.Status.Reason'
                          INFO_USER_MESSAGE:
                              name: INFO_USER_MESSAGE [], Meldung
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Head.Status.UserMessage'
                          INFO_USER_TIMESTAMP:
                              name: INFO_USER_TIMESTAMP [], Datum und Uhrzeit
                              type: str
                              cache: 'True'
                              jsonread_filter@jsonread_batt1: '.Head.Timestamp'
              Ich hoffe es hilft einem.

              Kommentar


                #8
                Danke! Die Idee mit den zwei Geschwindigkeiten find ich toll!

                Für die Nachwelt:

                plugin.yaml
                Code:
                fronius:
                    plugin_name: modbus_tcp
                    host: 10.0.0.175
                    port: 502
                    cycle: 30
                    slaveUnit: 240​
                energy.yaml
                Code:
                # energy.yaml
                
                energy:
                    grid:
                        ac_active_energy_export_total:
                            type: num
                            value: '0'
                            modBusAddress: 40129
                            modBusUnit: '240'
                            modBusDataType: float32
                        ac_active_energy_import_total:
                            type: num
                            value: '0'
                            modBusAddress: 40137
                            modBusUnit: '240'
                            modBusDataType: float32
                        ac_power:
                            type: num
                            value: '0'
                            modBusAddress: 40097
                            modBusUnit: '240'
                            modBusDataType: float32
                            phase_A:
                                type: num
                                value: '0'
                                modBusAddress: 40099
                                modBusUnit: '240'
                                modBusDataType: float32
                            phase_B:
                                type: num
                                value: '0'
                                modBusAddress: 40101
                                modBusUnit: '240'
                                modBusDataType: float32
                            phase_C:
                                type: num
                                value: '0'
                                modBusAddress: 40103
                                modBusUnit: '240'
                                modBusDataType: float32
                            inverted:
                                type: num  
                                eval: -value
                                eval_trigger: ..            
                            to_grid:
                                type: num  
                                eval: -value if value<0 else 0
                                eval_trigger: ..
                            from_grid:
                                type: num  
                                eval: value if value>0 else 0
                                eval_trigger: ..          
                            surplus_1kw:
                                type: bool
                                eval: value < -1000
                                eval_trigger: ..
                            surplus_2kw:
                                type: bool
                                eval: value < -2000
                                eval_trigger: ..
                            surplus_3kw:
                                type: bool
                                eval: value < -3000
                                eval_trigger: ..
                            surplus_4kw:
                                type: bool
                                eval: value < -4000
                                eval_trigger: ..
                            surplus_5kw:
                                type: bool
                                eval: value < -5000
                                eval_trigger: ..
                            surplus_6kw:
                                type: bool
                                eval: value < -6000
                                eval_trigger: ..
                        ac_current:
                            type: num
                            value: '0'
                            modBusAddress: 40071
                            modBusUnit: '240'
                            modBusDataType: float32        
                            phase_A:
                                type: num
                                value: '0'
                                modBusAddress: 40073
                                modBusUnit: '240'
                                modBusDataType: float32
                            phase_B:
                                type: num
                                value: '0'
                                modBusAddress: 40075
                                modBusUnit: '240'
                                modBusDataType: float32
                            phase_C:
                                type: num
                                value: '0'
                                modBusAddress: 40077
                                modBusUnit: '240'
                                modBusDataType: float32
                
                    symo10:
                        ac_current:
                            type: num
                            value: '0'
                            modBusAddress: 40071
                            modBusUnit: '1'
                            modBusDataType: float32  
                            phase_A:
                                type: num
                                value: '0'
                                modBusAddress: 40073
                                modBusUnit: '1'
                                modBusDataType: float32    
                            phase_B:
                                type: num
                                value: '0'
                                modBusAddress: 40075
                                modBusUnit: '1'
                                modBusDataType: float32  
                            phase_C:
                                type: num
                                value: '0'
                                modBusAddress: 40077
                                modBusUnit: '1'
                                modBusDataType: float32  
                        ac_power:
                            type: num
                            value: '0'
                            modBusAddress: 40091
                            modBusUnit: '1'
                            modBusDataType: float32
                            phase_A:
                                type: num  
                                eval: value/3
                                eval_trigger: ..      
                            phase_B:
                                type: num
                                value: '0'
                                type: num  
                                eval: value/3
                                eval_trigger: ..  
                            phase_C:
                                type: num
                                value: '0'
                                type: num  
                                eval: value/3
                                eval_trigger: ..            
                        ac_active_energy:
                            type: num
                            value: '0'
                            modBusAddress: 40101
                            modBusUnit: '1'
                            modBusDataType: float32          
                        dc_power:
                            type: num
                            value: '0'
                            modBusAddress: 40107
                            modBusUnit: '1'
                            modBusDataType: float32
                            mppt1:
                                type: num  
                                eval: sh..raw_value() * 10**(sh...factor())
                                eval_trigger:
                                  - .raw_value
                                  - ..factor
                                raw_value:
                                    type: num
                                    value: '0'
                                    modBusAddress: 40284
                                    modBusUnit: '1'
                                    modBusDataType: uint16
                            mppt2:
                                type: num  
                                eval: sh..raw_value() * 10**(sh...factor())
                                eval_trigger:
                                  - .raw_value
                                  - ..factor
                                raw_value:
                                    type: num
                                    value: '0'
                                    modBusAddress: 40304
                                    modBusUnit: '1'
                                    modBusDataType: uint16
                            factor:
                                type: num
                                value: '0'
                                modBusAddress: 40267
                                modBusUnit: '1'
                                modBusDataType: int16          
                    house:
                        ac_power:
                            type: num
                            eval: sh....grid.ac_power() + sh....symo10.ac_power()
                            eval_trigger:
                              - ...grid.ac_power
                              - ...symo10.ac_power
                ​

                Kommentar

                Lädt...
                X