Shelly 3em pro - Entwicklung Flow/Json Daten (Stromwächter)

Ja sehr schön. Dann müssen im nächsten Schritt deine MQTT Werte von deinem Zähler da rein. Weisst du wie du das machst oder soll ich dir was vorbereiten? Bei letzterem müsste ich die MQTT topics wissen - am besten mit screenshot der werte ausm mqtt explorer oder sowas =)

Das Debug node war nur um zu sehen, ob etwas angefragt wird. Das brauchen wir nicht mehr.

Ich kann mir irgendwie nicht vorstellen das die Werte die ganze Zeit abgerufen werden.
Vielmehr würde ich denken das die einen MQTT Broker haben und dem Shelly via Setting einsetzen oder einen websocket.
Daher ist es schon wichtig was für eine Nachricht an den Shelly gesendet wird.

Näh, das war nur das debug ob auf diesem einen rpc call etwas ankommt. und genau dass sagt ja auch der support. Das ist also die einzige schnittstelle - und die anderen (bspw opendtu onbattery) nutzen ja auch nix anderes. Brauchen sie ja auch nicht - hier wirds ja nur benutzt um am besten die gesamtleistung der einspeisenden phase oder alternativ die des gesamtsystems abzurufen um zu vermeiden, dass die phase 1.5kw einspeisst und gleichzeitig 3kw zieht. garniert wird das dann mit einem rolling average (aka integral über p) um die kabelerwärmung bei unterstellten 1.5qmm (oder entsprechend dem schuko stecker) zu limitieren.

Also kein mqtt, kein script, kein WS - reines polling.

Was aber für den sparsamen betrieb nötig wäre - und das kann ich nicht - wäre ein kleines ESP32 script, dass einen reverse proxy macht. also auf port 80 nach webanfragen hört und diese umbiegt auf den node red im HA. Also wenn ein :80 mit nem GET / oder GET /status reinkommt, dass der umgebogen wird auf :1880 und GET /endpoint/ und /endpoint/status (also der esp fragt dann die andere addresse an und reicht zurück was er bekommt). weil dann reicht das script auf dem HA und der ESP…

Ich hatte beispielscripte dazu gesehen aber ich bin in der ESP programmierung echt nicht drin.

Alles okay :+1:
Ein polling ist trotzdem nicht sinnvoll für diesen Einsatz aber gut dann sei es so.
Wenn hier eine reine get Abfrage stattfindet dann ist es ein leichtest die Daten zu senden.
Mit dem ESP kennt sich @BetaTobi ja eigentlich aus.

1 „Gefällt mir“

Also die debug-node hatte ich dann mal auf „full“ gesetzt, da kam dann natürlich jede Menge an, aber, meiner Meinung nach, nichts neues.
Man konnte aber sehen, dass immer wieder mit GET /status abgefragt wird.
Falls Bedarf besteht, kann ich die Ausgabe aber natürlich hier auch mal posten (dann einfach melden).

MQTT-Daten werden im Netzwerk nicht gesendet (also nur die MQTT-Daten, die ich selbst schicke :slight_smile: ), aber keine neuen vom Stromwächter.
Jedenfalls seh ich im MQTT Explorer keine neuen bzw. unbekannten.

Wie ich meine MQTT-Zählerdaten in node-red einbaue, weiß ich.
Und eigentlich weiß ich auch, wie ich die dann im flow ersetzen kann.
Muss ich aber nochmal konkret ausprobieren, ansonsten komm ich auf dich (@Poolcat) zurück :slight_smile:

Mein Hauptthema ist aber grad eure angesprochene Weiterleitung des Port 80 auf den Port 1880 innerhalb HA.
Einen ESP kann ich dafür natürlich nutzen, wenn ihr dafür ein funktionierendes Beispiel habt, dann immer her damit. Dann geht es bei mir schneller :slight_smile:
Dabei ist es egal, ob „normales“ Script, z.B. für Arduino IDE oder ESPHome, oder sonst wie, das klappt normalerweise.
Weiß nur grad nicht, wie ich die „GET /status“ Abfragen abfangen und dann „umleiten“ kann.
Ein „normales“ Port-Forwarding wird dafür wohl nicht ausreichen.
Also wenn ihr da was habt, immer her damit :slight_smile:

Was mir dazu grad einfällt: Könnte sowas (also diese Portweiterleitung) nicht auch direkt innerhalb HA oder auf dem HA-System laufen können?
:thinking:

