AnotherDaniel / smahub

SMAHub is a flexible and modular solution for collecting data from SMA photovoltaic (PV) products and publishing it to various output channels, such as MQTT.
GNU General Public License v2.0
31 stars 11 forks source link

No Data from Tripower X, says its nighttime, but isn't #43

Open raphael303 opened 8 months ago

raphael303 commented 8 months ago
2024-03-03 14:59:55 DEBUG    Verbose output enabled
2024-03-03 14:59:55 INFO     Starting smahub 1.6.1
2024-03-03 14:59:55 DEBUG    Found .conf file for SHM2 plugin
2024-03-03 14:59:55 DEBUG    Found .py file for SHM2 plugin
2024-03-03 14:59:55 DEBUG    Found .py file for EVCharger plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for EVCharger plugin
2024-03-03 14:59:55 DEBUG    Found .py file for TripowerX plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for TripowerX plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for demo plugin
2024-03-03 14:59:55 DEBUG    Found .py file for demo plugin
2024-03-03 14:59:55 DEBUG    Found .py file for gen_ha_sensors plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for gen_ha_sensors plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for mqtt plugin
2024-03-03 14:59:55 DEBUG    Found .py file for mqtt plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for demo plugin
2024-03-03 14:59:55 DEBUG    Found .py file for demo plugin
2024-03-03 14:59:55 DEBUG    Found .py file for ha_mqtt plugin
2024-03-03 14:59:55 DEBUG    Found .conf file for ha_mqtt plugin
2024-03-03 14:59:55 INFO     SHM2 plugin disabled
2024-03-03 14:59:55 INFO     EV Charger plugin disabled
2024-03-03 14:59:55 INFO     Starting Tripower X source
2024-03-03 14:59:55 INFO     demo source plugin disabled
2024-03-03 14:59:55 INFO     gen_ha_sensors sink plugin disabled
2024-03-03 14:59:55 INFO     MQTT sink plugin disabled
2024-03-03 14:59:55 INFO     demo sink plugin disabled
2024-03-03 14:59:55 DEBUG    Starting new HTTPS connection (1): 192.168.1.91:443
2024-03-03 14:59:55 INFO     Starting HA-MQTT sink
2024-03-03 14:59:55 DEBUG    https://192.168.1.91:443 "POST /api/v1/token HTTP/1.1" 200 None
2024-03-03 14:59:56 DEBUG    https://192.168.1.91:443 "GET /api/v1/plants/Plant:1/devices/IGULD:SELF HTTP/1.1" 200 None
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.name: Sunny Tripower X 15
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.configuration_url: https://192.168.1.91
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.identifiers: 3018156717
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.model: SMA-Sunny Tripower X 15
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.manufacturer: SMA
2024-03-03 14:59:57 DEBUG    TriPowerX.3018156717.device_info.sw_version: 03.06.15.R
2024-03-03 14:59:57 DEBUG    https://192.168.1.91:443 "POST /api/v1/measurements/live HTTP/1.1" 200 None
2024-03-03 14:59:57 DEBUG    value of Operation.Evt.EvtNo is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.FstStop is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.HzLimRed is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.PFCtlComCfg.PF is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.PFCtlComCfg.PFExt is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.PFCtlComCfg.PFExtIn is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.PFCtlComCfg.PFIn is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.VArCtlComCfg.VArNom is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.VArModCfg.VArCtlVolCfg.VolRef.VolRefPu is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.W is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WMaxIn is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WMaxInNomPrc is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WNom is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WSptMax is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WSptMaxNom is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WSptMin is currently not availably (nighttime?)
2024-03-03 14:59:57 DEBUG    value of Setpoint.PlantControl.Inverter.WModCfg.WCtlComCfg.WSptMinNom is currently not availably (nighttime?)
2024-03-03 14:59:59 DEBUG    TriPowerX.3018156717.device_info.name: Sunny Tripower X 15

Any ideas?

AnotherDaniel commented 8 months ago

Hi @raphael303 - no, not really. Did it maybe fix itself by now? :-)

When you're manually logging into your inverter (web frontend), does that current-values page work for you? Can you see the long parameter list and all the live data?

jardleex commented 8 months ago

Hi @raphael303,

I think that's normal. The inverter simply does not provide these data. Checkout my error logs in #34 where you can see the same lines. I'm running an Sunny Tripower X 25.

