NEWS
MQTT -> Alias
-
Wenn ich z.B. einen Shelly über MQTT einbinde wird für die wichtigen Zustände wie Relay.on ein eeigenes Topic erstellt, aber z.B. die IP ist in einem JSON. Wie bekomme ich aus einem JSON einen bestimmten Wert in ein Alias?
-
@wolfgangfb sagte: Wie bekomme ich aus einem JSON einen bestimmten Wert in ein Alias?
Per Lesekonvertierung. Wie diese aussehen muss, hängt vom JSON ab.
-
Z.B.
mqtt.1.shellies.shelly1-115E24.info ist, wie bekomme ich das den Wert von RSSI in ein Alias?
{ "wifi_sta": { "connected": true, "ssid": "Heldenhaus-EG", "ip": "192.168.1.243", "rssi": -61 }, "cloud": { "enabled": false, "connected": false }, "mqtt": { "connected": true }, "time": "", "unixtime": 0, "serial": 1, "has_update": false, "mac": "C82B96115E24", "cfg_changed_cnt": 0, "actions_stats": { "skipped": 0 }, "relays": [ { "ison": false, "has_timer": false, "timer_started": 0, "timer_duration": 0, "timer_remaining": 0, "source": "input" } ], "meters": [ { "power": 0, "is_valid": true } ], "inputs": [ { "input": 1, "event": "", "event_cnt": 0 } ], "ext_sensors": {}, "ext_temperature": {}, "ext_humidity": {}, "update": { "status": "unknown", "has_update": false, "new_version": "", "old_version": "20230913-112003/v1.14.0-gcb84623" }, "ram_total": 51688, "ram_free": 38436, "fs_size": 233681, "fs_free": 149345, "uptime": 1 }
-
-
Ich möchte mir in alias.0.xxx einen Aliasdatenpunkt mit der Signalstärke erstellem, dort kann ich nur eine ID eingeben. Wie kann ich da ein json aus einer anderen ID parsen? Ich verstehe die Syntax nicht. Kannst Du mir ein Beispiel nenne was ich da bei "alias -> id" eintrage?
{ "type": "state", "common": { "name": "WiFi Signal", "type": "number", "role": "value", "unit": "dBm", "read": true, "write": false, "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNTQ0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek00MTYgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDIyNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTE2MCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgNDE2djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiIvPjwvc3ZnPg==", "alias": { "id": "shelly.0.SHSW-1#116155#1.rssi" }, "desc": "per Script erstellt" }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1699817295149, "_id": "alias.0.Raum.Arbeit.Licht.Decke.Signal", "acl": { "object": 1636, "state": 1636, "file": 1632, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }
-
{ "type": "state", "common": { "name": "WiFi Signal", "type": "number", "role": "value", "unit": "dBm", "read": true, "write": false, "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNTQ0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek00MTYgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDIyNFY0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJWMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTE2MCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJWNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgNDE2djY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyVjQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiIvPjwvc3ZnPg==", "alias": { "id": "mqtt.1.shellies.shelly1-115e24.info", "read": "JSON.parse(val).wifi_sta.rssi" }, "desc": "per Script erstellt" },
Oder gibt es den Datenpunkt "shelly.0.SHSW-1#116155#1.rssi" vom Typ "number"? Dann muss man nichts konvertieren.
-
Danke, super, diese Methode kannte ich noch nicht.