Hallo zusammen,
ich möchte über eine JSON-Abfrage den zweiten Erzeugerzähler der an meinem Fronius-WR hängt abfragen.
Die Abfrage am WR funktioniert und bringt folgendes zurück:
Code: Alles auswählen
{
"Body" : {
"Data" : {
"0" : {
"Current_AC_Phase_1" : 10.291,
"Current_AC_Phase_2" : -4.173,
"Current_AC_Phase_3" : -6.5199999999999996,
"Current_AC_Sum" : -0.40199999999999925,
"Details" : {
"Manufacturer" : "Fronius",
"Model" : "Smart Meter TS 65A-3",
"Serial" : "gelöschtvonmir"
},
"Enable" : 1,
"EnergyReactive_VArAC_Sum_Consumed" : 40857.0,
"EnergyReactive_VArAC_Sum_Produced" : 328577.0,
"EnergyReal_WAC_Minus_Absolute" : 141137.0,
"EnergyReal_WAC_Plus_Absolute" : 276460.0,
"EnergyReal_WAC_Sum_Consumed" : 276460.0,
"EnergyReal_WAC_Sum_Produced" : 141137.0,
"Frequency_Phase_Average" : 50.0,
"Meter_Location_Current" : 0.0,
"PowerApparent_S_Phase_1" : 2361.8000000000002,
"PowerApparent_S_Phase_2" : 974.0,
"PowerApparent_S_Phase_3" : 1520.5999999999999,
"PowerApparent_S_Sum" : 4855.8999999999996,
"PowerFactor_Phase_1" : 0.98999999999999999,
"PowerFactor_Phase_2" : 1.0,
"PowerFactor_Phase_3" : 1.0,
"PowerFactor_Sum" : -0.379,
"PowerReactive_Q_Phase_1" : -335.5,
"PowerReactive_Q_Phase_2" : -7.2000000000000002,
"PowerReactive_Q_Phase_3" : -36.299999999999997,
"PowerReactive_Q_Sum" : -373.89999999999998,
"PowerReal_P_Phase_1" : 2337.9000000000001,
"PowerReal_P_Phase_2" : -974.0,
"PowerReal_P_Phase_3" : -1520.2,
"PowerReal_P_Sum" : -153.19999999999999,
"TimeStamp" : 1679045286,
"Visible" : 1,
"Voltage_AC_PhaseToPhase_12" : 399.89999999999998,
"Voltage_AC_PhaseToPhase_23" : 407.10000000000002,
"Voltage_AC_PhaseToPhase_31" : 401.39999999999998,
"Voltage_AC_Phase_1" : 230.0,
"Voltage_AC_Phase_2" : 234.19999999999999,
"Voltage_AC_Phase_3" : 233.59999999999999
},
"1" : {
"Current_AC_Phase_1" : -3.1669999999999998,
"Current_AC_Sum" : -3.1669999999999998,
"Details" : {
"Manufacturer" : "Fronius",
"Model" : "Smart Meter TS 100A-1",
"Serial" : "gelöschtvonmir"
},
"Enable" : 1,
"EnergyReactive_VArAC_Sum_Consumed" : 0.0,
"EnergyReactive_VArAC_Sum_Produced" : 16457.0,
"EnergyReal_WAC_Minus_Absolute" : 40.0,
"EnergyReal_WAC_Plus_Absolute" : 32124.000000000004,
"EnergyReal_WAC_Sum_Consumed" : 40.0,
"EnergyReal_WAC_Sum_Produced" : 32124.000000000004,
"Frequency_Phase_Average" : 50.0,
"Meter_Location_Current" : 3.0,
"PowerApparent_S_Phase_1" : 738.20000000000005,
"PowerApparent_S_Sum" : 738.20000000000005,
"PowerFactor_Phase_1" : -0.999,
"PowerFactor_Sum" : -0.999,
"PowerReactive_Q_Phase_1" : -27.699999999999999,
"PowerReactive_Q_Sum" : -27.699999999999999,
"PowerReal_P_Phase_1" : 737.70000000000005,
"PowerReal_P_Sum" : 737.70000000000005,
"TimeStamp" : 1679045286,
"Visible" : 1,
"Voltage_AC_Phase_1" : 233.69999999999999
}
}
},
"Head" : {
"RequestArguments" : {
"Scope" : "System"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2023-03-17T09:28:07+00:00"
}
}
Body, Data, 1, PowerApparent_S_Phase_1
abfragen.
Was muss ich denn nun in der OpenWB eintragen?
Aktuell habe ich da stehen:
WR-URL: http://pv-wechselrichter/solar_api/v1/G ... meData.cgi
Json Abfrage für Watt: .body.data.1.PowerApparent_S_Phase_1
Json Abfrage für Wh: .body.data.1.EnergyReal_WAC_Sum_Produced
Funktioniert so nicht und hagelt Fehlermeldungen:
<class 'ValueError'> jq: error: Invalid numeric literal at EOF at line 1, column 3 (while parsing '.1.') at <top-level>, line 1: .body.data.1.PowerApparent_S_Phase_1 jq: error: syntax error, unexpected LITERAL, expecting $end (Unix shell quoting issues?) at <top-level>, line 1: .body.data.1.PowerApparent_S_Phase_1 jq: 2 compile errors
kann mir jemand dabei helfen? Herzlichen Dank!
Okay, konnte es selbst lösen:
- erstmal den Zähler gleich anders abfragen:
http://pv-wechselrichter/solar_api/v1/G ... altimeData
Außerdem müssen die Werte gerundet werden:
Abfrage für Watt:
.Body.Data.PowerReal_P_Sum|round
Abfrage für Wh:
.Body.Data.EnergyReal_WAC_Sum_Produced|round