Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter fronius-solarweb

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    793

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Test Adapter fronius-solarweb

Geplant Angeheftet Gesperrt Verschoben Tester
233 Beiträge 49 Kommentatoren 48.7k Aufrufe 43 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T tombox

    @kaeptnkessl kannst die Datei wieder löschen
    hast du pro?
    funktionert der weather energy forecast in der app?

    K Offline
    K Offline
    KaeptnKessl
    schrieb am zuletzt editiert von
    #211

    @tombox Ja, Pro habe ich und der Forecast funktioniert in der App.

    Interessante Beobachtung: Seit dem ich das Protokoll des Adapters wieder von debug zurück auf Info gestellt habe: Keine Fehler mehr ...

    1 Antwort Letzte Antwort
    0
    • T tombox

      @vierlingmt ich habe was angepasst aber für mich ist keine offensichtliche Änderung

      einfach mal die GitHub version drüber installieren.
      sie enthält auch livedata und efm state

      ist das problem dauerhaft?

      S Offline
      S Offline
      sonne1107
      schrieb am zuletzt editiert von
      #212

      @tombox hallo unter welchen Datenpunkt finde ich Livedata und EFM State!ist das unter flowdata??

      Lg

      Wolfgang GaryW 1 Antwort Letzte Antwort
      0
      • S sonne1107

        @tombox hallo unter welchen Datenpunkt finde ich Livedata und EFM State!ist das unter flowdata??

        Lg

        Wolfgang GaryW Offline
        Wolfgang GaryW Offline
        Wolfgang Gary
        schrieb am zuletzt editiert von
        #213

        Hallo, bei meinem adapter kommt nun seit einige Woche die Fehlermeldung im sekundentakt. AxiosError: Request failed with status code 404..
        Debug / Info hat nix gebracht.
        Habt ihr noch einen Tipp?
        danke & mfg Wolfgang

        T 1 Antwort Letzte Antwort
        0
        • Wolfgang GaryW Wolfgang Gary

          Hallo, bei meinem adapter kommt nun seit einige Woche die Fehlermeldung im sekundentakt. AxiosError: Request failed with status code 404..
          Debug / Info hat nix gebracht.
          Habt ihr noch einen Tipp?
          danke & mfg Wolfgang

          T Online
          T Online
          TimoWald
          schrieb am zuletzt editiert von
          #214

          @wolfgang-gary Bei mir auch seit Monaten. Mir konnte da noch keiner helfen.

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            ToK
            schrieb am zuletzt editiert von
            #215

            Ebenso bei mir:

            fronius-solarweb.0
            2025-12-17 14:44:51.413	error	{"responseError":1002,"responseMessage":"Requested resource not found."}
            
            fronius-solarweb.0
            2025-12-17 14:44:51.413	error	AxiosError: Request failed with status code 404
            
            fronius-solarweb.0
            2025-12-17 14:44:51.413	error	https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxxx/devices/xxxxxxxxxxxxxxxx/flowdata
            

            Jede Minute diese drei Einträge - welche Lösung gibt es hierzu?
            Danke und lg

            L 1 Antwort Letzte Antwort
            0
            • T ToK

              Ebenso bei mir:

              fronius-solarweb.0
              2025-12-17 14:44:51.413	error	{"responseError":1002,"responseMessage":"Requested resource not found."}
              
              fronius-solarweb.0
              2025-12-17 14:44:51.413	error	AxiosError: Request failed with status code 404
              
              fronius-solarweb.0
              2025-12-17 14:44:51.413	error	https://swqapi.solarweb.com/pvsystems/xxxxxxxxxxxxxxxxxxxxxx/devices/xxxxxxxxxxxxxxxx/flowdata
              

              Jede Minute diese drei Einträge - welche Lösung gibt es hierzu?
              Danke und lg

              L Online
              L Online
              legro
              schrieb am zuletzt editiert von legro
              #216

              @ToK sagte in Test Adapter fronius-solarweb:

              .. welche Lösung gibt es hierzu?

              Will man seines eigenen (Un)Glückes Schmied sein, sollte man auf eine auf Modbus basierende Lösung setzen. Diese Schnittstelle zu verwenden, hat zwei große Vorteile:

              • streng lokaler Datenzugriff
              • über Modbus können nicht nur alle Daten abgerufen werden, auch Steuerungen des Wechselrichters sind möglich.

              Da bleiben kaum noch Wünsche offen ..

              3c5de6f8-1cf6-4c7e-9a82-ff246af37343-image.png a7e6b327-58ba-45ab-978f-66fd033b3db6-image.png

              Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

              T 1 Antwort Letzte Antwort
              0
              • L legro

                @ToK sagte in Test Adapter fronius-solarweb:

                .. welche Lösung gibt es hierzu?

                Will man seines eigenen (Un)Glückes Schmied sein, sollte man auf eine auf Modbus basierende Lösung setzen. Diese Schnittstelle zu verwenden, hat zwei große Vorteile:

                • streng lokaler Datenzugriff
                • über Modbus können nicht nur alle Daten abgerufen werden, auch Steuerungen des Wechselrichters sind möglich.

                Da bleiben kaum noch Wünsche offen ..

                3c5de6f8-1cf6-4c7e-9a82-ff246af37343-image.png a7e6b327-58ba-45ab-978f-66fd033b3db6-image.png

                T Offline
                T Offline
                ToK
                schrieb am zuletzt editiert von
                #217

                @legro sagte in Test Adapter fronius-solarweb:

                Da bleiben kaum noch Wünsche offen ..

                Dies habe ich auch so umsetzt - lese über Modbus vom Fronius Gen24, alle Energiedaten ein und verwende diese seit etwa einem Monat für die aktuellen Daten und deren Aufzeichnung.
                Da die Anlage aber schon mehrere Jahre läuft möchte ich die "alten" Daten, die der letzten Monate und Jahre - diese sind ja nur bei Fronius gespeichert, ebenso in der nun erstellten Visu darstellen. Dies sollte mit Hilfe der fronius-solarweb möglich sein - bekomme aber jede Minuten (entsprechend dem Update Intervall) die vorhin genannten 3 Einträge im Protokoll - dies sollte bestimmt nicht so ein.
                Deinstallation und erneute Installation des Adapters brachte keine Veränderung ...

                1 Antwort Letzte Antwort
                0
                • T Online
                  T Online
                  TimoWald
                  schrieb am zuletzt editiert von
                  #218

                  Nutzt ihr dazu den Modbus Adapter?

                  T L 2 Antworten Letzte Antwort
                  0
                  • T TimoWald

                    Nutzt ihr dazu den Modbus Adapter?

                    T Offline
                    T Offline
                    ToK
                    schrieb am zuletzt editiert von
                    #219

                    @TimoWald sagte in Test Adapter fronius-solarweb:

                    Nutzt ihr dazu den Modbus Adapter?

                    ja, in der Version 7.0.6 und funktioniert fehlerfrei

                    1 Antwort Letzte Antwort
                    0
                    • T Online
                      T Online
                      TimoWald
                      schrieb am zuletzt editiert von
                      #220

                      Wo finde ich die Liste mit den Registern?

                      L 1 Antwort Letzte Antwort
                      0
                      • T TimoWald

                        Nutzt ihr dazu den Modbus Adapter?

                        L Online
                        L Online
                        legro
                        schrieb am zuletzt editiert von legro
                        #221

                        @TimoWald sagte in Test Adapter fronius-solarweb:

                        Nutzt ihr dazu den Modbus Adapter?

                        Anfangs hatte ich den Fronius-Adapter verwendet. Als dessen erste Version nicht mehr gepflegt wurde und die Neuauflage recht viele Anpassungen erforderte, habe ich mich für Modbus entschieden. Darüber hinaus hatte ich ursprünglich die Daten in InfluxDB gespeichert und mit Grafana dargestellt. Als die Entwickler dieser Programme ebenfalls anfingen rumzuzanken, nach dem Motto: „Rein in die Kartoffeln; raus aus den Kartoffeln!“ (InfluxQL -> Flux -> InfluxQL ..), hatte ich von dieser Art Agrarinformatik die Nase voll und bastelte meine eigenen Lösungen.

                        Seither speichere ich meine Daten in Monatstabellen (JSON-ARRAY), in denen ich die Daten für jeden Tag ablege. So bin ich unabhängig davon, ob Adapter gepflegt werden, Updates in verwendeten Anwendungen Anpassungen erfordern, ..

                        Fronius sorgt in geradezu vorbildlicher Weise für die Bereitstellung der Werte als sog. livetime values. Dies sind Register, in denen die Werte seit in Betriebnahme des GEN24 saldierend gesammelt werden. Mein Vorgehen:

                        • Um 0:00 Uhr speichere ich den Zählerstand eines jeden dieser Register in eine Variable.
                        • Die Tageswerte erhalte ich als Differenz zum Vortag.
                        • Diese Tageswerte speichere ich für jeden Tag in eine entsprechende Monatstabelle.

                        Damit ist es ein Leichtes die hier gezeigten Diagramme zu erstellen.

                        Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                        1 Antwort Letzte Antwort
                        0
                        • T Online
                          T Online
                          TimoWald
                          schrieb am zuletzt editiert von TimoWald
                          #222

                          Genauso Ähnlich wollte ich es auch aufbauen.
                          Ich suche die Register für: Ohmpilot Heute KW; gelieferte KW heute; bezogen KW heute; Produktion heute KW; Direktverbrauch heute KW; Gesamtverbrauch heute KW, Ertrag heute €.

                          L 1 Antwort Letzte Antwort
                          1
                          • T TimoWald

                            Genauso Ähnlich wollte ich es auch aufbauen.
                            Ich suche die Register für: Ohmpilot Heute KW; gelieferte KW heute; bezogen KW heute; Produktion heute KW; Direktverbrauch heute KW; Gesamtverbrauch heute KW, Ertrag heute €.

                            L Online
                            L Online
                            legro
                            schrieb am zuletzt editiert von
                            #223

                            @TimoWald sagte in Test Adapter fronius-solarweb:

                            Genauso Ähnlich wollte ich es auch aufbauen.

                            Damit du nicht ganz von vorne anfangen musst, hier meine oben beschriebene Lösung in Form eines JavaScripts ..

                            let partsDate = {jahr: '', monat: '', tag: ''}
                            let eventPV = null
                            let eventFromGrid = null
                            let eventEnergyTotal = null
                            
                            function setPartsDate() {
                                let alleMonate = ['Januar', 'Februar', 'Maerz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
                                let d = new Date()
                                partsDate = {jahr: d.getFullYear().toString(), monat: alleMonate[d.getMonth()], tag: d.getDate().toString()}
                            }
                            
                            setPartsDate()
                            
                            schedule({hour: 0, minute: 0}, function () {
                                setPartsDate()
                                //TagesStartwert für PV
                                setState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                setState(`0_userdata.0.Counter.Strom.startTagPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                //TagesStartwert für Export
                                setState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                setState(`0_userdata.0.Counter.Strom.startTagVerkaufStrom`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                //TagesStartwert für Import
                                setState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)    
                                setState(`0_userdata.0.Counter.Strom.startTagBezugStrom`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)
                                //TagesStartWert für Gas
                                setState('0_userdata.0.Counter.Gas.startTagGas',getState('0_userdata.0.Counter.Gas.volGas').val,true)
                            })
                            
                            eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, (obj) => {
                                let aktImp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                                setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                                let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`).val)
                                tmpPV[Number(partsDate.tag)-1] = aktImp
                                setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`,JSON.stringify(tmpPV),true)
                            })
                            
                            eventPV = on({id: `modbus.2.holdingRegisters.200.40107_TotWhExp`, change: 'gt'}, (obj) => {
                                let aktExp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`).val
                                setState('0_userdata.0.Fronius.Modbus.toGrid.tmpDayWh',aktExp,true)
                                let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`).val)
                                tmpPV[Number(partsDate.tag)-1] = aktExp
                                setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`,JSON.stringify(tmpPV),true)
                            })
                            
                            eventEnergyTotal = on({id: `modbus.2.holdingRegisters.1.40186_ActWh`, change: 'gt'}, (obj) => {
                                let aktGen = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`).val
                                setState(`0_userdata.0.Fronius.Modbus.atHome.tmpDayWhPV`,aktGen,true)
                                let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`).val)
                                tmpPV[Number(partsDate.tag)-1] = aktGen
                                setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`,JSON.stringify(tmpPV),true)
                            })
                            

                            Da ich keinen Ohmpilot habe, musst du dir hierzu die Register leider selbst suchen.

                            Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                            T F 2 Antworten Letzte Antwort
                            0
                            • T TimoWald

                              Wo finde ich die Liste mit den Registern?

                              L Online
                              L Online
                              legro
                              schrieb am zuletzt editiert von legro
                              #224

                              @TimoWald sagte in Test Adapter fronius-solarweb:

                              Wo finde ich die Liste mit den Registern?

                              NACHTRAG

                              • Du benötigst für meine hier zitierte Lösung ein Fronius Smartmeter, dessen Register werden im JavaScript über die Modbus ID = 200 referenziert.
                              • Der Ohmpilot hat wohl einen eigenen Modbus und IP. In diesem Thread findest du vermutlich alles, was du brauchst.

                              Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                              1 Antwort Letzte Antwort
                              0
                              • L legro

                                @TimoWald sagte in Test Adapter fronius-solarweb:

                                Genauso Ähnlich wollte ich es auch aufbauen.

                                Damit du nicht ganz von vorne anfangen musst, hier meine oben beschriebene Lösung in Form eines JavaScripts ..

                                let partsDate = {jahr: '', monat: '', tag: ''}
                                let eventPV = null
                                let eventFromGrid = null
                                let eventEnergyTotal = null
                                
                                function setPartsDate() {
                                    let alleMonate = ['Januar', 'Februar', 'Maerz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
                                    let d = new Date()
                                    partsDate = {jahr: d.getFullYear().toString(), monat: alleMonate[d.getMonth()], tag: d.getDate().toString()}
                                }
                                
                                setPartsDate()
                                
                                schedule({hour: 0, minute: 0}, function () {
                                    setPartsDate()
                                    //TagesStartwert für PV
                                    setState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                    setState(`0_userdata.0.Counter.Strom.startTagPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                    //TagesStartwert für Export
                                    setState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                    setState(`0_userdata.0.Counter.Strom.startTagVerkaufStrom`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                    //TagesStartwert für Import
                                    setState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)    
                                    setState(`0_userdata.0.Counter.Strom.startTagBezugStrom`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)
                                    //TagesStartWert für Gas
                                    setState('0_userdata.0.Counter.Gas.startTagGas',getState('0_userdata.0.Counter.Gas.volGas').val,true)
                                })
                                
                                eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, (obj) => {
                                    let aktImp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                                    setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                                    let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`).val)
                                    tmpPV[Number(partsDate.tag)-1] = aktImp
                                    setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`,JSON.stringify(tmpPV),true)
                                })
                                
                                eventPV = on({id: `modbus.2.holdingRegisters.200.40107_TotWhExp`, change: 'gt'}, (obj) => {
                                    let aktExp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`).val
                                    setState('0_userdata.0.Fronius.Modbus.toGrid.tmpDayWh',aktExp,true)
                                    let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`).val)
                                    tmpPV[Number(partsDate.tag)-1] = aktExp
                                    setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`,JSON.stringify(tmpPV),true)
                                })
                                
                                eventEnergyTotal = on({id: `modbus.2.holdingRegisters.1.40186_ActWh`, change: 'gt'}, (obj) => {
                                    let aktGen = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`).val
                                    setState(`0_userdata.0.Fronius.Modbus.atHome.tmpDayWhPV`,aktGen,true)
                                    let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`).val)
                                    tmpPV[Number(partsDate.tag)-1] = aktGen
                                    setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`,JSON.stringify(tmpPV),true)
                                })
                                

                                Da ich keinen Ohmpilot habe, musst du dir hierzu die Register leider selbst suchen.

                                T Online
                                T Online
                                TimoWald
                                schrieb am zuletzt editiert von
                                #225

                                @legro Was genau mache ich mit dem Javascript?

                                L 1 Antwort Letzte Antwort
                                0
                                • T TimoWald

                                  @legro Was genau mache ich mit dem Javascript?

                                  L Online
                                  L Online
                                  legro
                                  schrieb am zuletzt editiert von
                                  #226

                                  @TimoWald sagte in Test Adapter fronius-solarweb:

                                  @legro Was genau mache ich mit dem Javascript?

                                  Du kannst findest zumindest einige der von dir gewünschten Datenpunkte in dem Script. Darüber hinaus dokumentiert das Script mein Vorgehen, wie man die Daten in eigenen Monatstabellen ablegen kann.

                                  Wenn du das Ganze ggf. ähnlich gestalten willst, helfe ich gerne.

                                  Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • L legro

                                    @TimoWald sagte in Test Adapter fronius-solarweb:

                                    @legro Was genau mache ich mit dem Javascript?

                                    Du kannst findest zumindest einige der von dir gewünschten Datenpunkte in dem Script. Darüber hinaus dokumentiert das Script mein Vorgehen, wie man die Daten in eigenen Monatstabellen ablegen kann.

                                    Wenn du das Ganze ggf. ähnlich gestalten willst, helfe ich gerne.

                                    T Online
                                    T Online
                                    TimoWald
                                    schrieb am zuletzt editiert von
                                    #227

                                    @legro Sorry aber ich kann echt nix mit dem Script anfangen.
                                    Aktuell sieht es bei mir so aus.

                                    5f9a52b3-115d-4908-98e5-584f9a53352b-grafik.png

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • T TimoWald

                                      @legro Sorry aber ich kann echt nix mit dem Script anfangen.
                                      Aktuell sieht es bei mir so aus.

                                      5f9a52b3-115d-4908-98e5-584f9a53352b-grafik.png

                                      L Online
                                      L Online
                                      legro
                                      schrieb am zuletzt editiert von legro
                                      #228

                                      @TimoWald sagte in Test Adapter fronius-solarweb:

                                      @legro Sorry aber ich kann echt nix mit dem Script anfangen.
                                      Aktuell sieht es bei mir so aus.

                                      Irgendwie geht‘s mir wie dir: Mit deiner Abbildung kann ich nichts anfangen.

                                      Hast du die Modbus Register (noch) nicht in deine ioBroker Installation eingefügt? Das ist ganz schön viel Arbeit. Aber auch hier musst du das Rad nicht neu erfinden. Ich habe in diesem Beitrag alles zusammengetragen, was man benötigt, den GEN24 via Modbus auszulesen und zu steuern. Am einfachsten importierst du die TSV Datei(en), die du benötigst, dann musst die vielen Datenpunkte nicht selbst erstellen.

                                      Wenn du dies erledigt hast, solltest du etwa das Register „ modbus.2.holdingRegisters.1.40186_ActWh“ finden, dass ich in dem Script in Zeile 17 referenziere. Dieses Register enthält beim GEN24 die seit Inbetriebnahme erzeugte Energie (DC) in der Einheit KWh.

                                      Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                      1 Antwort Letzte Antwort
                                      0
                                      • L Online
                                        L Online
                                        legro
                                        schrieb am zuletzt editiert von
                                        #229

                                        @timowald
                                        Diese TSV Datei kann in der Modbus Instanz importiert werden.

                                        _address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
                                        40000	1	SID	Well-known value. Uniquely identifies this as a SunSpec Modbus Map		uint32be	2	1	0		value		true			
                                        40002	1	ID	Well-known value. Uniquely identifies this as a sunspec model common (1)		uint16be	1	1	0		value		true			
                                        40003	1	L	Length of sunspec model common (1)		uint16be	1	1	0		value		true			
                                        40004	1	MN	Manufacturer		string	16	1	0		value		true			
                                        40020	1	Md	Device		string	16	1	0		value		true			
                                        40036	1	Opt	Options (not supported)		string	8	1	0		value		true			
                                        40044	1	Vr	SW version of inverter		string	8	1	0		value		true			
                                        40052	1	SN	Serialnumber of the inverter		string	8	1	0		value		true			
                                        40068	1	DA	Modbus Device Address		uint16be	1	1	0		value		true			
                                        40069	1	ID	Well-known value. Uniquely identifies this as a sunspec model inverter (10x)		uint16be	1	1	0		value		true			
                                        40070	1	L	Length of sunspec model inverter (10x)		int16be	1	1	0		value		true			
                                        40071	1	A	AC Current	A	uint16be	1	1	0		value		true			
                                        40072	1	AhA	Phase A Current	A	uint16be	1	1	0		value		true			
                                        40073	1	AphB	Phase B Current	A	uint16be	1	1	0		value		true			
                                        40074	1	AphC	Phase C Current	A	uint16be	1	1	0		value		true			
                                        40075	1	A_SF	Current Scale Factor		int16be	1	1	0		value		true			
                                        40076	1	PPVphAB	Phase Voltage AB	V	uint16be	1	1	0		value		true			
                                        40077	1	PPVphBC	Phase Voltage BC	V	uint16be	1	1	0		value		true			
                                        40078	1	PPVphAC	Phase Voltage AC	V	uint16be	1	1	0		value		true			
                                        40079	1	PhVphA	Phase Voltage AN	V	uint16be	1	1	0		value		true			
                                        40080	1	PhVphB	Phase Voltage BN	V	uint16be	1	1	0		value		true			
                                        40081	1	PhVphC	Phase Voltage CN	V	uint16be	1	1	0		value		true			
                                        40082	1	V_SF	Voltage Scale Factor		int16be	1	1	0		value		true			
                                        40083	1	W	AC Power	W	int16be	1	1	0	x * Math.pow(10, sf['40084'])	value		true			
                                        40084	1	W_SF	Power Scale Factor		int16be	1	1	0		value		true			true
                                        40085	1	Hz	Line Frequency	Hz	uint16be	1	1	0		value		true			
                                        40086	1	Hz_SF	Frequency Scale Factor		int16be	1	1	0		value		true			
                                        40087	1	VA	AC Apparent Power	VA	int16be	1	1	0		value		true			
                                        40088	1	VA_SF	Scaling Factor Apparent Power		int16be	1	1	0		value		true			
                                        40089	1	VAr	AC Reactive Power	VAR	int16be	1	1	0		value		true			
                                        40090	1	VAr_SF	Scaling Factor AC Reactive Power		int16be	1	1	0		value		true			
                                        40091	1	PF	AC Power Factor	Pct	int16be	1	1	0		value		true			
                                        40092	1	PF_SF	Scaling Factor AC Power Factor		int16be	1	1	0		value		true			
                                        40093	1	WH	AC Energy	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40095'])	value		true			
                                        40095	1	WH_SF	Scaling Factor AC Energy		int16be	1	1	0		value		true			true
                                        40096	1	DCA	DC Current (not supported)	A	uint16be	1	1	0		value		false			
                                        40097	1	DCA_SF	Scaling Factor DC Current (not supported)		int16be	1	1	0		value		false			
                                        40098	1	DCV	DC Voltage (not supported)	V	uint16be	1	1	0		value		false			
                                        40099	1	DCV_SF	Scaling Factor DC Voltage (not supported)		int16be	1	1	0		value		false			
                                        40100	1	DCW	DC Power	W	int16be	1	1	0	x * Math.pow(10, sf['40101'])	value		true		false	
                                        40101	1	DCW_SF	Scaling Factor DC Power		int16be	1	1	0		value		true		false	true
                                        40102	1	TmpCab	Cabinet Temperature	C	int16be	1	1	0		value		true			
                                        40103	1	TmpSnk	Heat Sink Temperature (not supported)	C	int16be	1	1	0		value		false			
                                        40104	1	TmpTms	Transformer Temperature (not supported)	C	int16be	1	1	0		value		false			
                                        40105	1	TmpOt	Other Temperature (not supported)	C	int16be	1	1	0		value		false			
                                        40106	1	Tmp_SF	Scaling Factor Temperature	C	int16be	1	1	0		value		true			
                                        40107	1	St	Enumerated value.  Operating state		uint16be	1	1	0		value		true			
                                        40108	1	StVnd	Vendor specific operating state code		uint16be	1	1	0		value		true			
                                        40109	1	Evt1	Bitmask value. Event fields		uint32be	2	1	0		value		true			
                                        40111	1	Evt2	Reserved for future use		uint32be	2	1	0		value		true			
                                        40113	1	EvtVnd1	Vendor defined events		uint32be	2	1	0		value		true			
                                        40115	1	EvtVnd2	Vendor defined events		uint32be	2	1	0		value		true			
                                        40117	1	EvtVnd3	Vendor defined events (not supported)		uint32be	2	1	0		value		false			
                                        40119	1	EvtVnd4	Vendor defined events (not supported)		uint32be	2	1	0		value		false			
                                        40121	1	ID	Well-known value. Uniquely identifies this as a sunspec model nameplate (120)		uint16be	1	1	0		value		true			
                                        40122	1	L	Length of sunspec model nameplate (120)		uint16be	1	1	0		value		true			
                                        40123	1	DERTyp	Type of DER device. Default value is 4 to indicate PV device.		uint16be	1	1	0		value		true			
                                        40124	1	WRtg	Continuous power output capability of the inverter.	W	uint16be	1	1	0		value		true			
                                        40125	1	WRtg_SF	Scale Factor		int16be	1	1	0		value		true			
                                        40126	1	VARtg	Continuous Volt-Ampere capability of the inverter.	VA	uint16be	1	1	0		value		true			
                                        40127	1	VARtg_SF	Scale Factor		int16be	1	1	0		value		true			
                                        40128	1	VArRtgQ1	Continuous VAR capability of the inverter in quadrant 1.		int16be	1	1	0		value		true			
                                        40129	1	VArRtgQ2	Continuous VAR capability of the inverter in quadrant 2.		int16be	1	1	0		value		true			
                                        40130	1	VArRtgQ3	Continuous VAR capability of the inverter in quadrant 3.		int16be	1	1	0		value		true			
                                        40131	1	VArRtgQ4	Continuous VAR capability of the inverter in quadrant 4.		int16be	1	1	0		value		true			
                                        40132	1	VArRtg_SF	Scaling Factor		int16be	1	1	0		value		true			
                                        40133	1	ARtg	Maximum RMS AC current level capability of the inverter.		uint16be	1	1	0		value		true			
                                        40134	1	ARtg_SF	Scale Factor		int16be	1	1	0		value		true			
                                        40135	1	PFRtgQ1	Minimum power factor capability of the inverter in quadrant 1.		int16be	1	1	0		value		true			
                                        40136	1	PFRtgQ2	Minimum power factor capability of the inverter in quadrant 2.		int16be	1	1	0		value		true			
                                        40137	1	PFRtgQ3	Minimum power factor capability of the inverter in quadrant 3.		int16be	1	1	0		value		true			
                                        40138	1	PFRtgQ4	Minimum power factor capability of the inverter in quadrant 4.		int16be	1	1	0		value		true			
                                        40139	1	PFRtg_SF	Scale Factor		int16be	1	1	0		value		true			
                                        40140	1	WHRtg	Nominal energy rating of storage device.		uint16be	1	1	0		value		true			
                                        40141	1	WHRtg_SF	Scale Fator		int16be	1	1	0		value		true			
                                        40142	1	AhrRtg	The usable capacity of the battery.  Maximum charge minus minimum charge from a technology capability perspective (Amp-hour capacity rating).		uint16be	1	1	0		value		false			
                                        40143	1	AhrRtg_SF	Scale factor for amp-hour rating.		int16be	1	1	0		value		false			
                                        40144	1	MaxChaRte	Maximum rate of energy transfer into the storage device.	W	uint16be	1	1	0		value		true			
                                        40145	1	MaxChaRte_SF	Scale factor		int16be	1	1	0		value		true			
                                        40146	1	MaxDisChaRte	Maximum rate of energy transfer out of the storage device.	W	uint16be	1	1	0		value		true			
                                        40147	1	MaxDisChaRte_SF	Scale Factor		int16be	1	1	0		value		true			
                                        40148	1	Pad	Pad register.		uint16be	1	1	0		value		true			
                                        40149	1	ID	Well-known value. Uniquely identifies this as a sunspec model settings (121)		uint16be	1	1	0		value		true			
                                        40150	1	L	Length of sunspec model settings (121)		uint16be	1	1	0		value		true			
                                        40151	1	WMax	Setting for maximum power output. Default to WRtg.	W	uint16be	1	1	0		value		true			
                                        40152	1	VRef	Voltage at the PCC.	V	uint16be	1	1	0		value		true			
                                        40153	1	VRefOfs	Offset  from PCC to inverter.	V	int16be	1	1	0		value		true			
                                        40154	1	VMax	Setpoint for maximum voltage.	V	uint16be	1	1	0		value		false			
                                        40155	1	VMin	Setpoint for minimum voltage.	V	uint16be	1	1	0		value		false			
                                        40156	1	VAMax	Setpoint for maximum apparent power. Default to VARtg.	VA	uint16be	1	1	0		value		true			
                                        40157	1	VArMaxQ1	Setting for maximum reactive power in quadrant 1. Default to VArRtgQ1.	var	int16be	1	1	0		value		true			
                                        40158	1	VArMaxQ2	Setting for maximum reactive power in quadrant 2. Default to VArRtgQ2.	var	int16be	1	1	0		value		true			
                                        40159	1	VArMaxQ3	Setting for maximum reactive power in quadrant 3. Default to VArRtgQ3.	var	int16be	1	1	0		value		true			
                                        40160	1	VArMaxQ4	Setting for maximum reactive power in quadrant 4. Default to VArRtgQ4.	var	int16be	1	1	0		value		true			
                                        40161	1	WGra	Default ramp rate of change of active power due to command or internal action.	% WMax/sec	uint16be	1	1	0		value		false			
                                        40162	1	PFMinQ1	Setpoint for minimum power factor value in quadrant 1. Default to PFRtgQ1.		int16be	1	1	0		value		true			
                                        40163	1	PFMinQ1	Setpoint for minimum power factor value in quadrant 2. Default to PFRtgQ2.		int16be	1	1	0		value		true			
                                        40164	1	PFMinQ2	Setpoint for minimum power factor value in quadrant 3. Default to PFRtgQ3.		int16be	1	1	0		value		true			
                                        40165	1	PFMinQ2	Setpoint for minimum power factor value in quadrant 4. Default to PFRtgQ4.		int16be	1	1	0		value		true			
                                        40166	1	VArAct	VAR action on change between charging and discharging: 1=switch 2=maintain VAR characterization.		uint16be	1	1	0		value		false			
                                        40167	1	ClcTotVA	Calculation method for total apparent power. 1=vector 2=arithmetic.		uint16be	1	1	0		value		false			
                                        40168	1	MaxRmpRte	Setpoint for maximum ramp rate as percentage of nominal maximum ramp rate. This setting will limit the rate that watts delivery to the grid can increase or decrease in response to intermittent PV generation.	% WGra	uint16be	1	1	0		value		false			
                                        40169	1	ECPNomHz	Setpoint for nominal frequency at the ECP.	Hz	uint16be	1	1	0		value		false			
                                        40170	1	ConnPh	Identity of connected phase for single phase inverters. A=1 B=2 C=3.		uint16be	1	1	0		value		false			
                                        40171	1	WMax_SF	Scale factor for real power.		int16be	1	1	0		value		true			
                                        40172	1	VRef_SF	Scale factor for voltage at the PCC.		int16be	1	1	0		value		true			
                                        40173	1	VRefOfs_SF	Scale factor for offset voltage.		uint16be	1	1	0		value		true			
                                        40174	1	VMinMax_SF	Scale factor for min/max voltages.		int16be	1	1	0		value		true			
                                        40175	1	VAMax_SF	Scale factor for apparent power.		int16be	1	1	0		value		true			
                                        40176	1	VArMax_SF	Scale factor for reactive power.		int16be	1	1	0		value		true			
                                        40177	1	WGra_SF	Scale factor for default ramp rate.		int16be	1	1	0		value		false			
                                        40178	1	PFMin_SF	Scale factor for minimum power factor.		int16be	1	1	0		value		true			
                                        40179	1	Scale factor for maximum ramp percentage.	Scale factor for maximum ramp percentage. (not supported)		int16be	1	1	0		value		false			
                                        40180	1	ECPNomHz_SF	Scale factor for nominal frequency. (not supported)		int16be	1	1	0		value		false			
                                        40181	1	ID	Well-known value. Uniquely identifies this as a sunspec model status (122)		uint16be	1	1	0		value		true			
                                        40182	1	L	Length of sunspec model status (122)		uint16be	1	1	0		value		true			
                                        40184	1	PVConn	PV inverter present/available status. Enumerated value.		uint16be	1	1	0		value		true			
                                        40184	1	StorConn	Storage inverter present/available status. Enumerated value.		uint16be	1	1	0		value		true			
                                        40185	1	ECPConn	ECP connection status: disconnected=0  connected=1.		uint16be	1	1	0		value		true			
                                        40186	1	ActWh	AC lifetime active (real) energy output.	Wh	uint64be	4	1	0		value		true			
                                        40216	1	StActCtl	Bit Mask indicating which inverter controls are currently active.		uint32be	2	1	0		value		true			
                                        40218	1	TmSrc	Source of time synchronization.		string	4	1	0		value		true			
                                        40222	1	Tms	Seconds since 01-01-2000 00:00 UTC		uint32be	2	1	0		value		true			
                                        40225	1	Ris	Isolation resistance.		uint16be	1	1	0		value		true			
                                        40226	1	Ris_SF	SF		uint16be	1	1	0		value		true			
                                        40227	1	ID	Well-known value. Uniquely identifies this as a sunspec model controls (123)		uint16be	1	1	0		value		true			
                                        40228	1	L	Length of sunspec model controls (123)		uint16be	1	1	0		value		true			
                                        40229	1	Conn_WinTms	Time window for connect/disconnect.		uint16be	1	1	0		value		true			
                                        40230	1	Conn_RvrtTms	Timeout period for connect/disconnect.		uint16be	1	1	0		value		true			
                                        40231	1	Conn	Enumerated valued.  Connection control.		uint16be	1	1	0		value		true			
                                        40232	1	WMaxLimPct	Set power output to specified level.		uint16be	1	1	0		value		true			
                                        40233	1	WMaxLimPct_WinTms	Time window for power limit change.		uint16be	1	1	0		value		true			
                                        40234	1	WMaxLimPct_RvrtTms	Timeout period for power limit.		uint16be	1	1	0		value		true			
                                        40235	1	WMaxLimPct_RmpTms	Ramp time for moving from current setpoint to new setpoint.		uint16be	1	1	0		value		true			
                                        40236	1	WMaxLim_Ena	Enumerated valued.  Throttle enable/disable control.		uint16be	1	1	0		value		true			
                                        40237	1	OutPFSet	Set power factor to specific value - cosine of angle.		int16be	1	1	0		value		true			
                                        40238	1	OutPFSet_WinTms	Time window for power factor change.		uint16be	1	1	0		value		true			
                                        40239	1	OutPFSet_RvrtTms	Timeout period for power factor.		uint16be	1	1	0		value		true			
                                        40240	1	OutPFSet_RmpTms	Ramp time for moving from current setpoint to new setpoint.		uint16be	1	1	0		value		true			
                                        40241	1	OutPFSet_RmpTms	Ramp time for moving from current setpoint to new setpoint.		uint16be	1	1	0		value		true			
                                        40243	1	VArMaxPct	Reactive power in percent of VArMax.		int16be	1	1	0		value		true			
                                        40245	1	VArPct_WinTms	Time window for VAR limit change.		uint16be	1	1	0		value		true			
                                        40246	1	VArPct_RvrtTms	Timeout period for VAR limit.		uint16be	1	1	0		value		true			
                                        40247	1	VArPct_RmpTms	Ramp time for moving from current setpoint to new setpoint.		uint16be	1	1	0		value		true			
                                        40248	1	VArPct_Mod	Enumerated value. VAR percent limit mode.		uint16be	1	1	0		value		true			
                                        40249	1	VArPct_Ena	Enumerated valued.  Percent limit VAr enable/disable control.		uint16be	1	1	0		value		true			
                                        40250	1	WMaxLimPct_SF	Scale factor for power output percent.		int16be	1	1	0		value		true			
                                        40251	1	OutPFSet_SF	Scale factor for power factor.		int16be	1	1	0		value		true			
                                        40252	1	VArPct_SF	Scale factor for reactive power percent.		int16be	1	1	0		value		true			
                                        40253	1	ID	Well-known value. Uniquely identifies this as a sunspec model mppt (160)		uint16be	1	1	0		value		true			
                                        40254	1	L	Length of sunspec model mppt (160)		uint16be	1	1	0		value		true			
                                        40255	1	DCA_SF	Current Scale Factor		int16be	1	1	0		value		true			true
                                        40256	1	DCV_SF	Voltage Scale Factor		int16be	1	1	0		value		true			true
                                        40257	1	DCW_SF	Power Scale Factor		int16be	1	1	0		value		true			true
                                        40258	1	DCWH_SF	Energy Scale Factor		int16be	1	1	0		value		true			true
                                        40261	1	N	Number of Modules		uint16be	1	1	0		value		true			
                                        40263	1	module/1/ID	Input ID		uint16be	1	1	0		value		true			
                                        40264	1	module/1/IDStr	Input ID Sting	8	string	2	1	0		value		true			
                                        40272	1	module/1/DCA	DC Current	A	uint16be	1	1	0	x * Math.pow(10, sf['40255'])	value		true			
                                        40273	1	module/1/DCV	DC Voltage	V	uint16be	1	1	0	x * Math.pow(10, sf['40256'])	value		true			
                                        40274	1	module/1/DCW	DC Power	W	uint16be	1	1	0	x * Math.pow(10, sf['40257'])	value		true			
                                        40275	1	module/1/DCWH	Lifetime Energy	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40258'])	value		true			
                                        40277	1	module/1/Tms	Timestamp	s	uint16be	1	1	0		value		true			
                                        40283	1	module/2/ID	Input ID		uint16be	1	1	0		value		true			
                                        40284	1	module/2/IDStr	Input ID String		string	8	1	0		value		true			
                                        40292	1	module/2/DCA	DC Current	A	uint16be	1	1	0	x * Math.pow(10, sf['40255'])	value		true			
                                        40293	1	module/2/DCV	DC Voltage	V	uint16be	1	1	0	x * Math.pow(10, sf['40256'])	value		true			
                                        40294	1	module/2/DCW	DC Power	W	uint16be	1	1	0	x * Math.pow(10, sf['40257'])	value		true			
                                        40295	1	module/2/DCWH	Lifetime Energy	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40258'])	value		true			
                                        40297	1	module/2/Tms	Timestamp	s	uint32be	2	1	0		value		true			
                                        40303	1	module/3/ID	Input ID		uint16be	1	1	0		value		true			
                                        40304	1	module/3/IDStr	Input ID String		string	8	1	0		value		true			
                                        40312	1	module/3/DCA	DC Current	A	uint16be	1	1	0	x * Math.pow(10, sf['40255'])	value		true			
                                        40313	1	module/3/DCV	DC Voltage	V	uint16be	1	1	0	x * Math.pow(10, sf['40256'])	value		true			
                                        40314	1	module/3/DCW	DC Power	W	uint16be	1	1	0	x * Math.pow(10, sf['40257'])	value		true			
                                        40315	1	module/3/DCWH	Lifetime Energy	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40258'])	value		true			
                                        40317	1	module/3/Tms	Timestamp	s	uint32be	2	1	0		value		true			
                                        40323	1	module/4/ID	Input ID		uint16be	1	1	0		value		true			
                                        40324	1	module/4/IDStr	Input ID String		string	8	1	0		value		true			
                                        40332	1	module/4/DCA	DC Current	A	uint16be	1	1	0	x * Math.pow(10, sf['40255'])	value		true			
                                        40333	1	module/4/DCV	DC Voltage	V	uint16be	1	1	0	x * Math.pow(10, sf['40256'])	value		true			
                                        40334	1	module/4/DCW	DC Power	W	uint16be	1	1	0	x * Math.pow(10, sf['40257'])	value		true			
                                        40335	1	module/4/DCWH	Lifetime Energy	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40258'])	value		true			
                                        40337	1	module/4/Tms	Timestamp	s	uint32be	2	1	0		value		true			
                                        40343	1	ID	Well-known value. Uniquely identifies this as a sunspec model storage (124)		uint16be	1	1	0		value		true			
                                        40344	1	L	Length of sunspec model storage (124)		uint16be	1	1	0		value		true			
                                        40345	1	WChaMax	Set point for maximum charge	W	uint16be	1	1	0		value		true			
                                        40346	1	WChaGra	Setpoint for maximum charging rate. Default is MaxChaRte.	%/s	uint16be	1	1	0		value		true			
                                        40347	1	WDisChaGra	Setpoint for maximum discharge rate. Default is MaxDisChaRte.	%/s	uint16be	1	1	0		value		true			
                                        40348	1	StorCtl_Mod	Activate hold/discharge/charge storage control mode. Bitfield value.		uint16be	1	1	0		value		true			
                                        40350	1	MinRsvPct	Setpoint for minimum reserve for storage as a percentage of the nominal maximum storage.	%	uint16be	1	1	0	x * Math.pow(10, sf['40364'])	value		true			
                                        40351	1	ChaState	Currently available energy as a percent of the capacity rating.	%	uint16be	1	1	0	x * Math.pow(10, sf['40365'])	value		true			
                                        40354	1	ChaSt	Charge status of storage device. Enumerated value.		uint16be	1	1	0		value		true			
                                        40355	1	OutWRte	Percent of max discharge rate.	%	int16be	1	1	0	x * Math.pow(10, sf['40368'])	value		true			
                                        40356	1	InWRte	Percent of max charging rate.	%	int16be	1	1	0		value		true			
                                        40358	1	InOutWRte_RvrtTms	Timeout period for charge/discharge rate.	s	uint16be	1	1	0		value		true			
                                        40360	1	ChaGriSet			uint16be	1	1	0		value		true			
                                        40361	1	WChaMax_SF	Scale factor for maximum charge.		int16be	1	1	0		value		true			
                                        40362	1	WChaDisChaGra_SF	Scale factor for maximum charge and discharge rate.		int16be	1	1	0		value		true			
                                        40364	1	MinRsvPct_SF	Scale factor for minimum reserve percentage.		int16be	1	1	0		value		true			true
                                        40365	1	ChaState_SF	Scale factor for available energy percent.		int16be	1	1	0		value		true			true
                                        40368	1	InOutWRte_SF	Scale factor for percent charge/discharge rate.		int16be	1	1	0		value		true			true
                                        40369	1	ID	Identifies this as End block		uint16be	1	1	0		value		true			
                                        40370	1	L	Length of model block		uint16be	1	1	0		value		true			
                                        40000	200	SID	Well-known value. Uniquely identifies this as a SunSpec Modbus Map		uint32be	2	1	0		value		true			
                                        40002	200	ID	Well-known value. Uniquely identifies this as a sunspec model common (1)		uint16be	1	1	0		value		true			
                                        40003	200	L	Length of sunspec model common (1)		uint16be	1	1	0		value		true			
                                        40004	200	Mn	Smart Meter Manufacturer		string	16	1	0		value		true			
                                        40020	200	MD	Smart Meter Model		string	16	1	0		value		true			
                                        40036	200	Opt	Smart Meter Name		string	8	1	0		value		true			
                                        40044	200	Vr	SW version of 		string	8	1	0		value		true			
                                        40052	200	SN	Smart Meter Serialnumber		string	16	1	0		value		true			
                                        40068	200	DA	Modbus Device Address		uint16be	1	1	0		value		true			
                                        40069	200	ID	Well-known value. Uniquely identifies this as a sunspec model ac_meter (20x)		uint16be	1	1	0		value		true			
                                        40070	200	L	Length of sunspec model ac_meter (20x)		uint16be	1	1	0		value		true			
                                        40071	200	A	Total AC Current	A	int16be	1	1	0		value		true			
                                        40072	200	AhA	Phase A Current	A	int16be	1	1	0		value		true			
                                        40073	200	AhB	Phase B Current	A	int16be	1	1	0		value		true			
                                        40074	200	AphC	Phase C Current	A	int16be	1	1	0		value		true			
                                        40075	200	A_SF	Current scale factor		int16be	1	1	0		value		true			
                                        40076	200	PhV	Line to Neutral AC Voltage (average of active phases)	V	int16be	1	1	0		value		true			
                                        40077	200	PhVphA	Phase Voltage AN	V	int16be	1	1	0		value		true			
                                        40078	200	PhVphB	Phase Voltage BN	V	int16be	1	1	0		value		true			
                                        40079	200	PhVphC	Phase Voltage CN	V	int16be	1	1	0		value		true			
                                        40080	200	PPV	Line to Line AC Voltage (average of active phases)	V	int16be	1	1	0		value		true			
                                        40081	200	PhVphAB	Phase Voltage AB	V	int16be	1	1	0		value		true			
                                        40082	200	PhVphBC	Phase Voltage AB	V	int16be	1	1	0		value		true			
                                        40083	200	PhVphAC	Phase Voltage AB	V	int16be	1	1	0		value		true			
                                        40084	200	V_SF	Voltage scale factor		int16be	1	1	0		value		true			
                                        40085	200	Hz	Frequency	Hz	int16be	1	1	0		value		true			
                                        40086	200	Hz_SF	Frequency scale factor		int16be	1	1	0		value		true			
                                        40087	200	W	Total Real Power	W	int16be	1	1	0	x * Math.pow(10, sf['40091'])	value		true		true	
                                        40088	200	WphA	Watts phase A	W	int16be	1	1	0		value		true			
                                        40089	200	WphB	Watts phase B	W	int16be	1	1	0		value		true			
                                        40090	200	WphC	Watts phase C	W	int16be	1	1	0		value		true			
                                        40091	200	W_SF	Real Power scale factor		int16be	1	1	0		value		true			true
                                        40092	200	VA	AC Apparent Power	VA	int16be	1	1	0		value		true			
                                        40093	200	VAphA	VA phase A	VA	int16be	1	1	0		value		true			
                                        40094	200	VAphB	VA phase B	VA	int16be	1	1	0		value		true			
                                        40095	200	VAphC	VA phase C	VA	int16be	1	1	0		value		true			
                                        40096	200	VA_SF	Apparent Power scale factor	VA	int16be	1	1	0		value		true			
                                        40097	200	VAR	Reactive Power	VA	int16be	1	1	0		value		true			
                                        40098	200	VARphA	VAR phase A	VA	int16be	1	1	0		value		true			
                                        40099	200	VARphB	VAR phase B	VA	int16be	1	1	0		value		true			
                                        40100	200	VARphC	VAR phase C	VA	int16be	1	1	0		value		true			
                                        40101	200	VAR_SF	Reactive Power scale factor		int16be	1	1	0		value		true			
                                        40102	200	PF	Power Factor	Pct	int16be	1	1	0		value		true			
                                        40103	200	PFphA	PF phase A	Pct	int16be	1	1	0		value		true			
                                        40104	200	PFphB	PF phase B	Pct	int16be	1	1	0		value		true			
                                        40105	200	PFphC	PF phase C	Pct	int16be	1	1	0		value		true			
                                        40106	200	PF_SF	Power Factor scale factor		int16be	1	1	0		value		true			
                                        40107	200	TotWhExp	Total Real Energy Exported	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40123'])	value		true			
                                        40109	200	TotWhExpPhA	Total Watt-hours Exported phase A	Wh	uint32be	2	1	0		value		true			
                                        40111	200	TotWhExpPhB	Total Watt-hours Exported phase B	Wh	uint32be	2	1	0		value		true			
                                        40113	200	TotWhExpPhC	Total Watt-hours Exported phase C	Wh	uint32be	2	1	0		value		true			
                                        40115	200	TotWhImp	Total Real Energy Imported	Wh	uint32be	2	1	0	x * Math.pow(10, sf['40123'])	value		true			
                                        40117	200	TotWhImpPhA	Total Watt-hours Imported phase A	Wh	uint32be	2	1	0		value		true			
                                        40119	200	TotWhImpPhB	Total Watt-hours Imported phase B	Wh	uint32be	2	1	0		value		true			
                                        40121	200	TotWhImpPhC	Total Watt-hours Imported phase C	Wh	uint32be	2	1	0		value		true			
                                        40123	200	TotWh_SF	Real Energy scale factor		int16be	1	1	0		value		true			true
                                        40124	200	TotVAhExp	Total Apparent Energy Exported	VAh	uint32be	2	1	0		value		true			
                                        40126	200	TotVAhExpPhA	Total VA-hours Exported phase A	VAh	uint32be	2	1	0		value		true			
                                        40128	200	TotVAhExpPhB	Total VA-hours Exported phase B	VAh	uint32be	2	1	0		value		true			
                                        40130	200	TotVAhExpPhC	Total VA-hours Exported phase C	VAh	uint32be	2	1	0		value		true			
                                        40132	200	TotVAhImp	Total Apparent Energy Imported	VAh	uint32be	2	1	0		value		true			
                                        40134	200	TotVAhImpPhA	Total VA-hours Imported phase A	VAh	uint32be	2	1	0		value		true			
                                        40136	200	TotVAhImpPhB	Total VA-hours Imported phase B	VAh	uint32be	2	1	0		value		true			
                                        40138	200	TotVAhImpPhV	Total VA-hours Imported phase C	VAh	uint32be	2	1	0		value		true			
                                        40140	200	TotVAh_SF	Apparent Energy scale factor		int16be	1	1	0		value		true			
                                        40174	200	Evt	Meter Event Flags		uint32be	2	1	0		value		true			
                                        40176	200	ID	Identifies this as End block		uint16be	1	1	0		value		true			
                                        40177	200	L	Length of model block		uint16be	1	1	0		value		true			
                                        
                                        

                                        Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                        1 Antwort Letzte Antwort
                                        0
                                        • L legro

                                          @TimoWald sagte in Test Adapter fronius-solarweb:

                                          Genauso Ähnlich wollte ich es auch aufbauen.

                                          Damit du nicht ganz von vorne anfangen musst, hier meine oben beschriebene Lösung in Form eines JavaScripts ..

                                          let partsDate = {jahr: '', monat: '', tag: ''}
                                          let eventPV = null
                                          let eventFromGrid = null
                                          let eventEnergyTotal = null
                                          
                                          function setPartsDate() {
                                              let alleMonate = ['Januar', 'Februar', 'Maerz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
                                              let d = new Date()
                                              partsDate = {jahr: d.getFullYear().toString(), monat: alleMonate[d.getMonth()], tag: d.getDate().toString()}
                                          }
                                          
                                          setPartsDate()
                                          
                                          schedule({hour: 0, minute: 0}, function () {
                                              setPartsDate()
                                              //TagesStartwert für PV
                                              setState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                              setState(`0_userdata.0.Counter.Strom.startTagPV`,getState(`modbus.2.holdingRegisters.1.40186_ActWh`).val,true)
                                              //TagesStartwert für Export
                                              setState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                              setState(`0_userdata.0.Counter.Strom.startTagVerkaufStrom`,getState(`modbus.2.holdingRegisters.200.40107_TotWhExp`).val,true)
                                              //TagesStartwert für Import
                                              setState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)    
                                              setState(`0_userdata.0.Counter.Strom.startTagBezugStrom`,getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val,true)
                                              //TagesStartWert für Gas
                                              setState('0_userdata.0.Counter.Gas.startTagGas',getState('0_userdata.0.Counter.Gas.volGas').val,true)
                                          })
                                          
                                          eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, (obj) => {
                                              let aktImp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                                              setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                                              let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`).val)
                                              tmpPV[Number(partsDate.tag)-1] = aktImp
                                              setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridWh`,JSON.stringify(tmpPV),true)
                                          })
                                          
                                          eventPV = on({id: `modbus.2.holdingRegisters.200.40107_TotWhExp`, change: 'gt'}, (obj) => {
                                              let aktExp = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.toGrid.startDayWh`).val
                                              setState('0_userdata.0.Fronius.Modbus.toGrid.tmpDayWh',aktExp,true)
                                              let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`).val)
                                              tmpPV[Number(partsDate.tag)-1] = aktExp
                                              setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.toGridWh`,JSON.stringify(tmpPV),true)
                                          })
                                          
                                          eventEnergyTotal = on({id: `modbus.2.holdingRegisters.1.40186_ActWh`, change: 'gt'}, (obj) => {
                                              let aktGen = obj.state.val - getState(`0_userdata.0.Fronius.Modbus.atHome.startDayWhPV`).val
                                              setState(`0_userdata.0.Fronius.Modbus.atHome.tmpDayWhPV`,aktGen,true)
                                              let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`).val)
                                              tmpPV[Number(partsDate.tag)-1] = aktGen
                                              setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.solarWh`,JSON.stringify(tmpPV),true)
                                          })
                                          

                                          Da ich keinen Ohmpilot habe, musst du dir hierzu die Register leider selbst suchen.

                                          F Offline
                                          F Offline
                                          Friedo
                                          schrieb am zuletzt editiert von
                                          #230

                                          @legro Hallo .Danke für die Inspiration . Die Tageswerte bekomme ich so super abgefragt. Leider bekomme ich das mit der Aufsummierung in den Monatswerten nicht hin. Ich habe zwar Objekte für den jeweiligen Tageswerte erstellt aber er wird nicht gefüllt . Wenn möglich bitte um genaues Vorgehen bzgl. der Monatswerte. Vielen Dank.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          713

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe