Seite 1 von 1

Beschreibung des Json Inputs für Wechselrichter [gelöst]

Verfasst: Di Jul 19, 2022 1:27 pm
von derron
Hallo nochmal,

ich richte gerade meine beiden WR ein, einer davon via JSON - eine Art HomeMatic EnergyMeter, dessen Json Values ich wie folgt bereitgestellt bekomme:

Code: Alles auswählen

{
  "Arg":"Schaltaktor.Sensor.HS.02_Pwr power energyCalc",
  "Results": [
  {
    "Name":"Schaltaktor.Sensor.HS.02_Pwr",
    "Internals": { },
    "Readings": {
      "energyCalc": { "Value":"1689196.5", "Time":"2022-07-19 15:17:52" },
      "power": { "Value":"914.19", "Time":"2022-07-19 15:17:52" }
    },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}


Wenn ich nun unter "Json Abfrage für Watt" .power oder .energyCalc eintrage, erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

2022-07-19 15:16:33: PID: 6990: soc.modules.common.fault_state: Json Wechselrichter: FaultState FaultStateLevel.ERROR, FaultStr <class 'TypeError'> float() argument must be a string or a number, not 'NoneType', Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/json/device.py", line 104, in update
self.components[component].update(response.json())
File "/var/www/html/openWB/packages/modules/json/inverter.py", line 34, in update
power = float(jq.compile(config["jq_power"]).input(response).first())
TypeError: float() argument must be a string or a number, not 'NoneType'
Den Json String kann ich vermutlich nicht verändern.
Kann ich auf openWB Seite hier noch feiner eingrenzen? Bzw. was ist der Grund für den Fehler?
Gibt es eine Beschreibung zu dieser Einstellung?

Re: Beschreibung des Json Inputs für Wechselrichter

Verfasst: Di Jul 19, 2022 1:39 pm
von derNeueDet
Na ganz so einfach darfst du das nicht machen.

Json Abfrage für Watt:

Code: Alles auswählen

.Results[].Readings.power.Value|tonumber|round
Json Abfrage für WH:

Code: Alles auswählen

.Results[].Readings.energyCalc.Value|tonumber
So sollte es funktionieren. Watt werden nur als ganzzahlige Werte angenommen, daher round, um den Dezimalteil zu eliminieren.

VG
Det

Re: Beschreibung des Json Inputs für Wechselrichter

Verfasst: Di Jul 19, 2022 2:15 pm
von derron
Oha, was da alles geht. Danke für den Code @derNeueDet - so funktioniert es bestens!
Jetzt kann ich mich an den EVU Zähler machen.