udo1toni hat geschrieben: ↑21. Nov 2021 10:47Zur Fehlersuche bietet es sich an, zunächst die stateTransformation zu entfernen. Allerdings musst Du zusätzlich auch noch den Channel Type auf String ändern, da nun ja das komplette json Objekt im Channel landet.
Nun solltest Du im Log sehen können, wenn ein Status empfangen wird. Eventuell solltest Du zusätzlich noch ein String Item mit dem String Channel verknüpfen, nur um ganz sicher zu gehen.
Ja, damit kommt jetzt alles an, sowohl im log, als auch im item:
Code: Alles auswählen
{"device": "GAH0A4409A", "time": "2021-11-21T11:15:04", "buffered": "no", "values": {"pvstatus": 1, "pvpowerin": 470, "pv1voltage": 1059, "pv1current": 3, "pv1watt": 470, "pv2voltage": 0, "pv2current": 0, "pv2watt": 0, "pvpowerout": 459, "pvfrequentie": 5000, "pvgridvoltage": 2323, "pvgridcurrent": 10, "pvgridpower": 485, "pvgridvoltage2": 0, "pvgridcurrent2": 0, "pvgridpower2": 0, "pvgridvoltage3": 0, "pvgridcurrent3": 0, "pvgridpower3": 0, "totworktime": 24319624, "pvenergytoday": 0, "pvenergytotal": 7556, "epvtotal": 7454, "epv1today": 0, "epv1total": 7454, "epv2today": 0, "epv2total": 0, "pvtemperature": 138, "pvipmtemperature": 234}}
Also liegt der Fehler in der stateTransformation nehme ich an?
Frage am Rande: möchtest Du ausschließlich die eine Information auslesen?
Nein, ich möchte mehrere aber nicht alle Informationen auslesen. Hatte erstmal nur einen Channel erstellt, um zu schauen, ob es funktioniert.
Der Fehler mit dem Topic ist mir jetzt auch klar. Hier hatte jemand beschrieben, wie er das Script in openhab eingebunden hat.
https://community.openhab.org/t/binding ... r/96288/13
Code: Alles auswählen
Bridge mqtt:broker:bbp295broker "BBP295 MQTT Broker"[ host="192.168.1.1", port=1883, secure=false]
{
Thing topic pvbbp295info "PV BBP295 informatie"
{
Channels:
Type number : ch_pvpowerout "PV produktie" [ stateTopic="bbp295/growatt", transformationPattern="JSONPATH:$.values.pvpowerout" ]
Type number : ch_pvenergytoday "PV produktie vandaag" [ stateTopic="bbp295/growatt", transformationPattern="JSONPATH:$.values.pvenergytoday" ]
Type number : ch_pvenergytotal "PV produktie totaal" [ stateTopic="bbp295/growatt", transformationPattern="JSONPATH:$.values.pvenergytotal" ]
Type number : ch_pvstatus "PV status" [ stateTopic="bbp295/growatt", transformationPattern="JSONPATH:$.values.pvstatus" ]
Type datetime : ch_time "PV laatste bericht" [ stateTopic="bbp295/growatt", transformationPattern="JSONPATH:$.time" ]
}
}
Ich hatte fälschlicherweise angenommen, dass das bbp295 in stateTopic="bbp295/growatt" sich auf den Namen des MQTT Brokers ("BBP295 MQTT Broker") bezieht.
EDIT: In der Grott.ini steht folgendes:
Code: Alles auswählen
#nomqtt = False
#ip = localhost
#port = 1883
#topic= energy/growatt
#auth = False
#user = grott
#password = growatt2020
Achja, der Fehler, dass grott.service nicht läuft ist behoben