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
28 stars 8 forks source link

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

Open raphael303 opened 6 months ago

raphael303 commented 6 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 6 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 6 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 5 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 5 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 5 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 5 months ago

MomentanwerteSMATripowerX.csv