[V4.1.1] JSON Selektor für Werte aus MQTT-Array
Verfasst: So Jul 06, 2025 10:18 am
Hallo,
ich möchte aus einem per MQTT angelieferten JSON einige Werte auslesen.
Werte aus der "obersten" Ebene (z.B. bat_temp) bekomme ich ausgelesen und weiterverarbeitet.
Werte aus dem JSON Array noch nicht.
Analog zum Beispiel aus dem Wiki "JSON Selektoren für Nutzung mit MQTT" /(https://elabnet.atlassian.net/wiki/x/DwCCd) versuche ich es mit:
grid[type="grid_on"].ein für den Wert von "ein" aus grid/grid_on, bekomme aber keine Werte ausgelesen.
Im MQTT-Explorer sieht das JSON so aus:
{
"grid": [
{
"type": "grid_on",
"v": "228.0",
"i": "0.11",
"f": "49.97",
"p": "-0.6",
"q": "3.7",
"ein": 7,
"eout": 2,
"etin": 3361,
"etout": 2395
},
{
"type": "grid_off",
"v": "227.3",
"i": "0.11",
"f": "49.97",
"p": "0.1",
"q": "-3.6",
"ein": 0,
"eout": 1,
"etin": 4,
"etout": 13
},
{
"type": "inv",
"v": "225.6",
"i": "0.00",
"p": "0.0",
"q": "0.1",
"ein": 0,
"eout": 0,
"etin": 3287,
"etout": 2375
}
],
"bat_sts": "standby",
"bat_v": "23.05",
"bat_i": "0.00",
"bat_p": "0.1",
"bat_temp": "24.0",
"soc": "54.60",
"rssi": -60
}
Meine Abfrage dazu:

Für Hinweise/Tipps bin ich sehr dankbar, nachdem der gestrige Abend mit "try-and-error" ohne Erfolg war.
Viele Grüße
Holger
ich möchte aus einem per MQTT angelieferten JSON einige Werte auslesen.
Werte aus der "obersten" Ebene (z.B. bat_temp) bekomme ich ausgelesen und weiterverarbeitet.
Werte aus dem JSON Array noch nicht.
Analog zum Beispiel aus dem Wiki "JSON Selektoren für Nutzung mit MQTT" /(https://elabnet.atlassian.net/wiki/x/DwCCd) versuche ich es mit:
grid[type="grid_on"].ein für den Wert von "ein" aus grid/grid_on, bekomme aber keine Werte ausgelesen.
Im MQTT-Explorer sieht das JSON so aus:
{
"grid": [
{
"type": "grid_on",
"v": "228.0",
"i": "0.11",
"f": "49.97",
"p": "-0.6",
"q": "3.7",
"ein": 7,
"eout": 2,
"etin": 3361,
"etout": 2395
},
{
"type": "grid_off",
"v": "227.3",
"i": "0.11",
"f": "49.97",
"p": "0.1",
"q": "-3.6",
"ein": 0,
"eout": 1,
"etin": 4,
"etout": 13
},
{
"type": "inv",
"v": "225.6",
"i": "0.00",
"p": "0.0",
"q": "0.1",
"ein": 0,
"eout": 0,
"etin": 3287,
"etout": 2375
}
],
"bat_sts": "standby",
"bat_v": "23.05",
"bat_i": "0.00",
"bat_p": "0.1",
"bat_temp": "24.0",
"soc": "54.60",
"rssi": -60
}
Meine Abfrage dazu:

Für Hinweise/Tipps bin ich sehr dankbar, nachdem der gestrige Abend mit "try-and-error" ohne Erfolg war.
Viele Grüße
Holger