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?
-
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.
-
@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 } -
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" } -
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.
-
{ "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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden