NEWS
Test Adapter fronius-solarweb
-
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/flowdataJede Minute diese drei Einträge - welche Lösung gibt es hierzu?
Danke und lg@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 ..

-
@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 ..

@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 ... -
@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.
-
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 €.@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.
-
@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.
-
@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.
-
@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.
-
@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.
-
@legro Sorry aber ich kann echt nix mit dem Script anfangen.
Aktuell sieht es bei mir so aus.
@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.
-
@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