Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu MQTT Auswertung

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

    Frage zu MQTT Auswertung

    Hallo zusammen,

    kann ich mit dem MQTT Plugin folgendes auswerten und einzeln in Items schreiben?

    Code:
    /tele/Tasmota.../SENSOR = {"Time":"2023-03-27T12:25:33","DWS7612":{"energy":111.1111,"power":111.11}}
    Grüße und Danke

    Marco

    #2
    Nein nicht direkt. Das MQTT Plugin ist dazu da um Payloads für MQTT Topics zu senden oder zu empfangen. Eine Payload ist nach MQTT Standard erstmal nur ein Array of Bytes. Durch die Definition des Items als str, wird die Payload bereits als String gespeichert.

    Falls die Payload Daten im Json Format enthält und Du das Item als dict definierst, kannst Du entsprechende Teile in andere Items schreiben, indem Du mit dem on_change Attribut den gewünschten Teil der Payload in ein anderes Item schreibst. Du kannst natürlich auch von dem anderen Item aus per eval den entsprechenden Teil aus der Payload extrahieren. Die beiden Varianten sind normales Item Handling und keine Plugin Funktionalität.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Mit 'eval' und 'on_change' kann man da relativ viel machen um die einzelnen Werte aus dem JSON auf einzelne Items zuordnen.

      Auf die Art habe ich für meine Wallbox erst über MQTT die gesamte Payload (gesamtes JSON) einem Item zugeordnet und dann mit 'on_change' einzele Werte "ausgeholt" und auf andere Items verteilt.

      Sogar das Senden von JSON mit Item-Werten über MQTT geht damit. Man muss sich ein bisschen reindenken und den Workflow mal verstanden haben, aber es geht wie gesagt vieles ohne extra ein Plugin zu basteln.

      Guckst Du hier: https://github.com/sracing/warp2shng...p_charger.yaml

      Kommentar


        #4
        Es gibt ein Tasmota-Plugin, dass kann das wahrscheinlich sogar schon.

        Kommentar


          #5
          MarcoLanghans

          Und um es mit einem konkreten Beispiel zu zeigen:

          Wallbox liefert:

          Code:
          {'version': 'B', 'tme': '2803230850', 'rbc': '1623', 'rbt': '921638', 'car': '4', 'amp': '6', 'err': '0', 'ast': '0', 'alw': '0', 'stp': '0', 'cbl': '20', 'pha': '56', 'tmp': '9', 'tma': [2.63, 2.38, 2.25, 2.63], 'amt': '32', 'dws': '290', 'dwo': '0', 'adi': '1', 'uby': '0', 'eto': '25120', 'wst': '3', 'txi': '2', 'nrg': [216, 216, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'fwv': '040.0', 'sse': '999999', 'wss': 'xxxxxxxx', 'wke': '****************', 'wen': '1', 'cdi': '0', 'tof': '101', 'tds': '1', 'lbr': '100', 'aho': '3', 'afi': '7', 'azo': '0', 'ama': '16', 'al1': '6', 'al2': '8', 'al3': '10', 'al4': '12', 'al5': '16', 'cid': '255', 'cch': '16776960', 'cfi': '65280', 'lse': '1', 'ust': '0', 'wak': '', 'r1x': '2', 'dto': '0', 'nmo': '0', 'sch': 'AAAAAAAAAAAAAAAA', 'sdp': '0', 'eca': '0', 'ecr': '0', 'ecd': '0', 'ec4': '0', 'ec5': '0', 'ec6': '0', 'ec7': '0', 'ec8': '0', 'ec9': '0', 'ec1': '0', 'rca': 'EAE77882', 'rcr': '045A5AAA', 'rcd': '045A79AA', 'rc4': '', 'rc5': '', 'rc6': '', 'rc7': '', 'rc8': '', 'rc9': '', 'rc1': '', 'rna': '', 'rnm': 'yyyyy', 'rne': 'zzzzz', 'rn4': '', 'rn5': '', 'rn6': '', 'rn7': '', 'rn8': '', 'rn9': '', 'rn1': '', 'loe': 0, 'lot': 0, 'lom': 0, 'lop': 0, 'log': '', 'lon': 0, 'lof': 0, 'loa': 0, 'lch': 911}
          Items:

          Code:
          go_e:
              Status:
                  type: dict
                  mqtt_topic_in: go-eCharger/999999/status
                  on_change:
                  - ..fwv = value['fwv']
                  - ..sse = value['sse']
                  - ..amp = value['amp']
                  - ..car = value['car']
                  - ..err = value['err']
                  - ..ast = value['ast']
                  - ..cbl = value['cbl']
                  - ..pha = value['pha']
                  - ..dws = value['dws']
                  - ..eto = value['eto']
                  - ..U_L1 = value['nrg'][0]
                  - ..U_L2 = value['nrg'][1]
                  - ..U_L3 = value['nrg'][2]
                  - ..U_N = value['nrg'][3]
                  - ..I_L1 = value['nrg'][4]
                  - ..I_L2 = value['nrg'][5]
                  - ..I_L3 = value['nrg'][6]
                  - ..P_L1 = value['nrg'][7]
                  - ..P_L2 = value['nrg'][8]
                  - ..P_L3 = value['nrg'][9]
                  - ..P_N = value['nrg'][10]
                  - ..P_SUM = value['nrg'][11]
                  - ..PF_L1 = value['nrg'][12]
                  - ..PF_L2 = value['nrg'][13]
                  - ..PF_L3 = value['nrg'][14]
                  - ..PF_N = value['nrg'][15]
              fwv:
                  type: str
                  Text:
                      type: str
              sse:
                  type: str
                  Text:
                      type: str
              amp:
                  type: num
              car:
                  type: num
              err:
                  type: num
              ast:
                  type: num
              cbl:
                  type: num
              pha:
                  type: num
              dws:    
                  type: num
              eto:    
                  type: num
              U_L1:
                  type: num
              U_L2:
                  type: num
              U_L3:
                  type: num
              U_N:
                  type: num
              I_L1:
                  type: num
              I_L2:
                  type: num
              I_L3:
                  type: num
              P_L1:
                  type: num
              P_L2:
                  type: num
              P_L3:
                  type: num
              P_N:
                  type: num
              P_SUM:
                  type: num
              PF_L1:
                  type: num
              PF_L2:
                  type: num
              PF_L3:
                  type: num
              PF_N:
                  type: num
          Mit on_change werden einzelne interessante JSON Daten extrahiert und in eigene items geschrieben. Vor allem die Liste 'nrg' ist interessant, wie man auf die einzelnen Elemente zugreift.

          Kommentar


            #6
            Moin zusammen,
            ich kann nun per MQTT einen JSON String auswerten und meine Items setzen. Allerdings ist mir noch nicht klar, wie das umgekehrt mit dem Schreiben gehen kann. Könnte mir da noch einer einen Tipp geben.

            Lesen:
            Code:
            %YAML 1.1
            ---
            
            # status
            # {
            #   "online": true,
            #   "home": 22.5,
            #   "heat": false,
            #   "fanrpm": 0,
            #   "comp": 0,
            #   "outside": 9,
            #   "liquid": 20,
            #   ...
            # }
            
            
            R33:
                FAIKIN:
                    STATE:
                        type: dict
                        mqtt_topic_in: "state/CC8DA220AAAA/status"
                        on_change:
                          - .TEMP_LIQUID = value['liquid']
                          - .TEMP_OUTSIDE = value['outside']
                          - .TEMP_INSIDE = value['home']
                          - .ONLINE = value['online']
            
                        TEMP_LIQUID:
                            type: num
            
                        TEMP_OUTSIDE:
                            type: num
                            
                        TEMP_INSIDE:
                            type: num
                            
                        ONLINE:

            Schreiben - Versuch 1:
            Code:
            %YAML 1.1
            ---
            
            R33:
                FAIKIN:
                    COMMAND:
                        type: dict
                        mqtt_topic_in: "command/CC8DA220AAAA/control"
                        mqtt_topic_out: "command/CC8DA220AAAA/control"
                                
                        POWER:
                            type: bool
                            on_change:
                              - ..COMMAND = value['power']
                        
                        SET_TEMP:
                            type: num
                            on_change:
                              - ..COMMAND = value['temp']
              
                        SWINGH:
                            type: bool
                            on_change:
                              - ..COMMAND = value['swingh']
                            
                        SWINGV:
                            type: bool
                            on_change:
                              - ..COMMAND = value['swingv']
            Aber mit dem Schreiben liege ich nicht korrekt.
            Vielleicht hat ja auch schon einer ein Faikin Modul (für DAIKIN) implementiert.

            Ein paar Infos dazu sind hier zu finden
            https://github.com/revk/ESP32-Faikin...ls/Advanced.md

            Kommentar


              #7
              loeserman Die MQTT API meines Türschlosses hat topics, auf die ich Werte publishen darf. Das geht dann bspw so:
              self.publish_topic('nuki/%s/lockAction' % (nuki_id), value)

              publish_topic kommt aus dem MQTTPlugin

              Kommentar


                #8
                Lokal habe ich jetzt das Plugin mit Bridge UND MQTT am Laufen. Leider ist mir jetzt aufgefallen, dass ich ja auch noch das Ganze so testen muss, dass es auch nur mit einem von beiden gehen muss :-). Bin weiter dran.

                Update: die neue Version des Plugins ist im DEVELOP verfügbar. Man kann es jetzt via Bridge, MQTT oder beidem nutzen, bspw. falls man ein altes und ein neues Schloss hat. Default ist der klassische Betrieb via Bridge.


                Gibts hier eigentlich noch Tester?​ Dann bitte mal testen, egal ob mit neuem oder altem Nuki.
                Zuletzt geändert von psilo; 07.04.2025, 19:13.

                Kommentar


                  #9
                  Hi, Ich hänge mich hier mal ran.

                  Ich würde gerne aus meinem Wechselrichter Informationen über mqtt auslesen.
                  "http://192.168.0.41/solar_api/v1/GetPowerFlowRealtimeData.fcgi" gibt mir einen JSON zurück.


                  Das Plugin aktiviere ich so (SHNG 1.10)

                  Code:
                  MQTT:
                      class_name: Mqtt
                      host: 127.0.0.1
                      port: 1883​​
                  aber was genau ist dann unter "mqtt_topic_in" anzugeben um die Werte mit "on_change" meinen items zu zuordnen?
                  Ist das der Link wie oben angegeben?

                  Klappt das so grundsätzlich oder habe ich einen kompletten Denkfehler?


                  image.png

                  Kommentar


                    #10
                    Du liest nicht über MQTT aus, sondern über HTTP. Dazu müsste eine Logik oder das jsonread-Plugin besser geeignet sein.

                    Für MQTT muss dein Gerät mit einem MQTT-Broker reden, und das MQTT-Plugin ermöglicht dir, Daten vom Broker abzurufen. Ist auch nicht schwer, aber wenn du die json-Daten direkt abrufen kannst, ist das sogar noch weniger Aufwand, solange du nichts anderes mit MQTT hast.

                    Kommentar


                      #11
                      Mit einem Tasmota auf MBUS am WR kriegst Du die Daten direkt auf MQTT... Auch eine Option, wenn der WR das kann.

                      Kommentar


                        #12
                        Zitat von fuxl66 Beitrag anzeigen
                        Hi, Ich hänge mich hier mal ran.

                        Ich würde gerne aus meinem Wechselrichter Informationen über mqtt auslesen.
                        "http://192.168.0.41/solar_api/v1/GetPowerFlowRealtimeData.fcgi" gibt mir einen JSON zurück.


                        ...​
                        Hi fuxl66
                        also ich kann Dir an dieser Stelle sagen, wie ich es gelöst habe. So wie es aussieht hast Du einen Wechselrichter von Fronius.

                        plugin.yaml
                        Code:
                        jsonread_wr1_device:
                            plugin_name: jsonread
                            url: http://192.168.xxx.yyy/solar_api/v1/GetActiveDeviceInfo.cgi
                            cycle: 43200
                            instance: jsonread_wr1_device​
                        
                        jsonread_wr1_energy:
                            plugin_name: jsonread
                            url: http://192.168.xxx.yyy/solar_api/v1/GetInverterRealtimeData.cgi
                            cycle: 30
                            instance: jsonread_wr1_energy
                        
                        jsonread_wr1_powerflow:
                            plugin_name: jsonread
                            url: http://192.168.xxx.yyy/solar_api/v1/GetPowerFlowRealtimeData.fcgi
                            cycle: 30
                            instance: jsonread_wr1_powerflow
                        
                        jsonread_sm1:
                            plugin_name: jsonread
                            url: http://192.168.122.230/solar_api/v1/GetMeterRealtimeData.cgi
                            cycle: 30
                            instance: jsonread_sm1
                        
                        jsonread_batt1:
                            plugin_name: jsonread
                            url: http://192.168.122.230/solar_api/v1/GetStorageRealtimeData.cgi
                            cycle: 30
                            instance: jsonread_batt1​​

                        Smartmeter
                        items_pv.yaml
                        Code:
                        R02:
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            # R02.SM1 - SmartMeter
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            SM1:
                                SOLARAPI:
                                    UPDATE_FLAG_3SEC:
                                        name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
                                        type: bool
                                        value: 0
                                        autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
                                        eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
                                        eval_trigger:
                                          - ..INFO_USER_TIMESTAMP
                                        enforce_updates: True
                                        on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
                                        TIME:
                                            remark: Wann zuletzt ein Datensatz gelesen (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
                                            name: Letztes Update um
                                            type: str
                                            value: '---'
                                    AC_CURRENT:
                                        name: AC_CURRENT [A], Summe aller AC Phasenströme
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                            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: 'yes'
                                        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: 'yes'
                                            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: 'yes'
                                        jsonread_filter@jsonread_sm1: '.Body.Data."0".Frequency_Phase_Average'
                                    AC_POWER:
                                        name: AC_POWER [W], Wirkleistung (P) gesamt
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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'​

                        Wechselrichter
                        items_pv.yaml​
                        Code:
                        R03:
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            # R03.WR1 - 10kW
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            WR1:
                                SOLARAPI:
                                    UPDATE_FLAG_3SEC:
                                        name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
                                        type: bool
                                        value: 0
                                        autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
                                        eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
                                        eval_trigger:
                                          - ..INFO_USER_TIMESTAMP
                                        enforce_updates: True
                                        on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
                                        TIME:
                                            remark: Wann zuletzt ein Datensatz gelesen (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
                                            name: Letztes Update um
                                            type: str
                                            value: '---'
                                    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'​

                        Ich nutze die SOLARAPI aber nur für wenige Teile der Wechselrichter. Lediglich das Smartmeter und die Batterie liefern hierüber mehr daten. Das meiste lese ich per odbus TCP. Alternativ kannst Du im WR Modbus TCP aktivieren. Dann geht auch folgendes:

                        plugin.yaml
                        Code:
                        modbus_wr1_fast:
                            plugin_name: modbus_tcp
                            host: 192.168.xxx.yyy
                            port: '502'
                            webif_pagelength: 100
                            instance: modbus_wr1_fast
                            cycle: 30
                            slaveUnit: 1
                        
                        modbus_wr1_slow:
                            plugin_name: modbus_tcp
                            host: 192.168.xxx.yyy
                            port: '502'
                            webif_pagelength: 100
                            instance: modbus_wr1_slow
                            cycle: 60
                            slaveUnit: 1​


                        Wechselrichter
                        items_pv.yaml​
                        Code:
                        R03:
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            # R03.WR1 - 10kW
                            # ------------------------------------------------------------------------------------------------------------------------------------
                            WR1:
                                MODBUS_TCP:
                                    UPDATE_FLAG_3SEC:
                                        name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
                                        type: bool
                                        value: 0
                                        autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
                                        eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
                                        eval_trigger:
                                          - ..AC_CURRENT
                                          - ..AC_CURRENT_PHASE_A
                                          - ..AC_CURRENT_PHASE_B
                                          - ..AC_CURRENT_PHASE_C
                                          - ..AC_POWER
                                          - ..AC_FREQUENCY
                                          - ..AC_POWER_APPARENT
                                          - ..AC_POWER_REACTIVE
                                          - ..AC_ENERGY
                                          - ..CAB_TEMPERATURE
                                          - ..OPERATING_STATUS
                                          - ..CUSTOMER_EVENTS
                                          - ..TECHNICIAN_EVENTS
                                          - ..AC_LIFETIME_ENERGY
                                          - ..INSULATION_RESISTANCE
                                          - ..MPP1_DC_CURRENT
                                          - ..MPP1_DC_VOLTAGE
                                          - ..MPP1_DC_POWER
                                          - ..MPP1_DC_LIFETIME_ENERGY
                                          - ..MPP2_DC_CURRENT
                                          - ..MPP2_DC_VOLTAGE
                                          - ..MPP2_DC_POWER
                                          - ..MPP2_DC_LIFETIME_ENERGY
                                        enforce_updates: True
                                        on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
                                        TIME:
                                            remark: Wann zuletzt der Datensatz sich geändert hat (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
                                            name: Letztes Update um
                                            type: str
                                            value: '---'
                                    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_CURRENT:
                                        name: AC_CURRENT [A], Summe aller AC Phasenströme
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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_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_POWER:
                                        name: AC_POWER [W], AC-Ausgangsleistung
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.AC_POWER_SF())) if ((sh..RAW() * math.pow(10, sh.R03.WR2.MODBUS_TCP.AC_POWER_SF())) < 10000) else sh..self()
                                        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_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_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_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_APPARENT:
                                        name: AC_POWER_APPARENT [VA], Scheinleistung gesamt
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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_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_POWER_REACTIVE:
                                        name: AC_POWER_REACTIVE [VAr], Blindleistung gesamt
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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_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
                                    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: 'yes'
                                            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
                                    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
                                    DC_POWER:
                                        name: DC_POWER [W], Summer aller DC Leistungen
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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
                                    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
                                    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
                                    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: 'yes'
                                            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: 'yes'
                                            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_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
                                    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
                                    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: 'yes'
                                        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: 'yes' # WR1 - MPP1_DC_VOLTAGE [V], DC-Spannung PV1
                                        database_maxage: 7
                                        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: 'yes' # WR1 - MPP1_DC_POWER [W], DC-Leistung PV1
                                        database_maxage: 7
                                        eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF())) if ((sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF())) < (14*415)) else sh..self()
                                        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: 'yes'
                                            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: 'yes'
                                        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: 'yes' # WR1 - MPP2_DC_VOLTAGE [V], DC-Spannung PV2
                                        database_maxage: 7
                                        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: 'yes' # WR1 - MPP2_DC_POWER [W], DC-Leistung PV2
                                        database_maxage: 7
                                        eval: (sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF())) if ((sh..RAW() * math.pow(10, sh.R03.WR1.MODBUS_TCP.MPPx_DC_POWER_SF())) < (12*415)) else sh..self()
                                        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: 'yes'
                                            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  ​

                        Smartmeter
                        items_pv.yaml
                        Code:
                        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:
                                    UPDATE_FLAG_3SEC:
                                        name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
                                        type: bool
                                        value: 0
                                        autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
                                        eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
                                        eval_trigger:
                                          - ..AC_CURRENT
                                          - ..AC_CURRENT_PHASE_A
                                          - ..AC_CURRENT_PHASE_B
                                          - ..AC_CURRENT_PHASE_C
                                          - ..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
                                          - ..AC_FREQUENCY
                                          - ..AC_POWER
                                          - ..AC_POWER_PHASE_A
                                          - ..AC_POWER_PHASE_B
                                          - ..AC_POWER_PHASE_C
                                          - ..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
                                        enforce_updates: True
                                        on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
                                        TIME:
                                            remark: Wann zuletzt der Datensatz sich geändert hat (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
                                            name: Letztes Update um
                                            type: str
                                            value: '---'
                                    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_CURRENT:
                                        name: AC_CURRENT [A], Summe aller AC Phasenströme
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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_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_VOLTAGE_PHASE_A_TO_N:
                                        name: AC_VOLTAGE_PHASE_A_TO_N [V], AC-Spannung L1
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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_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_FREQUENCY:
                                        name: AC_FREQUENCY [Hz], Mittlere Frequenz
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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_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_POWER:
                                        name: AC_POWER [W], Gesamte Wirkleistung (P) am SmartMeter
                                        type: num
                                        cache: 'True'
                                        database: 'yes' # SM - AC_POWER [W]
                                        database_maxage: 7
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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_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'
                                    AC_ENERGY_PRODUCED:
                                        name: AC_ENERGY_PRODUCED [Wh], Exportierte AC Energie ans Netz am SmartMeter
                                        type: num
                                        cache: 'True'
                                        #database: 'yes'
                                        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: 'yes'
                                            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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                            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: 'yes'
                                        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: 'yes'
                                        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: 'yes'
                                        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'​
                        Zuletzt geändert von loeserman; 26.04.2025, 17:52.

                        Kommentar


                          #13
                          Zitat von psilo Beitrag anzeigen
                          loeserman Die MQTT API meines Türschlosses hat topics, auf die ich Werte publishen darf. Das geht dann bspw so:
                          self.publish_topic('nuki/%s/lockAction' % (nuki_id), value)

                          publish_topic kommt aus dem MQTTPlugin
                          Hi psilo
                          Danke für deine schnelle Antwort. Bin erst jetzt dazu gekommen und so ganz habe ich das noch nicht verstandet. Geht das dann nur aus einer Logik heraus? Oder kann ich das auch direkt bei den Items dranheften und mir eine extra Logik dann schenken? Wir würde der Befehl dann aussehen, wenn ich zum Beispiel folgenden payload schreiben möchte?

                          command/CC8DA220AAAA/control {'fanstep':2}

                          oder

                          command/CC8DA220AAAA/control {'swingh': False}

                          Der Wert 2 oder False soll dann direkt das Item sein, welches ich aus der VISU umsetze.

                          Kommentar


                            #14
                            Zitat von loeserman Beitrag anzeigen
                            Hi fuxl66
                            also ich kann Dir an dieser Stelle sagen, wie ich es gelöst habe. So wie es aussieht hast Du einen Wechselrichter von Fronius.


                            Danke dir. Ich lese meinen Fronius Wechselrichter ebenfalls mit dem json plugin aus. Ich wollte "einfach" mal das mqtt plugin testen.
                            Ich hab mittlerweile ein neues Spielzeug. EVCC. Ich habe es geschafft Wert via mqtt mit SHNG aus EVCC auszulesen. EVCC läuft noch nicht 100%ig weil ich noch auf meine Wallbox warte.

                            Eine Frage dazu...was bedeutet "broker_monitoring = true"?
                            Ich finde im Admin nichts entsprechendes. gibt es dafür eine Art Web Interface oder wie ist das zu verstehen?

                            mfg
                            Markus



                            Kommentar


                              #15
                              Ich komme mal zurück auf das Auslesen meiner Klimaanlage. Das funktioniert nun sehr gut mit dem FAIKIN Modul. Falls es einen interessiert oder jemand im Forum nach dem Stichwort FAIKIN sucht. So habe ich es nun gelöst und kann so auch die Klimageräte ansteuern.

                              items.yaml
                              Code:
                              R15:
                                  FAIKIN:
                                      STATE:
                                          type: dict
                                          mqtt_topic_in: "state/<euer FAIKIN Netzwerkname>/status"
                                          on_change:
                                            - .TEMP_LIQUID = value['liquid']
                                            - .TEMP_OUTSIDE = value['outside']
                                            - .TEMP_INSIDE = value['home']
                                            - .ONLINE = value['online']
                                            - .FAN_RPM = value['fanrpm']
                                            - .STATUS_HEAT = value['heat']
                                            - .STATUS_POWER_ON = value['power']
                                            - .STATUS_DEMAND = value['demand']
                                            - .COMP = value['comp']
                                            - .ENERGY = value['Wh'] / 1000
                                            - .STATUS_MODE = value['mode']
                                            - .SET_TEMP = value['temp']
                                            - .STATUS_FANSTEP = value['fan']
                                            - .STATUS_SWINGH = value['swingh']
                                            - .STATUS_SWINGV = value['swingv']
                                            - .STATUS_ECONO = value['econo']
                                            - .STATUS_POWERFUL= value['powerful']
                                            - .STATUS_COMFORT = value['comfort']
                                            - .STATUS_STREAMER = value['streamer']
                                            - .STATUS_SENSOR = value['sensor']
                                            - .STATUS_QUIET = value['quiet']
                                            - ..POWER = value['power']
                                            - ..SET_TEMP = value['temp']
                                            - ..DEMAND = value['demand']
                                            - ..POWERFUL= value['powerful']
                                            - ..ECONO = value['econo']
                                            - ..STREAMER = value['streamer']
                                            - ..SENSOR = value['sensor']
                                            - ..QUIET = value['quiet']
                                            - ..COMFORT = value['comfort']
                                            - ..MODE = value['mode']
                                            - ..FAN = value['fan']
                              
                                          TEMP_LIQUID:
                                              type: num
                              
                                          TEMP_OUTSIDE:
                                              type: num
                                              
                                          TEMP_INSIDE:
                                              type: num
                                              
                                          ONLINE:
                                              type: bool
                                          
                                          FAN_RPM:
                                              type: num
                                          
                                          STATUS_HEAT:
                                              type: bool
                                              
                                          STATUS_POWER_ON:
                                              type: bool
                                              
                                          STATUS_DEMAND:
                                              type: num
                                              
                                          COMP:
                                              type: num
                                              
                                          ENERGY:
                                              type: num
                              
                                          STATUS_MODE:
                                              type: str
                                          
                                          SET_TEMP:
                                              type: num
                                        
                                          STATUS_FANSTEP:
                                              type: str
                              
                                          STATUS_SWINGH:
                                              type: bool
                                              enforce_updates: true
                                          
                                          STATUS_SWINGV:
                                              type: bool
                                              enforce_updates: true
                                          
                                          STATUS_ECONO:
                                              type: bool
                                          
                                          STATUS_POWERFUL:
                                              type: bool
                                          
                                          STATUS_COMFORT:
                                              type: bool
                                          
                                          STATUS_STREAMER:
                                              type: bool
                                          
                                          STATUS_SENSOR:
                                              type: bool
                                          
                                          STATUS_QUIET:
                                              type: bool
                              
                                      FORCE_UPDATE_STATUS:
                                          name: Faikin erzwingen nochmal den Status mit den aktuellen Daten zu senden.
                                          mqtt_topic_out: "command/R33-Faikin-CC8DA220EF54/status"
                                          type: bool
                                          enforce_updates: 'True'
                              
                                      POWER:
                                          name: Faikin Steuerung fuer den Einschaltzustand (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/power"
                                          type: bool
                              
                                      SET_TEMP:
                                          name: Solltemperatur, Istwert wird von STATE gesetzt
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/temp"
                                          type: num
                              
                                      DEMAND:
                                          name: Bedarfssteuerung (40, 45, 50, .., 95, 100), Istwert wird von STATE gesetzt
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/demand"
                                          type: num
                              
                                      POWERFUL:
                                          name: Faikin Steuerung fuer den Powerful Modus (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/powerful"
                                          type: bool
                              
                                      ECONO:
                                          name: Faikin Steuerung fuer den Eco Modus (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/econo"
                                          type: bool
                              
                                      STREAMER:
                                          name: Faikin Steuerung fuer den Streamer (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/streamer"
                                          type: bool
                              
                                      SENSOR:
                                          name: Faikin Steuerung fuer das Sensorauge (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/sensor"
                                          type: bool
                                          
                                      QUIET:
                                          name: Faikin Steuerung fuer den Leise Ausseneinheit Modus (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/quiet"
                                          type: bool
                                          
                                      COMFORT:
                                          name: Faikin Steuerung fuer die Lamellensteuerung Comfort (true, false), Status wird vom Item STATE gesetzt.
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/comfort"
                                          type: bool
                                          
                                      FAN:
                                          name: Faikin Steuerung fuer den Fan (1, 2, 3, 4, 5, Q, A), Status wird vom Item STATE gesetzt.
                                          type: str
                                          
                                          COMMAND:
                                              name: Faikin Steuerung fuer den Fan - MQTT Sendekommandos (1, 2, 3, 4, 5, night, auto), Status wird vom Item STATE gesetzt. Standard is auto, Ansteuerung ueber (1, 2, 3, 4, 5, Q, A)
                                              mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/fan"
                                              type: str
                                              eval: ("1") if (value == '1') else ("2") if (value == '2') else ("3") if (value == '3') else ("4") if (value == '4') else ("5") if (value == '5') else ("night") if (value == 'Q') else ("auto") if (value == 'A') else ("auto")
                                              eval_trigger:
                                                  - ...FAN
                                          
                                      MODE:
                                          name: Faikin Steuerung fuer den Mode (A, H, C, D, F), Status wird vom Item STATE gesetzt. Wert wird gecached, so dass bei Neustart die Klimaanlage nicht eingeschaltet wird auf Grund der Aenderung von "" auf "xyz"
                                          type: str
                                          cache: 'True'
                                          
                                          COMMAND:
                                              name: Faikin Steuerung fuer den Mode - MQTT Sendekommandos (auto, heat, cool, dry, fan), Status wird vom Item STATE gesetzt. Standard is cool, Ansteuerung ueber (A, H, C, D, F). Wert wird gecached, so dass bei Neustart die Klimaanlage nicht eingeschaltet wird auf Grund der Aenderung von "" auf "xyz"
                                              mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/mode"
                                              type: str
                                              cache: 'True'
                                              eval: ("auto") if (value == 'A') else ("heat") if (value == 'H') else ("cool") if (value == 'C') else ("dry") if (value == 'D') else ("fan") if (value == 'F') else ("cool")
                                              eval_trigger: ...MODE
                                      
                                      SWING:
                                          name: Faikin Steuerung fuer die Lamellenansteuerung - MQTT Sendekommandos (H, V, H+V), Status wird vom Item STATE gesetzt. Info - Comfort beeinflusst V und umgekehrt, Ansteuerung ueber (H, V, H+V)
                                          mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/swing"
                                          type: str
                                          eval: value if ((value != True) and (value != False)) else ("H+V") if ((sh...STATE.STATUS_SWINGH() == True) and (sh...STATE.STATUS_SWINGV() == True)) else ("H") if (sh...STATE.STATUS_SWINGH() == True) else ("V") if (sh...STATE.STATUS_SWINGV() == True) else ("Off")
                                          eval_trigger:
                                            - ..STATE.STATUS_SWINGH​

                              In der VISU kann man es dann folgendermaßen nutzen
                              Code:
                              {{ basic.stateswitch('', 'R15.FAIKN.POWER', 'mini', [1,0], ['control_standby.svg', 'control_standby.svg'], ['', ''], ['icon1', 'icon0'], 'blink') }}  
                                        
                              {{ basic.slider('', 'R15.FAIKN.SET_TEMP', '18', '32', '0.5', '', 'input', '', '', '0') }}
                              {{ basic.slider('', 'R15.FAIKN.DEMAND', '40', '100', '5', '', 'input', '', '', '0') }}
                              
                              {{ basic.select('', 'R15.FAIKN.MODE', 'mini', ['A','H','C','D','F'], ['', '', '', '', ''], ['Auto', 'Heat', 'Cool', 'Dry', 'Fan'], '', 'none') }}
                              {{ basic.select('', 'R15.FAIKN.FAN', 'mini', ['1','2','3','4','5','Q','A'], ['edit_numeric_1.svg', 'edit_numeric_2.svg', 'edit_numeric_3.svg', 'edit_numeric_4.svg', 'edit_numeric_5.svg', 'audio_volume_mute.svg', 'time_automatic.svg'], ['1', '2', '3', '4', '5', 'Night', 'Auto'], '', 'none') }}
                              {{ basic.select('', 'R15.FAIKN.SWING', 'mini', ['Off', 'H+V','H','V'], ['control_home.svg', 'control_plus.svg', 'control_dots_hor_e.svg', 'control_dots_vert_e.svg'], ['Fest', 'H+V', 'H', 'V'], '', 'none') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.COMFORT', 'mini', [1,0], 'vent_ventilation_control.svg', 'Comf', ['icon1', 'icon0'], 'blink') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.QUIET', 'mini', [1,0], 'audio_volume_mute.svg', 'Quiet', ['icon1', 'icon0'], 'blink') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.POWERFUL', 'mini', [1,0], 'scene_fitness_2.svg', 'Powerf', ['icon1', 'icon0'], 'blink') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.ECONO', 'mini', [1,0], 'time_eco_mode.svg', 'Econo', ['icon1', 'icon0'], 'blink') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.STREAMER', 'mini', [1,0], 'sani_cooling.svg', 'Stream', ['icon1', 'icon0'], 'blink') }}
                              {{ basic.stateswitch('', 'R15.FAIKN.SENSOR', 'mini', [1,0], 'message_presence.svg', 'Sensor', ['icon1', 'icon0'], 'blink') }}
                              
                              {{ basic.stateswitch('', 'R15.FAIKN.FORCE_UPDATE_STATUS', 'mini', 1, 'jquery_refresh.svg', 'Update', '', 'blink') }}
                              
                              {{ basic.print('', 'R15.FAIKN.STATE.TEMP_INSIDE', '°' ) }}  ​
                              ...
                              Vielleicht hilft es einem, der das auch vor hat.

                              Gruß
                              Christoph

                              Kommentar

                              Lädt...
                              X