Wie oft wird denn ein get an Node red gesendet ?
Könntest nen esp mit MQTT laufen lassen und die werte entsprechend abonnieren und bei einem get an den esp diese dann weitersenden.

Wenn du mir nen paar Sachen zur Verfügung stellst dann kann ich ja mal nen Code für den esp schreiben.

Ca. 1x pro Sekunde.
Also super oft, wie ich finde.

Was brauchst du konkret? Dann such ich was zusammen.
MQTT-Topics? URLs?

Ich muss wissen wieviel topics du übergeben musst und dann brauche ich den get der angefragt wird. Und das was Shelly senden muss also den request und welcher Wert dort wo eingetragen werden soll. Die config kannst du selber vornehmen.
Also ip des Broker und die Pfade die abonniert werden müssen.

Alles klar, ich stell mal was zusammen.

Hey @Micha und @Poolcat

MQTT via ESP32 funktioniert schon mal.
Aber das war auch erstmal nur ein schneller Test, um zu prüfen, ob es nicht generell noch irgendwo hakt.

Für die restlichen Infos brauch ich noch etwas Zeit. So richtig fehlerfrei läuft es noch nicht, ich muss dafür erst noch einen Wechselrichter organisieren und anschließen, damit ich alles ausprobieren kann.

Ansonsten bräuchte ich dann doch noch Unterstützung bei der Weiterleitung der MQTT-Daten in der „change node“ von node-red.
Ich kann mich zwar mit dem MQTT-Broker verbinden und die Daten auslesen, allerdings weiß ich nicht, wie ich diese Daten dann so an die change-node übergebe, dass diese dort auch korrekt geändert werden.

Vermutlich muss ich die Ausgabe der MQTT-Node entsprechend definieren und dann in der change-node die korrekten Daten auswählen.
Aber ich weiß nicht, wie… :see_no_evil:
Könnt ihr mir da weiterhelfen?

Viele Grüße

Moin,
du vermischt gerade 2 Ansätze und solltest dich erst für einen entscheiden.

  1. Der ESP leitet eine webanfrage ankommend auf /status weiter, indem er woanders das ergebnis der anfrage abholt (nodered/endpoint/wasauchimmer) und zurück reicht. Die Logik ist hierbei im Nodered
  2. du bohrst den ESP auf das er deine MQTT Topics abhört und anschliessend das JSON generiert und auf eine webanfrage auf /status zurück reicht

Aktuell bist du schon relativ weit bei Ansatz 2 - also brauchst du jetzt nur noch einen Webserver auf dem ESP und etwas, dass dir die JSON erstellung dort vereinfacht. Da hat Micha mit Sicherheit irgendeine simple Bibliothek die das alles macht =)

1 „Gefällt mir“

Ja, nee :smiley:

Das waren jetzt mit Absicht zwei Punkte.

Der erste war nur eine Bestätigung, dass ESP mit MQTT generell läuft (und Micha und ich dann basierend darauf demnächst aufsetzen könnten).

Und der zweite war jetzt noch Versuch die „direkte“ Anbindung herzustellen.
Also ohne den ESP dazwischen, noch mit der direkten Verbindung mit node-red auf dem Notebook.

Das war vll. verwirrend geschrieben, sorry! :see_no_evil:

→ ich arbeite grad also erst noch an der „direkten“ Verbindung (ohne ESP), da ich erstmal die Basic-Funktionen sicherstellen möchte, bevor ich den „Umweg“ über den ESP gehe.

Wenn du für den „normalen“ node-red flow also noch ein Beispiel hast, mit dem ich die Shelly3EM-Daten („deine“) durch die MQTT-Daten ersetzen kann, dann hilfst du mir auf jeden Fall schon weiter.
Irgendwie klappt das mit dem msg.payload noch nicht so, wie ich mir das vorstelle… :-/

Ah jetzt ja! Scriptkiddie :wink:

Ich bau dir heute abend einen beispielflow für das merken u ändern der variablen =)

Edith sagt: wenn du kurz deine topics (alle relevanten) postest, passts auch etwas besser

3 „Gefällt mir“

Super, danke.

