Wechselrichter über die Solaranzeige mit Venus OS verknüpfen

PDF Dokumente für Informationen im Detail, sowie Bauanleitungen. Alles, was man wissen sollte. Bei Fragen, bitte erst einmal hier vorbeischauen.

Moderator: Ulrich

Ruhz69
Beiträge: 76
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 11 Mal
Danksagung erhalten: 4 Mal

Wechselrichter über die Solaranzeige mit Venus OS verknüpfen

Beitrag von Ruhz69 »

Hallo,

mein Start bei der Solaranlage war ein System, das ich als Paket installiert bekommen habe:
Victron Cerbo GX mit Multiplus und ET340 als Zähler für den Cerbo, dazu ein chinesischer Wechselrichter.

Der Wechselrichter war nicht im Victron Sytem eingebunden und im VRM (Victron) Portal stimmte nicht einmal mein Verbrauch.
Inzwischen bietet Victron sogar ein ESS System mit PV Vorhersage an, das konnte mein System aber nicht nutzen. Ich weiss nicht, wie das ESS System funktioniert, aber Venus OS hat jetzt Node Red als Erweiterung installiert, so dass man selber ohne grosse Programmierkenntnisse (wie ich) kleine Abhängigkeiten programmieren kann. Mein Anlage speist bis 9:30 Uhr ein, wenn die Vorhersage über 25 kWh und die Batterie über 25%SOC hat. Dann startet erst die Ladung der Batterie.

Für solche Systeme habe ich jetzt eine Lösung gefunden. über MQTT kann man jeden Wechselrichter, der in der Solaranzeige läuft jetzt in das Venus OS System des Cerbo GX einbinden.

In dem verlinkten Youtube Video wird das erklärt, vielen Dank dafür, falls du mal vorbeikommst. Leider hat Matthias sein Node System nicht geteilt. Ich habe das jetzt nachgebastelt, wobei ich einige Sachen anders ans laufen gebracht habe, z.B. weil Inzwischen Venus OS den MQTTBroker auf flash MQ umgestellt hat. Einen Zähler einzubinden habe ich nicht probiert.

https://www.youtube.com/watch?v=QTDAZXycTlk

https://haus-automatisierung.com/batter ... ieren.html

https://github.com/victronenergy/dbus-flashmq

Das muss man erst erledigen und das dauert auch ein bisschen.
Im Gegensatz zu dem Video und zur Anleitung download/MQTT%20Informationen%20zur%20Solaranzeige.pdf) muss man in der Solaranzeige in der user config einen $MQTTBenutzer eingeben. wer es sich einfach macht gibt "solaraz" ein, das steht schon in meinen Nodes (unter Sicherheit)
Sonst muss der user in den MQTT nodes dem in der Solaranzeige entsprechen.

Was nicht funktioneirt hat, war die Portal ID und die client ID aus der MQTT Antwort von Venus OS herauszulesen. Ich bin kein Fachmann, die Node ist deaktiviert mit angehängt, vielleicht findet sich jemand, der den Fehler findet. Der Vorteil wäre, dass die Node dann direkt bei jedem funktionieren würde.

Zu Fuss muss man die Anmeldung einmal auslösen und den deploy tab öffnen, dann erhält man so eine Antwort

Code: Alles auswählen

10.6.2024, 11:33:30node: debug 10
device/wr001/DBus : msg : Object

object

topic: "device/wr001/DBus"

payload: object

portalId: "102Portid932"

deviceInstance: object

wr1: 1

N: "N/102Portid932/pvinverter/1"

R: "R/102Portid932/pvinverter/1"

W: "W/102Portid932/pvinverter/1"