AnotherDaniel commented 8 months ago

I guess this is the main issue with this kind of software, which tries to work with 'someone elses products' - I only own one specific device, and have no idea (and no way to test) any others.

Based on the list of missing X25 datapoints above, I can look into how I might accommodate these different behaviors, avoiding unneeded error messages...

AnotherDaniel commented 8 months ago

@jardleex, @raphael303, I'm tinkering with a re-write of the code that processes the values received from inverters - it is not really doing what it should at the moment, especially where "unknown" parameters are involved.

Would one of you be willing to send me a data dump of the X 25 parameter screen? (from the SMA web interface, Monitoring->Instantaneous Values->Download, ideally done during the day when the device is producing power) The X 25 has a few parameters that my X 12 doesn't, and when I rework the code I'll begin to accommodate different product variations...

Could send via email - dk.mailbox@gmx.net, as per my github profile.

jardleex commented 8 months ago

Sure thing. I already had that prepared the other day but must have missed the comment button. I used the csv-export which allows copy/paste. The first block is for the whole site. The second one comes out when my inverter is selected.

sep=;
"Version";"4";;;;;;
"Language";"en-GB";;;;;;
"Local export date";"10.03.2024 10:43:03";;;;;;
"Export UTC date";"2024-03-10T09:43:03.379Z";;;;;;
"Time zone";"Europe/Berlin";;;;;;
"User name";"REDACTED";;;;;;
"Level";"System";;;;;;
"System ID";"Plant:1";;;;;;
"System name";"REDACTED";;;;;;
"";"";;;;;;
"Group";"Name";"Value";"Translated value";"Unit";"Channel"
"AC Side";"Reactive power";"-1.0711677074432373";"-1";"var";"Measurement.GridMs.TotVAr"
"AC Side";"Power";"4248.34814453125";"4,248";"W";"Measurement.GridMs.TotW"
"AC Side";"Power";"4248.34814453125";"4,248";"W";"Measurement.GridMs.TotW.Pv"
"System and device control";"PV power limitation via communication for direct marketing";"0";"0.00";"%";"Measurement.Inverter.CurWCtlDrkNom"
"System and device control";"Active power limitation set value";"0";"0.00";"%";"Measurement.Inverter.CurWCtlNom"
"Device";"Available inverter power";"25000";"25";"kW";"Measurement.Inverter.WAval"
"AC Side";"Daily yield";"13344";"13";"kWh";"Measurement.Metering.DyWhOut"
"AC Side";"Counter reading of power drawn by battery counter";"0";"0";"Wh";"Measurement.Metering.GridMs.TotWhIn.Bat"
"AC Side";"Counter reading of battery feed-in counter";"0";"0";"Wh";"Measurement.Metering.GridMs.TotWhOut.Bat"
"AC Side";"Total yield";"1938808.5113377955";"1,939";"kWh";"Measurement.Metering.TotWhOut.Pv"
"System and device control";"Generation plant availability";"100";"100";"%";"Measurement.Operation.CurAvailPlnt"
"AC Side";"Available overexcited reactive power";"0";"0";"var";"Measurement.Operation.CurAvailVArOvExt"
"AC Side";"Available overexcited reactive power";"0";"0.00";"%";"Measurement.Operation.CurAvailVArOvExtNom"
"AC Side";"Available underexcited reactive power";"0";"0";"var";"Measurement.Operation.CurAvailVArUnExt"
"AC Side";"Available underexcited reactive power";"0";"0.00";"%";"Measurement.Operation.CurAvailVArUnExtNom"
"System and device control";"Current spec. active power limitation P";"0";"0";"W";"Measurement.Operation.Dmd.WCtl"
"Status";"Condition";"307";"Ok";"";"Measurement.Operation.Health"
"Status";"Number of inverters in state Q on Demand";"0";"0";"";"Measurement.Operation.NbrQodStt"
"Status";"Number of inverters in state Run";"1";"1";"";"Measurement.Operation.NbrRunStt"
"Status";"Number of inverters in state Stop";"0";"0";"";"Measurement.Operation.NbrStopStt"
"Status";"Number of inverters in state Wait";"0";"0";"";"Measurement.Operation.NbrWaitStt"
"Status";"General operating status";"309";"Operation";"";"Measurement.Operation.OpStt"
"System and device control";"Active reactive power range";"4398";"Reactive power mode in case of zero power";"output";"Measurement.Operation.VArCtl.VArModAct"
"System and device control";"Active reactive power behavior";"303";"Off";"";"Measurement.Operation.VArCtl.VArModStt"
"System and device control";"Maximum reactive power setpoint specification";"0";"0.00";"%";"Measurement.Operation.VArMaxLimNom"
"System and device control";"Minimum reactive power setpoint specification";"0";"0.00";"%";"Measurement.Operation.VArMinLimNom"
"System and device control";"Maximum active power setpoint (grid supply)";"0";"0.00";"%";"Measurement.Operation.WMaxInLimNom"
"System and device control";"Maximum active power setpoint specification";"0";"0.00";"%";"Measurement.Operation.WMaxLimNom"
"System and device control";"Source of maximum active power setpoint";"302";"-------";"";"Measurement.Operation.WMaxLimSrc"
"System and device control";"Minimum active power setpoint (grid supply)";"0";"0.00";"%";"Measurement.Operation.WMinInLimNom"
"System and device control";"Minimum active power setpoint specification";"0";"0.00";"%";"Measurement.Operation.WMinLimNom"
"System and device control";"Source of minimum active power setpoint";"302";"-------";"";"Measurement.Operation.WMinLimSrc"
"Status";"Nominal capacity of the system";"0";"0";"Wh";"Measurement.Plnt.CapacRtgWh"
"Status";"Availability fast reserve for storage unit (FRS)";"1130";"No";"";"Measurement.Plnt.Frs.Aval"
"Status";"Free capacity of the system";"0";"0";"Wh";"Measurement.Plnt.TotAvalCha"
"Status";"Retrievable charge of the system";"0";"0";"Wh";"Measurement.Plnt.TotAvalDsch"
sep=;
"Version";"4";;;;;;
"Language";"en-GB";;;;;;
"Local export date";"10.03.2024 10:41:59";;;;;;
"Export UTC date";"2024-03-10T09:41:59.768Z";;;;;;
"Time zone";"Europe/Berlin";;;;;;
"User name";"REDACTED";;;;;;
"Level";"Device";;;;;;
"System ID";"Plant:1";;;;;;
"System name";"REDACTED";;;;;;
"Device ID";"IGULD:SELF";;;;;;
"Device name";"wechselrichter1";;;;;;
"Serial number of device";"REDACTED";;;;;;
"";"";;;;;;
"Group";"Name";"Value";"Translated value";"Unit";"Channel"
"Device";"Inverter temperature [1]";"55.788856506347656";"55.8";"°C";"Measurement.Coolsys.Inverter.TmpVal[0]"
"Device";"Inverter temperature [2]";"55.484344482421875";"55.5";"°C";"Measurement.Coolsys.Inverter.TmpVal[1]"
"Device";"Inverter temperature [3]";"54.49949264526367";"54.5";"°C";"Measurement.Coolsys.Inverter.TmpVal[2]"
"DC Side";"DC current input [A]";"3.8211097717285156";"3.821";"A";"Measurement.DcMs.Amp[0]"
"DC Side";"DC current input [B]";"3.8205835819244385";"3.821";"A";"Measurement.DcMs.Amp[1]"
"DC Side";"DC current input [C]";"2.1526973247528076";"2.153";"A";"Measurement.DcMs.Amp[2]"
"DC Side";"Energy released by string [A]";"246437.88619663537";"246";"kWh";"Measurement.DcMs.TotDcEnCntWh[0]"
"DC Side";"Energy released by string [B]";"242290.3561840899";"242";"kWh";"Measurement.DcMs.TotDcEnCntWh[1]"
"DC Side";"Energy released by string [C]";"134033.21671691682";"134";"kWh";"Measurement.DcMs.TotDcEnCntWh[2]"
"DC Side";"DC voltage input [A]";"405.0664367675781";"405.07";"V";"Measurement.DcMs.Vol[0]"
"DC Side";"DC voltage input [B]";"408.5775451660156";"408.58";"V";"Measurement.DcMs.Vol[1]"
"DC Side";"DC voltage input [C]";"537.6910400390625";"537.69";"V";"Measurement.DcMs.Vol[2]"
"DC Side";"DC power input [A]";"1547.4991455078125";"1,547";"W";"Measurement.DcMs.Watt[0]"
"DC Side";"DC power input [B]";"1559.9327392578125";"1,560";"W";"Measurement.DcMs.Watt[1]"
"DC Side";"DC power input [C]";"1154.016357421875";"1,154";"W";"Measurement.DcMs.Watt[2]"
"Grid Monitoring";"Country standard set";"27";"Special";"setting";"Measurement.GridGuard.Cntry"
"AC Side";"Grid current phase L1";"6.171269416809082";"6.171";"A";"Measurement.GridMs.A.phsA"
"AC Side";"Grid current phase L2";"6.170380115509033";"6.170";"A";"Measurement.GridMs.A.phsB"
"AC Side";"Grid current phase L3";"6.184604644775391";"6.185";"A";"Measurement.GridMs.A.phsC"
"AC Side";"Grid type";"18007";"400V/230V, Three phase and";"neutral";"Measurement.GridMs.GriTyp"
"AC Side";"Grid frequency";"50.00529479980469";"50.01";"Hz";"Measurement.GridMs.Hz"
"AC Side";"Grid voltage phase L1";"230.4268341064453";"230.43";"V";"Measurement.GridMs.PhV.phsA"
"AC Side";"Grid voltage phase L1 against L2";"400.18646240234375";"400.19";"V";"Measurement.GridMs.PhV.phsA2B"
"AC Side";"Grid voltage phase L2";"231.40577697753906";"231.41";"V";"Measurement.GridMs.PhV.phsB"
"AC Side";"Grid voltage phase L2 against L3";"400.1220397949219";"400.12";"V";"Measurement.GridMs.PhV.phsB2C"
"AC Side";"Grid voltage phase L3";"231.29855346679688";"231.30";"V";"Measurement.GridMs.PhV.phsC"
"AC Side";"Grid voltage phase L3 against L1";"400.1568603515625";"400.16";"V";"Measurement.GridMs.PhV.phsC2A"
"AC Side";"Grid current";"18.526254653930664";"18.526";"A";"Measurement.GridMs.TotA"
"AC Side";"EEI displacement power factor";"-1";"-1.000";"";"Measurement.GridMs.TotPFEEI"
"AC Side";"Excitation type of cos φ";"1042";"Underexcited";"";"Measurement.GridMs.TotPFExt"
"AC Side";"Displacement power factor";"1";"1.000";"";"Measurement.GridMs.TotPFPrc"
"AC Side";"Apparent power";"4280.37353515625";"4,280";"VA";"Measurement.GridMs.TotVA"
"AC Side";"Reactive power";"0.5431981682777405";"1";"var";"Measurement.GridMs.TotVAr"
"AC Side";"Power";"4208.59326171875";"4,209";"W";"Measurement.GridMs.TotW"
"AC Side";"Power";"4208.59326171875";"4,209";"W";"Measurement.GridMs.TotW.Pv"
"AC Side";"Apparent power L1";"1422.021728515625";"1,422";"VA";"Measurement.GridMs.VA.phsA"
"AC Side";"Apparent power L2";"1427.8609619140625";"1,428";"VA";"Measurement.GridMs.VA.phsB"
"AC Side";"Apparent power L3";"1430.490234375";"1,430";"VA";"Measurement.GridMs.VA.phsC"
"AC Side";"Reactive power L1";"0.19319802522659302";"0";"var";"Measurement.GridMs.VAr.phsA"
"AC Side";"Reactive power L2";"-2.760755777359009";"-3";"var";"Measurement.GridMs.VAr.phsB"
"AC Side";"Reactive power L3";"3.110755681991577";"3";"var";"Measurement.GridMs.VAr.phsC"
"AC Side";"Power L1";"1399.0360107421875";"1,399";"W";"Measurement.GridMs.W.phsA"
"AC Side";"Power L2";"1405.355224609375";"1,405";"W";"Measurement.GridMs.W.phsB"
"AC Side";"Power L3";"1404.2030029296875";"1,404";"W";"Measurement.GridMs.W.phsC"
"Further Applications";"Digital group input";"48";"48";"";"Measurement.InOut.GI1"
"System and device control";"cos φ(V), status";"303";"Off";"";"Measurement.Inverter.VArModCfg.PFCtlVolCfg.Stt"
"DC Side";"Residual current";"0.013645689003169537";"0.014";"A";"Measurement.Isolation.FltA"
"DC Side";"Insulation resistance";"1131633.5";"1,132";"kOhm";"Measurement.Isolation.LeakRis"
"AC Side";"Feed-in time";"2610307.214937536";"2,610,307";"s";"Measurement.Metering.TotFeedTms"
"AC Side";"Operating time";"2957531.6648233137";"2,957,532";"s";"Measurement.Metering.TotOpTms"
"AC Side";"Total yield";"1938723.305244103";"1,939";"kWh";"Measurement.Metering.TotWhOut"
"AC Side";"Total yield";"1938723.305244103";"1,939";"kWh";"Measurement.Metering.TotWhOut.Pv"
"Device";"Backup mode status";"1440";"Grid";"mode";"Measurement.Operation.BckStt"
"Status";"Reason for derating";"884";"not";"active";"Measurement.Operation.DrtStt"
"Status";"Fault correction measure";"973";"------";"";"Measurement.Operation.Evt.Dsc"
"Status";"Message";"973";"------";"";"Measurement.Operation.Evt.Msg"
"Status";"Number of events for installer";"615";"615";"";"Measurement.Operation.EvtCntIstl"
"Status";"Number of events for user";"614";"614";"";"Measurement.Operation.EvtCntUsr"
"AC Side";"Number of grid connections";"83";"83";"";"Measurement.Operation.GriSwCnt"
"Status";"Grid relay/contactor";"51";"Closed";"";"Measurement.Operation.GriSwStt"
"Status";"Condition";"307";"Ok";"";"Measurement.Operation.Health"
"Status";"Nominal power in Fault Mode";"0";"0";"W";"Measurement.Operation.HealthStt.Alm"
"Status";"Nominal power in Ok Mode";"25000";"25";"kW";"Measurement.Operation.HealthStt.Ok"
"Status";"Nominal power in Warning Mode";"0";"0";"W";"Measurement.Operation.HealthStt.Wrn"
"Status";"General operating status";"569";"Activated";"";"Measurement.Operation.OpStt"
"AC Side";"Plant mains connection";"1780";"Public electricity";"mains";"Measurement.Operation.PvGriConn"
"Status";"Block status";"16777213";"Information not";"available";"Measurement.Operation.RstrLokStt"
"Status";"Operating status";"295";"MPP";"";"Measurement.Operation.RunStt"
"Status";"Standby status";"16777213";"Information not";"available";"Measurement.Operation.StandbyStt"
"System and device control";"Active reactive power range";"4396";"Reactive power mode in case of active power";"output";"Measurement.Operation.VArCtl.VArModAct"
"System and device control";"Active reactive power behavior";"303";"Off";"";"Measurement.Operation.VArCtl.VArModStt"
"System and device control";"Source of maximum active power setpoint";"302";"-------";"";"Measurement.Operation.WMaxLimSrc"
"System and device control";"Source of minimum active power setpoint";"302";"-------";"";"Measurement.Operation.WMinLimSrc"
"External Communication";"EnnexOS portal connection status";"307";"Ok";"";"Measurement.Portal.EnnexOS.ConnStt"
"AC Side";"PV generation power";"4208.59326171875";"4,209";"W";"Measurement.PvGen.PvW"
"AC Side";"Meter count and PV gen. meter";"1974112.7628897582";"1,974";"kWh";"Measurement.PvGen.PvWh"
"System communication";"Speedwire connection status of SMACOM A";"307";"Ok";"";"Measurement.Spdwr.ComSocA.Stt"
"DC Side";"SunSpec life sign [1]";"1130";"No";"";"Measurement.SunSpecSig.SunSpecTx[0]"
"Status";"Status of the firmware update";"302";"-------";"";"Measurement.Upd.Stt"
"External Communication";"Status of the Webconnect functionality";"307";"Ok";"";"Measurement.WebConn.Stt"
"System communication";"Status of WiFi scan";"3366";"No scan";"completed";"Measurement.Wl.AcqStt"
"System communication";"WiFi antenna type";"3326";"Internal";"antenna";"Measurement.Wl.AntMod"
"System communication";"WiFi connection status";"303";"Off";"";"Measurement.Wl.ConnStt"
"System communication";"Signal strength of the selected network";"0";"0";"%";"Measurement.Wl.SigPwr"
"System communication";"Soft Access Point status";"303";"Off";"";"Measurement.Wl.SoftAcsConnStt"
"Further Applications";"Digital group output";"0";"0";"";"Setpoint.PlantControl.InOut.GO1"
raphael303 commented 8 months ago

MomentanwerteSMATripowerX.csv