Die relevanten topics sind:
homeassistant/input_number/total_current_energy_use/state
homeassistant/input_number/aeotechem_total_voltage/state
homeassistant/input_number/aeotechem_total_current/state
homeassistant/input_number/aeotechem_current_1/state
homeassistant/input_number/aeotechem_current_2/state
homeassistant/input_number/aeotechem_current_3/state
homeassistant/input_number/aeotechem_voltage_1/state
homeassistant/input_number/aeotechem_voltage_2/state
homeassistant/input_number/aeotechem_voltage_3/state
homeassistant/input_number/aeotechem_power_1/state
homeassistant/input_number/aeotechem_power_2/state
homeassistant/input_number/.aeotechem_power_3/state
homeassistant/input_number/aeotechem_energy_1/state
homeassistant/input_number/aeotechem_energy_2/state
homeassistant/input_number/aeotechem_energy_3/state

Wobei sich der allererste auf den aktuellen Gesamtleistungsbedarf bezieht.
Da stimmt der Name eigentlich nicht, aber das ist „historisch gewachsen“ und das lass ich jetzt so :slight_smile:

ich weiss nicht was ‚energy‘ ganz unten soll - aber für die anderen würde es in etwa so aussehen :slight_smile:

[
    {
        "id": "9ad3fd4602a12d76",
        "type": "tab",
        "label": "Testflow Tobi",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "6aceedc17be08e59",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L1",
        "style": {
            "label": true
        },
        "nodes": [
            "1afcd6349e4359c3",
            "692e9aa6b1037468",
            "3b7f13e9f2a87e38",
            "b0874e0b014163e9",
            "2e56e080a57b949b",
            "13068166097c6cf7"
        ],
        "x": 34,
        "y": 39,
        "w": 492,
        "h": 162
    },
    {
        "id": "c8173d20860a765e",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L2",
        "style": {
            "label": true
        },
        "nodes": [
            "bfb6504a93d2b480",
            "43570f957e456c64",
            "d746f4e757909cc5",
            "a64d2ca2c3e25fd4",
            "75a0afd1c9913021",
            "0fb945702bbc1bc6"
        ],
        "x": 34,
        "y": 219,
        "w": 492,
        "h": 162
    },
    {
        "id": "6f4e7b17c6c1ba6d",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L3",
        "style": {
            "label": true
        },
        "nodes": [
            "32f562d90c3d6a74",
            "7109bae44a9b79f7",
            "e52f0a05f1e9e0be",
            "dd57b630287807fc",
            "540eaad780601fb6",
            "80320f105f9b242d"
        ],
        "x": 34,
        "y": 399,
        "w": 492,
        "h": 162
    },
    {
        "id": "134334529297137e",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "Totals",
        "style": {
            "label": true
        },
        "nodes": [
            "2092ee197907b4e9"
        ],
        "x": 594,
        "y": 239,
        "w": 272,
        "h": 82
    },
    {
        "id": "80fe7c43c7f3ef93",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "http",
        "style": {
            "label": true
        },
        "nodes": [
            "c8107088.37ef9",
            "4e8237da.b17dc8",
            "65401623.9abfe8",
            "f7d3e35a.082c2",
            "078793b6b8d58f69",
            "b9bd869d3852a6ce",
            "0470cfd21a4746e6",
            "de297cde72b6325b",
            "d232a2129163c178",
            "01312e5945340821"
        ],
        "x": 34,
        "y": 579,
        "w": 672,
        "h": 302
    },
    {
        "id": "c8107088.37ef9",
        "type": "http in",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "",
        "url": "/status",
        "method": "get",
        "upload": false,
        "swaggerDoc": "",
        "x": 130,
        "y": 620,
        "wires": [
            [
                "b9bd869d3852a6ce",
                "4e8237da.b17dc8"
            ]
        ]
    },
    {
        "id": "4e8237da.b17dc8",
        "type": "template",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "page",
        "field": "payload",
        "fieldType": "msg",
        "format": "json",
        "syntax": "mustache",
        "template": "{\n    \"wifi_sta\": {\n        \"connected\": true,\n        \"ssid\": \"WLAN\",\n        \"ip\": \"192.168.0.144\",\n        \"rssi\": -36\n    },\n    \"cloud\": {\n        \"enabled\": true,\n        \"connected\": true\n    },\n    \"mqtt\": {\n        \"connected\": false\n    },\n    \"time\": \"11:03\",\n    \"unixtime\": 1649754212,\n    \"serial\": 59968,\n    \"has_update\": true,\n    \"mac\": \"68C63AFB5737\",\n    \"cfg_changed_cnt\": 3,\n    \"actions_stats\": {\n        \"skipped\": 0\n    },\n    \"relays\": [\n        {\n            \"ison\": false,\n            \"has_timer\": false,\n            \"timer_started\": 0,\n            \"timer_duration\": 0,\n            \"timer_remaining\": 0,\n            \"overpower\": false,\n            \"is_valid\": true,\n            \"source\": \"http\"\n        }\n    ],\n    \"emeters\": [\n        {\n            \"power\": -1696.09,\n            \"pf\": -0.98,\n            \"current\": 7.33,\n            \"voltage\": 236.95,\n            \"is_valid\": true,\n            \"total\": 177173.9,\n            \"total_returned\": 542320.4\n        },\n        {\n            \"power\": -1679.18,\n            \"pf\": -0.98,\n            \"current\": 7.30,\n            \"voltage\": 234.63,\n            \"is_valid\": true,\n            \"total\": 186179.5,\n            \"total_returned\": 461668.3\n        },\n        {\n            \"power\": -1061.61,\n            \"pf\": -0.95,\n            \"current\": 4.76,\n            \"voltage\": 234.03,\n            \"is_valid\": true,\n            \"total\": 888586.5,\n            \"total_returned\": 183124.3\n        }\n    ],\n    \"total_power\": -4436.88,\n    \"fs_mounted\": true,\n    \"update\": {\n        \"status\": \"pending\",\n        \"has_update\": true,\n        \"new_version\": \"20220324-123835/v1.11.8-3EM-fix-g0014dcb\",\n        \"old_version\": \"20210909-150410/v1.11.4-DNSfix-ge6b2f6d\"\n    },\n    \"ram_total\": 49440,\n    \"ram_free\": 30132,\n    \"fs_size\": 233681,\n    \"fs_free\": 154867,\n    \"uptime\": 7890250\n}",
        "output": "json",
        "x": 130,
        "y": 680,
        "wires": [
            [
                "078793b6b8d58f69"
            ]
        ]
    },
    {
        "id": "65401623.9abfe8",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "Set Headers",
        "rules": [
            {
                "t": "set",
                "p": "headers",
                "pt": "msg",
                "to": "{}",
                "tot": "json"
            },
            {
                "t": "set",
                "p": "headers.content-type",
                "pt": "msg",
                "to": "application/json",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 430,
        "y": 840,
        "wires": [
            [
                "f7d3e35a.082c2"
            ]
        ]
    },
    {
        "id": "f7d3e35a.082c2",
        "type": "http response",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "http-out",
        "statusCode": "",
        "headers": {},
        "x": 620,
        "y": 840,
        "wires": []
    },
    {
        "id": "078793b6b8d58f69",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L1",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[0].current",
                "pt": "msg",
                "to": "aeotechem_current_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[0].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[0].power",
                "pt": "msg",
                "to": "aeotechem_power_1",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 180,
        "y": 720,
        "wires": [
            [
                "0470cfd21a4746e6"
            ]
        ]
    },
    {
        "id": "b9bd869d3852a6ce",
        "type": "debug",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "GET /status",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 470,
        "y": 620,
        "wires": []
    },
    {
        "id": "1afcd6349e4359c3",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_current_1",
        "topic": "homeassistant/input_number/input_number.aeotechem_current_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 80,
        "wires": [
            [
                "b0874e0b014163e9"
            ]
        ]
    },
    {
        "id": "692e9aa6b1037468",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_voltage_1",
        "topic": "homeassistant/input_number/input_number.aeotechem_voltage_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 120,
        "wires": [
            [
                "2e56e080a57b949b"
            ]
        ]
    },
    {
        "id": "3b7f13e9f2a87e38",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_power_1",
        "topic": "homeassistant/input_number/input_number.aeotechem_power_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 160,
        "wires": [
            [
                "13068166097c6cf7"
            ]
        ]
    },
    {
        "id": "b0874e0b014163e9",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_current_1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_current_1",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "2e56e080a57b949b",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_voltage_1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_voltage_1",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "13068166097c6cf7",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_power_1",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_power_1",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 160,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "bfb6504a93d2b480",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_current_2",
        "topic": "homeassistant/input_number/input_number.aeotechem_current_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 260,
        "wires": [
            [
                "a64d2ca2c3e25fd4"
            ]
        ]
    },
    {
        "id": "43570f957e456c64",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_voltage_2",
        "topic": "homeassistant/input_number/input_number.aeotechem_voltage_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 300,
        "wires": [
            [
                "75a0afd1c9913021"
            ]
        ]
    },
    {
        "id": "d746f4e757909cc5",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_power_2",
        "topic": "homeassistant/input_number/input_number.aeotechem_power_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 340,
        "wires": [
            [
                "0fb945702bbc1bc6"
            ]
        ]
    },
    {
        "id": "a64d2ca2c3e25fd4",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_current_2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_current_2",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 260,
        "wires": [
            []
        ]
    },
    {
        "id": "75a0afd1c9913021",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_voltage_2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_voltage_2",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 300,
        "wires": [
            []
        ]
    },
    {
        "id": "0fb945702bbc1bc6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_power_2",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_power_2",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 340,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "32f562d90c3d6a74",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_current_3",
        "topic": "homeassistant/input_number/input_number.aeotechem_current_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 440,
        "wires": [
            [
                "dd57b630287807fc"
            ]
        ]
    },
    {
        "id": "7109bae44a9b79f7",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_voltage_3",
        "topic": "homeassistant/input_number/input_number.aeotechem_voltage_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 480,
        "wires": [
            [
                "540eaad780601fb6"
            ]
        ]
    },
    {
        "id": "e52f0a05f1e9e0be",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_power_3",
        "topic": "homeassistant/input_number/input_number.aeotechem_power_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 520,
        "wires": [
            [
                "80320f105f9b242d"
            ]
        ]
    },
    {
        "id": "dd57b630287807fc",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_current_3",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_current_3",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 440,
        "wires": [
            []
        ]
    },
    {
        "id": "540eaad780601fb6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_voltage_3",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_voltage_3",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 480,
        "wires": [
            []
        ]
    },
    {
        "id": "80320f105f9b242d",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_power_3",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "aeotechem_power_3",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 520,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "2092ee197907b4e9",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "134334529297137e",
        "name": "aeotechem_total_power",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_power_1",
                "pt": "msg",
                "to": "aeotechem_power_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_power_2",
                "pt": "msg",
                "to": "aeotechem_power_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_power_3",
                "pt": "msg",
                "to": "aeotechem_power_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_total_power",
                "pt": "flow",
                "to": "(msg.aeotechem_power_1 + msg.aeotechem_power_2 + msg.aeotechem_power_3)",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 730,
        "y": 280,
        "wires": [
            []
        ]
    },
    {
        "id": "0470cfd21a4746e6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L2",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[1].current",
                "pt": "msg",
                "to": "aeotechem_current_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[1].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[1].power",
                "pt": "msg",
                "to": "aeotechem_power_2",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 200,
        "y": 760,
        "wires": [
            [
                "de297cde72b6325b"
            ]
        ]
    },
    {
        "id": "de297cde72b6325b",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L3",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[2].current",
                "pt": "msg",
                "to": "aeotechem_current_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[2].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[2].power",
                "pt": "msg",
                "to": "aeotechem_power_3",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 220,
        "y": 800,
        "wires": [
            [
                "d232a2129163c178"
            ]
        ]
    },
    {
        "id": "d232a2129163c178",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update Totals",
        "rules": [
            {
                "t": "set",
                "p": "payload.total_power",
                "pt": "msg",
                "to": "aeotechem_total_power",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 250,
        "y": 840,
        "wires": [
            [
                "65401623.9abfe8",
                "01312e5945340821"
            ]
        ]
    },
    {
        "id": "01312e5945340821",
        "type": "debug",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "JSON out",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 500,
        "y": 740,
        "wires": []
    }
]

Hey, super, vielen Dank!

Ich hatte in meinen topics noch einen copy&paste Fehler → hab ich aber behoben und in meiner vorherigen Nachricht noch editiert.

Die „energy“-topics sind die Rückgabewerte der Gesamtenergie in kWh (aber die brauchen wir für den Shelly3EM glaub ich gar nicht…).

Ich hab deinen Flow grad mal eingebaut.
Sehr schön aufgeräumt übrigens :slight_smile: :+1:

Jetzt hab ich aber festgestellt, dass die Werte, die wir austauschen wollen, verschwinden.
Also die Werte werden nicht ausgetauscht, sondern entfernt.

Hab es mal im Screenshot verdeutlich.
Blau: VOR dem Austausch der Werte.
Rot: NACH dem Austausch der Werte.

Das liegt glaub ich daran, dass nach dem allerersten Übergabe des MQTT-Werts in die „flow.-Variable“ ein „undefined“ zurückgegeben wird.
Hab es hier mit den debug-nodes nochmal dargestellt:

Irgendwas funktioniert mit der change-node nicht korrekt.
image

Hast du eine Idee?

Huch, die change nodes die die Werte setzen sind falsch rum; so wärs richtig. Mach ich mal eben per ‚suchen ersetzen‘ im json. mom
image

1 „Gefällt mir“

Büddeschön

Edit - habe kurz noch die topics geändert =)

[
    {
        "id": "9ad3fd4602a12d76",
        "type": "tab",
        "label": "Testflow Tobi",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "6aceedc17be08e59",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L1",
        "style": {
            "label": true
        },
        "nodes": [
            "1afcd6349e4359c3",
            "692e9aa6b1037468",
            "3b7f13e9f2a87e38",
            "b0874e0b014163e9",
            "2e56e080a57b949b",
            "13068166097c6cf7"
        ],
        "x": 34,
        "y": 39,
        "w": 492,
        "h": 162
    },
    {
        "id": "c8173d20860a765e",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L2",
        "style": {
            "label": true
        },
        "nodes": [
            "bfb6504a93d2b480",
            "43570f957e456c64",
            "d746f4e757909cc5",
            "a64d2ca2c3e25fd4",
            "75a0afd1c9913021",
            "0fb945702bbc1bc6"
        ],
        "x": 34,
        "y": 219,
        "w": 492,
        "h": 162
    },
    {
        "id": "6f4e7b17c6c1ba6d",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "L3",
        "style": {
            "label": true
        },
        "nodes": [
            "32f562d90c3d6a74",
            "7109bae44a9b79f7",
            "e52f0a05f1e9e0be",
            "dd57b630287807fc",
            "540eaad780601fb6",
            "80320f105f9b242d"
        ],
        "x": 34,
        "y": 399,
        "w": 492,
        "h": 162
    },
    {
        "id": "134334529297137e",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "Totals",
        "style": {
            "label": true
        },
        "nodes": [
            "2092ee197907b4e9"
        ],
        "x": 594,
        "y": 239,
        "w": 272,
        "h": 82
    },
    {
        "id": "80fe7c43c7f3ef93",
        "type": "group",
        "z": "9ad3fd4602a12d76",
        "name": "http",
        "style": {
            "label": true
        },
        "nodes": [
            "c8107088.37ef9",
            "4e8237da.b17dc8",
            "65401623.9abfe8",
            "f7d3e35a.082c2",
            "078793b6b8d58f69",
            "b9bd869d3852a6ce",
            "0470cfd21a4746e6",
            "de297cde72b6325b",
            "d232a2129163c178",
            "01312e5945340821"
        ],
        "x": 34,
        "y": 579,
        "w": 672,
        "h": 302
    },
    {
        "id": "c8107088.37ef9",
        "type": "http in",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "",
        "url": "/status",
        "method": "get",
        "upload": false,
        "swaggerDoc": "",
        "x": 130,
        "y": 620,
        "wires": [
            [
                "b9bd869d3852a6ce",
                "4e8237da.b17dc8"
            ]
        ]
    },
    {
        "id": "4e8237da.b17dc8",
        "type": "template",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "page",
        "field": "payload",
        "fieldType": "msg",
        "format": "json",
        "syntax": "mustache",
        "template": "{\n    \"wifi_sta\": {\n        \"connected\": true,\n        \"ssid\": \"WLAN\",\n        \"ip\": \"192.168.0.144\",\n        \"rssi\": -36\n    },\n    \"cloud\": {\n        \"enabled\": true,\n        \"connected\": true\n    },\n    \"mqtt\": {\n        \"connected\": false\n    },\n    \"time\": \"11:03\",\n    \"unixtime\": 1649754212,\n    \"serial\": 59968,\n    \"has_update\": true,\n    \"mac\": \"68C63AFB5737\",\n    \"cfg_changed_cnt\": 3,\n    \"actions_stats\": {\n        \"skipped\": 0\n    },\n    \"relays\": [\n        {\n            \"ison\": false,\n            \"has_timer\": false,\n            \"timer_started\": 0,\n            \"timer_duration\": 0,\n            \"timer_remaining\": 0,\n            \"overpower\": false,\n            \"is_valid\": true,\n            \"source\": \"http\"\n        }\n    ],\n    \"emeters\": [\n        {\n            \"power\": -1696.09,\n            \"pf\": -0.98,\n            \"current\": 7.33,\n            \"voltage\": 236.95,\n            \"is_valid\": true,\n            \"total\": 177173.9,\n            \"total_returned\": 542320.4\n        },\n        {\n            \"power\": -1679.18,\n            \"pf\": -0.98,\n            \"current\": 7.30,\n            \"voltage\": 234.63,\n            \"is_valid\": true,\n            \"total\": 186179.5,\n            \"total_returned\": 461668.3\n        },\n        {\n            \"power\": -1061.61,\n            \"pf\": -0.95,\n            \"current\": 4.76,\n            \"voltage\": 234.03,\n            \"is_valid\": true,\n            \"total\": 888586.5,\n            \"total_returned\": 183124.3\n        }\n    ],\n    \"total_power\": -4436.88,\n    \"fs_mounted\": true,\n    \"update\": {\n        \"status\": \"pending\",\n        \"has_update\": true,\n        \"new_version\": \"20220324-123835/v1.11.8-3EM-fix-g0014dcb\",\n        \"old_version\": \"20210909-150410/v1.11.4-DNSfix-ge6b2f6d\"\n    },\n    \"ram_total\": 49440,\n    \"ram_free\": 30132,\n    \"fs_size\": 233681,\n    \"fs_free\": 154867,\n    \"uptime\": 7890250\n}",
        "output": "json",
        "x": 130,
        "y": 680,
        "wires": [
            [
                "078793b6b8d58f69"
            ]
        ]
    },
    {
        "id": "65401623.9abfe8",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "Set Headers",
        "rules": [
            {
                "t": "set",
                "p": "headers",
                "pt": "msg",
                "to": "{}",
                "tot": "json"
            },
            {
                "t": "set",
                "p": "headers.content-type",
                "pt": "msg",
                "to": "application/json",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 430,
        "y": 840,
        "wires": [
            [
                "f7d3e35a.082c2"
            ]
        ]
    },
    {
        "id": "f7d3e35a.082c2",
        "type": "http response",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "http-out",
        "statusCode": "",
        "headers": {},
        "x": 620,
        "y": 840,
        "wires": []
    },
    {
        "id": "078793b6b8d58f69",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L1",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[0].current",
                "pt": "msg",
                "to": "aeotechem_current_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[0].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[0].power",
                "pt": "msg",
                "to": "aeotechem_power_1",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 180,
        "y": 720,
        "wires": [
            [
                "0470cfd21a4746e6"
            ]
        ]
    },
    {
        "id": "b9bd869d3852a6ce",
        "type": "debug",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "GET /status",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 470,
        "y": 620,
        "wires": []
    },
    {
        "id": "1afcd6349e4359c3",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_current_1",
        "topic": "homeassistant/input_number/aeotechem_current_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 80,
        "wires": [
            [
                "b0874e0b014163e9"
            ]
        ]
    },
    {
        "id": "692e9aa6b1037468",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_voltage_1",
        "topic": "homeassistant/input_number/aeotechem_voltage_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 120,
        "wires": [
            [
                "2e56e080a57b949b"
            ]
        ]
    },
    {
        "id": "3b7f13e9f2a87e38",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_power_1",
        "topic": "homeassistant/input_number/aeotechem_power_1/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 160,
        "wires": [
            [
                "13068166097c6cf7"
            ]
        ]
    },
    {
        "id": "b0874e0b014163e9",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_current_1",
        "rules": [
            {
                "t": "set",
                "to": "payload",
                "tot": "msg",
                "p": "aeotechem_current_1",
                "pt": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "2e56e080a57b949b",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_voltage_1",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_voltage_1",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "13068166097c6cf7",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6aceedc17be08e59",
        "name": "aeotechem_power_1",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_power_1",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 160,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "bfb6504a93d2b480",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_current_2",
        "topic": "homeassistant/input_number/aeotechem_current_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 260,
        "wires": [
            [
                "a64d2ca2c3e25fd4"
            ]
        ]
    },
    {
        "id": "43570f957e456c64",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_voltage_2",
        "topic": "homeassistant/input_number/aeotechem_voltage_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 300,
        "wires": [
            [
                "75a0afd1c9913021"
            ]
        ]
    },
    {
        "id": "d746f4e757909cc5",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_power_2",
        "topic": "homeassistant/input_number/aeotechem_power_2/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 340,
        "wires": [
            [
                "0fb945702bbc1bc6"
            ]
        ]
    },
    {
        "id": "a64d2ca2c3e25fd4",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_current_2",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_current_2",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 260,
        "wires": [
            []
        ]
    },
    {
        "id": "75a0afd1c9913021",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_voltage_2",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_voltage_2",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 300,
        "wires": [
            []
        ]
    },
    {
        "id": "0fb945702bbc1bc6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "c8173d20860a765e",
        "name": "aeotechem_power_2",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_power_2",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 340,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "32f562d90c3d6a74",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_current_3",
        "topic": "homeassistant/input_number/aeotechem_current_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 440,
        "wires": [
            [
                "dd57b630287807fc"
            ]
        ]
    },
    {
        "id": "7109bae44a9b79f7",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_voltage_3",
        "topic": "homeassistant/input_number/aeotechem_voltage_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 480,
        "wires": [
            [
                "540eaad780601fb6"
            ]
        ]
    },
    {
        "id": "e52f0a05f1e9e0be",
        "type": "mqtt in",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_power_3",
        "topic": "homeassistant/input_number/aeotechem_power_3/state",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 520,
        "wires": [
            [
                "80320f105f9b242d"
            ]
        ]
    },
    {
        "id": "dd57b630287807fc",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_current_3",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_current_3",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 440,
        "wires": [
            []
        ]
    },
    {
        "id": "540eaad780601fb6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_voltage_3",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_voltage_3",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 480,
        "wires": [
            []
        ]
    },
    {
        "id": "80320f105f9b242d",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "6f4e7b17c6c1ba6d",
        "name": "aeotechem_power_3",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_power_3",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 520,
        "wires": [
            [
                "2092ee197907b4e9"
            ]
        ]
    },
    {
        "id": "2092ee197907b4e9",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "134334529297137e",
        "name": "aeotechem_total_power",
        "rules": [
            {
                "t": "set",
                "p": "aeotechem_power_1",
                "pt": "msg",
                "to": "aeotechem_power_1",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_power_2",
                "pt": "msg",
                "to": "aeotechem_power_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_power_3",
                "pt": "msg",
                "to": "aeotechem_power_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "aeotechem_total_power",
                "pt": "flow",
                "to": "(msg.aeotechem_power_1 + msg.aeotechem_power_2 + msg.aeotechem_power_3)",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 730,
        "y": 280,
        "wires": [
            []
        ]
    },
    {
        "id": "0470cfd21a4746e6",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L2",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[1].current",
                "pt": "msg",
                "to": "aeotechem_current_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[1].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_2",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[1].power",
                "pt": "msg",
                "to": "aeotechem_power_2",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 200,
        "y": 760,
        "wires": [
            [
                "de297cde72b6325b"
            ]
        ]
    },
    {
        "id": "de297cde72b6325b",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update L3",
        "rules": [
            {
                "t": "set",
                "p": "payload.emeters[2].current",
                "pt": "msg",
                "to": "aeotechem_current_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[2].voltage",
                "pt": "msg",
                "to": "aeotechem_voltage_3",
                "tot": "flow"
            },
            {
                "t": "set",
                "p": "payload.emeters[2].power",
                "pt": "msg",
                "to": "aeotechem_power_3",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 220,
        "y": 800,
        "wires": [
            [
                "d232a2129163c178"
            ]
        ]
    },
    {
        "id": "d232a2129163c178",
        "type": "change",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "update Totals",
        "rules": [
            {
                "t": "set",
                "p": "payload.total_power",
                "pt": "msg",
                "to": "aeotechem_total_power",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 250,
        "y": 840,
        "wires": [
            [
                "65401623.9abfe8",
                "01312e5945340821"
            ]
        ]
    },
    {
        "id": "01312e5945340821",
        "type": "debug",
        "z": "9ad3fd4602a12d76",
        "g": "80fe7c43c7f3ef93",
        "name": "JSON out",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 500,
        "y": 740,
        "wires": []
    }
]
4 „Gefällt mir“

Was ein Service :slight_smile:
Besten Dank :slight_smile:

Ich probier es aus, sobald ich wieder vor dem PC sitze :slight_smile:

3 „Gefällt mir“