Ihr benötigt die "portalId" hier "102portid932" die muss in die MQTT Node Package an Konsole Handeintrag eingetragen werden.
Eintrag Portal ID
Eintrag Portal ID
Jetzt gibt es ein paar bugs, die aus dem Wechselrichterauslesen stammen. Mein Sofar solar gibt keine AC_Leistung aus, bei mir entspricht aber die PV1_Leistung der AC_Leistung deswegen ist der erste Transfer eigentlich falsch. Mein zweiter Wechselichter gibt AC seitig nur die Leistung pro Phase aus, die summiere ich dann. Diesen Teil habe ich als deaktivierte Nodes unten anghängt. Der Sofar Solar zeigt auch die einzelnen AC_Leistungen nicht richtig an. Ich wollte das erst aus den Strömen rechnen, aber der minimlae Strom ist 1 A, so dass die Leistung Nachts bei 600 W liegen würde. Da habe ich lieber die Leistung durch 3 geteilt.
Das VRM Portal benötigt:
AC Leistung gesammt (W)
AC Leistung pro Phase (W)
Tagesleistung (kWh)
Angezeigt werden noch AC Strom und AC Spannung pro Phase, ich glaube damit rechnet aber Venus OS nicht.
Tagesleistung pro phase würde angezeigt, die habe ich mir gespart zu berechnen.

Es ist sicher sinnvoll die MQTT Ausgabe der Solaranzeige gemäss Anleitung anzuzeigen und zu schauen, ob die Werte unter dem richtigen Namen ausgegeben werden.

Code: Alles auswählen

