baer-meter-public-wallbox/events/rpc
1. Werte aus dem Payload auswählen
Klicke einzelne Felder an, die du als Extractor übernehmen möchtest. Mehrfachauswahl möglich. Schon konfigurierte Pfade sind grün markiert.
| $.src | text | shellypro3em-2cbcbba647a0 | |
| $.dst | text | baer-meter-public-wallbox/events | |
| $.method | text | NotifyStatus | |
| $.params.ts | numeric | 1779404886.87 | |
| $.params.em:0.a_act_power | numeric | 3.2 | |
| $.params.em:0.a_aprt_power | numeric | 9.6 | |
| $.params.em:0.a_current | numeric | 0.042 | |
| $.params.em:0.a_freq | numeric | 50.0 | |
| $.params.em:0.a_pf | numeric | 0.33 | |
| $.params.em:0.a_voltage | numeric | 231.1 | |
| $.params.em:0.b_act_power | numeric | 0.0 | |
| $.params.em:0.b_aprt_power | numeric | 6.4 | |
| $.params.em:0.b_current | numeric | 0.028 | |
| $.params.em:0.b_freq | numeric | 50.0 | |
| $.params.em:0.b_pf | numeric | 0.0 | |
| $.params.em:0.b_voltage | numeric | 231.2 | |
| $.params.em:0.c_act_power | numeric | 0.0 | |
| $.params.em:0.c_aprt_power | numeric | 6.4 | |
| $.params.em:0.c_current | numeric | 0.027 | |
| $.params.em:0.c_freq | numeric | 50.0 | |
| $.params.em:0.c_pf | numeric | 0.0 | |
| $.params.em:0.c_voltage | numeric | 231.7 | |
| $.params.em:0.n_current | null | null | |
| $.params.em:0.total_act_power | numeric | 3.163 | |
| $.params.em:0.total_aprt_power | numeric | 22.391 | |
| $.params.em:0.total_current | numeric | 0.097 |
2. Konfiguration
Letzter Payload
{
"src": "shellypro3em-2cbcbba647a0",
"dst": "baer-meter-public-wallbox/events",
"method": "NotifyStatus",
"params": {
"ts": 1779404886.87,
"em:0": {
"a_act_power": 3.2,
"a_aprt_power": 9.6,
"a_current": 0.042,
"a_freq": 50.0,
"a_pf": 0.33,
"a_voltage": 231.1,
"b_act_power": 0.0,
"b_aprt_power": 6.4,
"b_current": 0.028,
"b_freq": 50.0,
"b_pf": 0.0,
"b_voltage": 231.2,
"c_act_power": 0.0,
"c_aprt_power": 6.4,
"c_current": 0.027,
"c_freq": 50.0,
"c_pf": 0.0,
"c_voltage": 231.7,
"n_current": null,
"total_act_power": 3.163,
"total_aprt_power": 22.391,
"total_current": 0.097
}
}
}
Test-Ergebnis
Ähnliche Topics
3. Daten-Browser
| Sub-Key | Art | Einheit | Faktor | Werte (Roh) | 15-Min | Erste | Letzte | |
|---|---|---|---|---|---|---|---|---|
| numeric | ||||||||
| text | – | – |
| Zeit | Wert |
|---|---|
Keine Daten im gewählten Zeitraum.
Letzte Roh-Nachrichten
Direkter Blick in raw_cache für dieses Topic. Klick auf eine
Zeile öffnet den vollen Payload im Viewer.
| Zeit | QoS | Status | Payload |
|---|---|---|---|
4. Wert-Labels
Optional: ordne gespeicherten Zahlen lesbare Texte zu (z.B. 161 → "Bereit").
Die Labels werden in der Daten-Tabelle & Charts angezeigt — die Speicherung selbst bleibt
rein numerisch.
| Wert | Label | |
|---|---|---|
Extractor-Schema & Tricks
Pfad-Syntax
$ · $.foo.bar · $.arr[0] · $.arr[*] (nur in iter)
value_map — Text in 0/1 (oder beliebig) umwandeln
Für Statuswerte wie "online"/"offline" oder true/false:
[
{
"path": "$.presence_state",
"sub_key": "",
"kind": "numeric",
"factor": 1,
"on_change": true,
"value_map": { "online": 1, "offline": 0 }
}
]
Lookup case-insensitive. Für Boolean-Payloads kannst du auch {"true":1,"false":0} nutzen
(direkte true/false-Werte werden ohnehin automatisch zu 1/0 gemappt).
Mehrere Topics → ein Kurzname (logisches Mergen)
Zwei oder mehr physische MQTT-Topics dürfen denselben Kurznamen haben.
Die Werte landen in values_numeric/values_text mit jeweils eigener
topic_id, aber die spätere Data-API kann sie zu einer Zeitserie vereinen
(SELECT … WHERE topic_id IN (SELECT id FROM topics WHERE short_name=…)).
Beispiel: fritz_guardian/device/<MAC>/online und .../offline beide auf
Kurzname baer_iphone_presence mit obigem value_map → eine durchgehende 0/1-Linie.
Pro-Extractor Storage-Override
[
{ "path": "$.power", "sub_key": "power",
"kind": "numeric", "factor": 100,
"storage_mode": "15min", "aggregation": "mean" },
{ "path": "$.energy_total", "sub_key": "energy_total",
"kind": "numeric", "factor": 1,
"storage_mode": "all" }
]
Power als Mittelwert pro 15-Min-Bucket, Energie als jeder geänderte Zählerstand.
Iteration über Listen
[
{ "iter": "$.devices[*]", "iter_key": "$.mac",
"path": "$.presence_state", "sub_key": "{iter_key}.status",
"kind": "numeric", "value_map":{"online":1,"offline":0},
"on_change": true }
]
Für jeden Eintrag in devices[] wird ein Sub-Key wie
C6:99:0D:F0:6F:C6.status angelegt.