[
    {
        "id": "dbdfdb3263610c35",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/pv1_leistung",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 420,
        "wires": [
            [
                "6d407910187e9186",
                "175fad480898fa73"
            ]
        ]
    },
    {
        "id": "6d407910187e9186",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 46",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 360,
        "wires": []
    },
    {
        "id": "988a75389b4a86bc",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "device/wr001/DBus",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "b5364c87f6dcb084",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 150,
        "y": 140,
        "wires": [
            [
                "3271b3e087b76736",
                "2a66f8e951109527",
                "e3a932cbab87eeb5"
            ]
        ]
    },
    {
        "id": "9ae95fc00f63475d",
        "type": "inject",
        "z": "b51bd4db96dead7a",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": "1",
        "topic": "",
        "payload": "{\"clientId\":\"wr001\",\"connected\":1,\"version\":\"v1.0\",\"services\":{\"wr1\":\"pvinverter\"}}",
        "payloadType": "json",
        "x": 130,
        "y": 260,
        "wires": [
            [
                "42592c4255f810a2"
            ]
        ]
    },
    {
        "id": "3271b3e087b76736",
        "type": "switch",
        "z": "b51bd4db96dead7a",
        "name": "Check Portal ID",
        "property": "payload.portalId",
        "propertyType": "msg",
        "rules": [
            {
                "t": "nnull"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 1,
        "x": 460,
        "y": 140,
        "wires": [
            [
                "9f0748a686a887b2"
            ]
        ]
    },
    {
        "id": "2a66f8e951109527",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 47",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 480,
        "y": 80,
        "wires": []
    },
    {
        "id": "9f0748a686a887b2",
        "type": "change",
        "z": "b51bd4db96dead7a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "portalId",
                "pt": "flow",
                "to": "payload.portalId",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 670,
        "y": 140,
        "wires": [
            [
                "e84cdb0679cf7401"
            ]
        ]
    },
    {
        "id": "e7435d7f24c88c75",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Paket an Konole ID-Handeintrag ",
        "func": "const portalId = flow.get('portalId');\n//const serviceID = flow.get('serviceId');\n\nif (portalId) {\n    msg.payload = { value: msg.payload };\n    msg.topic = `W/102portalID932/pvinverter/1/${msg.attribute}`;\n    \n    return [msg, null];\n} else {\n    msg.error = 'Not ready';\n    return [null, msg];\n}\n",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 950,
        "y": 980,
        "wires": [
            [
                "f31485bd9bdfbd25",
                "54a2acf1be8531d8"
            ]
        ]
    },
    {
        "id": "f31485bd9bdfbd25",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 48",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 1180,
        "y": 860,
        "wires": []
    },
    {
        "id": "175fad480898fa73",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Power",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 420,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "54a2acf1be8531d8",
        "type": "mqtt out",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b5364c87f6dcb084",
        "x": 1170,
        "y": 980,
        "wires": []
    },
    {
        "id": "42592c4255f810a2",
        "type": "mqtt out",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "device/wr001/Status",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b5364c87f6dcb084",
        "x": 460,
        "y": 260,
        "wires": []
    },
    {
        "id": "e3a932cbab87eeb5",
        "type": "switch",
        "z": "b51bd4db96dead7a",
        "name": "Check Service ID",
        "property": "payload.deviceInstance.wr1",
        "propertyType": "msg",
        "rules": [
            {
                "t": "nnull"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 1,
        "x": 470,
        "y": 200,
        "wires": [
            [
                "ec44fe29d4e1f21f"
            ]
        ]
    },
    {
        "id": "ec44fe29d4e1f21f",
        "type": "change",
        "z": "b51bd4db96dead7a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "serviceId1",
                "pt": "flow",
                "to": "payload.serviceInstance.wr1",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 680,
        "y": 200,
        "wires": [
            [
                "f7b0b1b1a4d3c747"
            ]
        ]
    },
    {
        "id": "f7b0b1b1a4d3c747",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 49",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 880,
        "y": 200,
        "wires": []
    },
    {
        "id": "e84cdb0679cf7401",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 50",
        "active": true,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 880,
        "y": 140,
        "wires": []
    },
    {
        "id": "925149b90efda3b4",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Volatge-R_L1",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} V` });\n\nmsg.attribute = 'Ac/L1/Voltage';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 680,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "e7f3bea2cd746109",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Volatge-S_L2",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} V` });\n\nmsg.attribute = 'Ac/L2/Voltage';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 840,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "090ebac3d6432cf9",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Volatge-T_L3",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} V` });\n\nmsg.attribute = 'Ac/L3/Voltage';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 1020,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "80599d603cdaaae6",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Power-R_L1",
        "func": "msg.payload /= 3;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L1/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 1200,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "7c64181ed3b8e768",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Power-S_L2",
        "func": "msg.payload /= 3;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L2/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 1360,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "8c14d8942727f9ce",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Power-T_L3",
        "func": "msg.payload /= 3;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L3/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 1540,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "17a45e37f82881d9",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Strom-R_L1",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} A` });\n\nmsg.attribute = 'Ac/L1/Current';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 1740,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "51f43c4111b52956",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Strom-S_L2",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} A` });\n\nmsg.attribute = 'Ac/L2/Current';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 1920,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "99a6815bf38d0384",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac-Strom-T_L3",
        "func": "//msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} A` });\n\nmsg.attribute = 'Ac/L3/Current';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 2100,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "2b76bb0983f21941",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_spannung_r",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 220,
        "y": 680,
        "wires": [
            [
                "7cb6fb93ce4f679d",
                "925149b90efda3b4"
            ]
        ]
    },
    {
        "id": "9566f19e5faabd5f",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_spannung_s",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 220,
        "y": 840,
        "wires": [
            [
                "289a7c353c6f79ed",
                "e7f3bea2cd746109"
            ]
        ]
    },
    {
        "id": "0e2834f3c41a1661",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_spannung_t",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 220,
        "y": 1020,
        "wires": [
            [
                "acddfaead1829fe4",
                "090ebac3d6432cf9"
            ]
        ]
    },
    {
        "id": "6c86601f481bcbd6",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "Leistung_r gerechnet",
        "topic": "solaranzeige/box1/pv1_leistung",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 180,
        "y": 1200,
        "wires": [
            [
                "f40ec7b0de6e7f0d",
                "80599d603cdaaae6"
            ]
        ]
    },
    {
        "id": "d96538b3f2e4c3ce",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "Leistung_s gerechnet",
        "topic": "solaranzeige/box1/pv1_leistung",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 180,
        "y": 1360,
        "wires": [
            [
                "1f4506e8f88abfb2",
                "7c64181ed3b8e768"
            ]
        ]
    },
    {
        "id": "43791c9010009e35",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "Leistung_t gerechnet",
        "topic": "solaranzeige/box1/pv1_leistung",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 180,
        "y": 1540,
        "wires": [
            [
                "a9a2bdf3a7416e4e",
                "8c14d8942727f9ce"
            ]
        ]
    },
    {
        "id": "24e9c345af14e653",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_strom_r",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 200,
        "y": 1740,
        "wires": [
            [
                "c6fb014eeec61daf",
                "17a45e37f82881d9"
            ]
        ]
    },
    {
        "id": "9b4821c3ea47e0a0",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_strom_s",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 210,
        "y": 1920,
        "wires": [
            [
                "d287a9c59b8b867b",
                "51f43c4111b52956"
            ]
        ]
    },
    {
        "id": "0ad3cecc7b7bac78",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_strom_t",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 200,
        "y": 2100,
        "wires": [
            [
                "8b6d2ee11bd4ae38",
                "99a6815bf38d0384"
            ]
        ]
    },
    {
        "id": "7cb6fb93ce4f679d",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 51",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 620,
        "wires": []
    },
    {
        "id": "289a7c353c6f79ed",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 52",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 780,
        "wires": []
    },
    {
        "id": "acddfaead1829fe4",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 53",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 960,
        "wires": []
    },
    {
        "id": "f40ec7b0de6e7f0d",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 54",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 1140,
        "wires": []
    },
    {
        "id": "e4da0f12902be428",
        "type": "join",
        "z": "b51bd4db96dead7a",
        "name": "",
        "mode": "custom",
        "build": "array",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": false,
        "timeout": "",
        "count": "3",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 150,
        "y": 3200,
        "wires": [
            [
                "36dde66bcacf9ba9"
            ]
        ]
    },
    {
        "id": "1f4506e8f88abfb2",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 55",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 1300,
        "wires": []
    },
    {
        "id": "a9a2bdf3a7416e4e",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 56",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 1480,
        "wires": []
    },
    {
        "id": "c6fb014eeec61daf",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 57",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 420,
        "y": 1680,
        "wires": []
    },
    {
        "id": "d287a9c59b8b867b",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 58",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 420,
        "y": 1860,
        "wires": []
    },
    {
        "id": "8b6d2ee11bd4ae38",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 59",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 420,
        "y": 2040,
        "wires": []
    },
    {
        "id": "36dde66bcacf9ba9",
        "type": "change",
        "z": "b51bd4db96dead7a",
        "name": "$sum(payload)",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$sum(payload)",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 3200,
        "wires": [
            [
                "920b92dc2ac24ccb",
                "b0c1ce54acf8b5b7"
            ]
        ]
    },
    {
        "id": "920b92dc2ac24ccb",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 60",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 3120,
        "wires": []
    },
    {
        "id": "b0c1ce54acf8b5b7",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "d": true,
        "name": "Ac-Power Summe",
        "func": "msg.payload *= 134.5;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 3200,
        "wires": [
            [
                "a981db2b01acf83c",
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "a981db2b01acf83c",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "d": true,
        "name": "Package an Konsole",
        "func": "const portalId = flow.get('portalId');\nconst serviceId1 = flow.get('serviceId1');\n\nif (portalId && seviceId1) {\n    msg.payload = { value: msg.payload };\n    msg.topic = `W/${portalID}/pvinverter/${serviceId1}/${msg.attribute}`;\n    \n    return [msg, null];\n} else {\n   msg.error = 'Not ready';\n   return [null, msg];\n}\n",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 900,
        "y": 1720,
        "wires": [
            [
                "1db1655a8e6da5e2",
                "0f35e14c4fe0c866"
            ]
        ]
    },
    {
        "id": "1db1655a8e6da5e2",
        "type": "mqtt out",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "04850708e8b6294c",
        "x": 1090,
        "y": 1600,
        "wires": []
    },
    {
        "id": "0f35e14c4fe0c866",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 61",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 1100,
        "y": 1720,
        "wires": []
    },
    {
        "id": "0d75982eb3268126",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "name": "Ac/Energy/Forward",
        "func": "msg.payload /= 1000;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} kWh` });\n\nmsg.attribute = 'Ac/Energy/Forward';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 490,
        "y": 2460,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "23420bbe19184ed3",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/wattstundengesamtheute",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 2460,
        "wires": [
            [
                "0b7012c1ec410577",
                "0d75982eb3268126"
            ]
        ]
    },
    {
        "id": "0b7012c1ec410577",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 62",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 480,
        "y": 2380,
        "wires": []
    },
    {
        "id": "0e04b8cb411a486b",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_leistung_r",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 2640,
        "wires": [
            [
                "c23635523187cfa5",
                "62a55e44fce774ed",
                "e4da0f12902be428"
            ]
        ]
    },
    {
        "id": "c23635523187cfa5",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 63",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 2580,
        "wires": []
    },
    {
        "id": "62a55e44fce774ed",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "d": true,
        "name": "Ac-Power-R_L1",
        "func": "//msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L1/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 2640,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "3b83fe50ae340ad0",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_leistung_s",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 2800,
        "wires": [
            [
                "822fe558c39b529d",
                "da8b51462f4ab621",
                "e4da0f12902be428"
            ]
        ]
    },
    {
        "id": "822fe558c39b529d",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 64",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 2740,
        "wires": []
    },
    {
        "id": "da8b51462f4ab621",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "d": true,
        "name": "Ac-Power-S_L2",
        "func": "msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L2/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 2800,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "1fb2c9ab834505b4",
        "type": "mqtt in",
        "z": "b51bd4db96dead7a",
        "name": "",
        "topic": "solaranzeige/box1/ac_leistung_t",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e4f979cbf085f468",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 2980,
        "wires": [
            [
                "5e30366cbcea3ec5",
                "6221c95c25c51220",
                "e4da0f12902be428"
            ]
        ]
    },
    {
        "id": "5e30366cbcea3ec5",
        "type": "debug",
        "z": "b51bd4db96dead7a",
        "name": "debug 65",
        "active": false,
        "tosidebar": false,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 460,
        "y": 2920,
        "wires": []
    },
    {
        "id": "6221c95c25c51220",
        "type": "function",
        "z": "b51bd4db96dead7a",
        "d": true,
        "name": "Ac-Power-T_L3",
        "func": "//msg.payload *= 1;\n\nnode.status({ fill: 'green', shape: 'dot', text: `${msg.payload} W` });\n\nmsg.attribute = 'Ac/L3/Power';\nreturn msg;",
        "outputs": 1,
        "timeout": "",
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 480,
        "y": 2980,
        "wires": [
            [
                "e7435d7f24c88c75"
            ]
        ]
    },
    {
        "id": "e4f979cbf085f468",
        "type": "mqtt-broker",
        "name": "SolaranzeigeRH",
        "broker": "192.168.2.170",
        "port": "1883",
        "clientid": "venusOS",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "b5364c87f6dcb084",
        "type": "mqtt-broker",
        "name": "Venus OS Sofar",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "device/wr001/Status",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "{\"clientId: \"wr001\", \"connected\": 0, \"version\":\"v1.0\",\"services\":{\"wr1\":\"pvinverter\"}}",
        "closeMsg": {},
        "willTopic": "device/wr001/Status",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "{\"clientId: \"wr001\", \"connected\": 0, \"version\":\"v1.0\",\"services\":{\"wr1\":\"pvinverter\"}}",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "04850708e8b6294c",
        "type": "mqtt-broker",
        "name": "Venus-OS Kostal",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]
Übersicht Nodes
Übersicht Nodes

Zurück zu „Dokumente, Bauanleitungen und How To's“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste