OpenWB als Wallbox ins die Victron-Welt einbinden

Hier kommt alles rein was nicht direkt zur OpenWB gehört.
sunnykleineichen
Beiträge: 121
Registriert: Mi Nov 18, 2020 7:13 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von sunnykleineichen »

Danke Dir für den Hinweis. Hast Du die Lösung denn so am laufen und könntest hier die notwendigen Anpassungen posten?
OpenWB standard+, 3,9 kWp PV mit SMA WR, 4,12 kWp PV mit 2xVictron MPPT, Victron Multiplus 2 5000 mit Cerbo GX und 14,4 kWh Pylontech, VW ID.3 Pro Performance Max und Opel Corsa-e Ultimate
ACE
Beiträge: 11
Registriert: Di Dez 27, 2022 7:17 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von ACE »

Ja hab ich so am Laufen. Nein, kann ich hier nicht posten, da das Forum die notwendige Formatierung (Einrückungen) entfernt und dann wäre das nicht mehr lauffähig...
Kopier das doch einfach aus dem verlinkten Post..
sledge
Beiträge: 53
Registriert: Di Okt 15, 2019 4:23 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von sledge »

Ich denke, es geht dem ein oder anderen auch um die zugehörigen nodered-Flows ;-)
ACE
Beiträge: 11
Registriert: Di Dez 27, 2022 7:17 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von ACE »

Code: Alles auswählen

[
    {
        "id": "8fdecdeb81b71d1a",
        "type": "tab",
        "label": "OpenWB->EVCharger",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "28908042d1d38327",
        "type": "group",
        "z": "8fdecdeb81b71d1a",
        "style": {
            "stroke": "#999999",
            "stroke-opacity": "1",
            "fill": "none",
            "fill-opacity": "1",
            "label": true,
            "label-position": "nw",
            "color": "#a4a4a4"
        },
        "nodes": [
            "e420e324306f563b",
            "38154a7717fc52b7",
            "f8bf19d81175b304",
            "6a01d27bbccd3cf3",
            "ccf8ff8d6f685b7e",
            "be17803b661cc51a",
            "b2ead156ac397da8",
            "79e9327f1a38d7e6",
            "7657252e806c9e76",
            "8979393b44c7c2f2",
            "21fc6dbf3302bdb6"
        ],
        "x": 54,
        "y": 1479,
        "w": 812,
        "h": 302
    },
    {
        "id": "83f43cc6fda1c1f6",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/VPhase1",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 140,
        "wires": [
            [
                "32448fe638132e49"
            ]
        ]
    },
    {
        "id": "8596aa6147398073",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/VPhase3",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 340,
        "wires": [
            [
                "a1fb636d3709c4f7"
            ]
        ]
    },
    {
        "id": "7d853b2bcd6a3fcb",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/VPhase2",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 240,
        "wires": [
            [
                "5c6a68b983289c4c"
            ]
        ]
    },
    {
        "id": "6fbea3d4ddfacb65",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/APhase1",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 180,
        "wires": [
            [
                "397fd160a7f9f0a2"
            ]
        ]
    },
    {
        "id": "19d474d95b645a12",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/APhase2",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 280,
        "wires": [
            [
                "a3d7e766a60a784b"
            ]
        ]
    },
    {
        "id": "a482a75754d5b402",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/APhase2",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 160,
        "y": 380,
        "wires": [
            [
                "b8373330b5d4cfd5"
            ]
        ]
    },
    {
        "id": "1d2025f9cfb774a0",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/W",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 140,
        "y": 440,
        "wires": [
            [
                "925fce28f660c3b5"
            ]
        ]
    },
    {
        "id": "eb0984928a8fc539",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Current",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1090,
        "y": 180,
        "wires": []
    },
    {
        "id": "b4be14652f6178e3",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/ChargePointEnabled",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 200,
        "y": 1020,
        "wires": [
            [
                "33f8ea29722d734b"
            ]
        ]
    },
    {
        "id": "e420e324306f563b",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "Disconnect EVCharger 1 from DBUS",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{\"clientId\": \"fe001\", \"connected\": 0, \"version\": \"1.9.x\", \"services\": {\"ev1\": \"evcharger\"}}",
        "payloadType": "json",
        "x": 240,
        "y": 1560,
        "wires": [
            [
                "7657252e806c9e76",
                "21fc6dbf3302bdb6"
            ]
        ]
    },
    {
        "id": "eca67796b164d194",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 180,
        "wires": [
            [
                "eb0984928a8fc539"
            ]
        ]
    },
    {
        "id": "5c6a68b983289c4c",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "VPhase2",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 240,
        "wires": [
            [
                "4c67dfaf5415801a"
            ]
        ]
    },
    {
        "id": "32448fe638132e49",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "VPhase1",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 140,
        "wires": [
            [
                "7eb12473cb27107c"
            ]
        ]
    },
    {
        "id": "a1fb636d3709c4f7",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "VPhase3",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 340,
        "wires": [
            [
                "760859c985699761"
            ]
        ]
    },
    {
        "id": "397fd160a7f9f0a2",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "APhase1",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 180,
        "wires": [
            [
                "eca67796b164d194",
                "7eb12473cb27107c"
            ]
        ]
    },
    {
        "id": "a3d7e766a60a784b",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "APhase2",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 280,
        "wires": [
            [
                "4c67dfaf5415801a"
            ]
        ]
    },
    {
        "id": "b8373330b5d4cfd5",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "APhase3",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 380,
        "wires": [
            [
                "760859c985699761"
            ]
        ]
    },
    {
        "id": "760859c985699761",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "calc. PPhase3",
        "func": "var VPhase3 = flow.get(\"VPhase3\")\nvar APhase3 = flow.get(\"APhase3\")\nmsg.payload = VPhase3*APhase3\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 340,
        "wires": [
            [
                "db5ca3889bf9d40a"
            ]
        ]
    },
    {
        "id": "4c67dfaf5415801a",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "calc. PPhase2",
        "func": "var VPhase2 = flow.get(\"VPhase2\")\nvar APhase2 = flow.get(\"APhase2\")\nmsg.payload = VPhase2*APhase2\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 240,
        "wires": [
            [
                "0c2cf3922e7c9c67"
            ]
        ]
    },
    {
        "id": "7eb12473cb27107c",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "calc. PPhase1",
        "func": "var VPhase1 = flow.get(\"VPhase1\")\nvar APhase1 = flow.get(\"APhase1\")\nmsg.payload = VPhase1*APhase1\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 140,
        "wires": [
            [
                "6a8cdc6a201ce09f"
            ]
        ]
    },
    {
        "id": "8bd1c21b40cb86be",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Ac/L1/Power",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1110,
        "y": 140,
        "wires": []
    },
    {
        "id": "6a8cdc6a201ce09f",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 140,
        "wires": [
            [
                "8bd1c21b40cb86be"
            ]
        ]
    },
    {
        "id": "3f09298f502c8ae7",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Ac/L2/Power",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1110,
        "y": 240,
        "wires": []
    },
    {
        "id": "0c2cf3922e7c9c67",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 240,
        "wires": [
            [
                "3f09298f502c8ae7"
            ]
        ]
    },
    {
        "id": "b9f8bf9f2c3590e1",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Ac/L3/Power",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1110,
        "y": 340,
        "wires": []
    },
    {
        "id": "db5ca3889bf9d40a",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 340,
        "wires": [
            [
                "b9f8bf9f2c3590e1"
            ]
        ]
    },
    {
        "id": "925fce28f660c3b5",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 440,
        "wires": [
            [
                "fc969ba5f62dc8fe"
            ]
        ]
    },
    {
        "id": "fc969ba5f62dc8fe",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Ac/Power",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1100,
        "y": 440,
        "wires": []
    },
    {
        "id": "73cccca2fbc087fa",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Status",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1090,
        "y": 1120,
        "wires": []
    },
    {
        "id": "2e37203bb3b0b269",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 1020,
        "wires": [
            []
        ]
    },
    {
        "id": "38154a7717fc52b7",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "topic": "openWB/system/Version",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 1740,
        "wires": [
            [
                "6a01d27bbccd3cf3"
            ]
        ]
    },
    {
        "id": "f8bf19d81175b304",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/FirmwareVersion",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 660,
        "y": 1740,
        "wires": []
    },
    {
        "id": "6a01d27bbccd3cf3",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "func": "msg.topic=\"version\"\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 380,
        "y": 1740,
        "wires": [
            [
                "f8bf19d81175b304",
                "79e9327f1a38d7e6"
            ]
        ]
    },
    {
        "id": "ccf8ff8d6f685b7e",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "clientId",
        "payload": "fe001",
        "payloadType": "str",
        "x": 180,
        "y": 1620,
        "wires": [
            [
                "79e9327f1a38d7e6"
            ]
        ]
    },
    {
        "id": "be17803b661cc51a",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": "0.1",
        "topic": "connected",
        "payload": "1",
        "payloadType": "num",
        "x": 180,
        "y": 1660,
        "wires": [
            [
                "79e9327f1a38d7e6"
            ]
        ]
    },
    {
        "id": "b2ead156ac397da8",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "services",
        "payload": "{\"ev1\":\"evcharger\"}",
        "payloadType": "json",
        "x": 220,
        "y": 1700,
        "wires": [
            [
                "79e9327f1a38d7e6"
            ]
        ]
    },
    {
        "id": "79e9327f1a38d7e6",
        "type": "join",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": false,
        "timeout": "",
        "count": "4",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 490,
        "y": 1620,
        "wires": [
            [
                "7657252e806c9e76",
                "21fc6dbf3302bdb6"
            ]
        ]
    },
    {
        "id": "7657252e806c9e76",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "",
        "topic": "device/fe001/Status",
        "qos": "0",
        "retain": "false",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 750,
        "y": 1560,
        "wires": []
    },
    {
        "id": "8d30bdff27fafd99",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/config/get/global/maxEVSECurrentAllowed",
        "qos": "1",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 250,
        "y": 740,
        "wires": [
            [
                "4109291b54ae3140"
            ]
        ]
    },
    {
        "id": "4109291b54ae3140",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 740,
        "wires": [
            [
                "c928ceb1413f51b7"
            ]
        ]
    },
    {
        "id": "c928ceb1413f51b7",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/MaxCurrent",
        "qos": "0",
        "retain": "true",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1110,
        "y": 740,
        "wires": []
    },
    {
        "id": "6760e7ad8269bacd",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/config/get/sofort/lp/1/current",
        "qos": "1",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 210,
        "y": 800,
        "wires": [
            [
                "4827a6343a8e50b8"
            ]
        ]
    },
    {
        "id": "4827a6343a8e50b8",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 800,
        "wires": [
            [
                "382db75614d74ae0"
            ]
        ]
    },
    {
        "id": "382db75614d74ae0",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "N/<replacewithyourportalID>/evcharger/1/SetCurrent",
        "qos": "0",
        "retain": "true",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1100,
        "y": 800,
        "wires": []
    },
    {
        "id": "8979393b44c7c2f2",
        "type": "comment",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "Device Registration on DBUS",
        "info": "Setup DBUS device",
        "x": 200,
        "y": 1520,
        "wires": []
    },
    {
        "id": "3d95f2664bf32590",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "function 1",
        "func": "\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 660,
        "y": 1020,
        "wires": [
            [
                "2e37203bb3b0b269"
            ]
        ]
    },
    {
        "id": "33f8ea29722d734b",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "Lp1Enabled",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 480,
        "y": 1020,
        "wires": [
            [
                "3d95f2664bf32590"
            ]
        ]
    },
    {
        "id": "95bec2a60174a05f",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/boolPlugStat",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 170,
        "y": 1120,
        "wires": [
            [
                "e39843574c7b4dbe"
            ]
        ]
    },
    {
        "id": "e39843574c7b4dbe",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 1120,
        "wires": [
            [
                "73cccca2fbc087fa"
            ]
        ]
    },
    {
        "id": "ba2f362072d45777",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "1",
        "payloadType": "num",
        "x": 470,
        "y": 1220,
        "wires": [
            [
                "e39843574c7b4dbe"
            ]
        ]
    },
    {
        "id": "8e3321269de16127",
        "type": "inject",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "0",
        "payloadType": "num",
        "x": 470,
        "y": 1180,
        "wires": [
            [
                "e39843574c7b4dbe"
            ]
        ]
    },
    {
        "id": "2bba203f6bf2dbea",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/global/ChargeMode",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 820,
        "y": 1280,
        "wires": [
            [
                "089356fed40edcb9"
            ]
        ]
    },
    {
        "id": "e1e5d570a181ae67",
        "type": "switch",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "3",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "4",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 5,
        "x": 1230,
        "y": 1280,
        "wires": [
            [
                "ef5ece4ebaeb1c38"
            ],
            [
                "a9cf7e33ca774ef6"
            ],
            [
                "a9cf7e33ca774ef6"
            ],
            [],
            []
        ]
    },
    {
        "id": "ef5ece4ebaeb1c38",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "{\"value\":0}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1430,
        "y": 1200,
        "wires": [
            [
                "4af1b87f489c7ff7"
            ]
        ]
    },
    {
        "id": "a9cf7e33ca774ef6",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "{\"value\":1}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1430,
        "y": 1280,
        "wires": [
            [
                "4af1b87f489c7ff7"
            ]
        ]
    },
    {
        "id": "4af1b87f489c7ff7",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Mode",
        "qos": "0",
        "retain": "true",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1850,
        "y": 1200,
        "wires": []
    },
    {
        "id": "3dd3d50c6a412a54",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/lp/1/kWhActualCharged",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "7a8eff5f12650455",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 190,
        "y": 680,
        "wires": [
            [
                "d1c3915708b58c8b"
            ]
        ]
    },
    {
        "id": "6cc995c2bf784eec",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "W/<replacewithyourportalID>/evcharger/1/Ac/Energy/Forward",
        "qos": "0",
        "retain": "true",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "47e105b96fc4cc38",
        "x": 1130,
        "y": 680,
        "wires": []
    },
    {
        "id": "d1c3915708b58c8b",
        "type": "function",
        "z": "8fdecdeb81b71d1a",
        "name": "number to object",
        "func": "var payl={value:msg.payload}\nmsg.payload=payl\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 810,
        "y": 680,
        "wires": [
            [
                "6cc995c2bf784eec"
            ]
        ]
    },
    {
        "id": "8d16d11f483b2ccb",
        "type": "mqtt in",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "N/<replacewithyourportalID>/evcharger/1/Mode",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "47e105b96fc4cc38",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 1040,
        "y": 1380,
        "wires": [
            [
                "21d6753b5aae90e3"
            ]
        ]
    },
    {
        "id": "21d6753b5aae90e3",
        "type": "switch",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "property": "payload.value",
        "propertyType": "jsonata",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 1310,
        "y": 1380,
        "wires": [
            [
                "c2e06dc9cd0f8f8f"
            ],
            [
                "2940fe2e4810f064"
            ]
        ]
    },
    {
        "id": "f41f8428c86ece59",
        "type": "mqtt out",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "topic": "openWB/global/ChargeMode",
        "qos": "1",
        "retain": "false",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "7a8eff5f12650455",
        "x": 1820,
        "y": 1380,
        "wires": []
    },
    {
        "id": "c2e06dc9cd0f8f8f",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "OpenWB Sofortladen",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "0",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1540,
        "y": 1360,
        "wires": [
            [
                "f41f8428c86ece59"
            ]
        ]
    },
    {
        "id": "2940fe2e4810f064",
        "type": "change",
        "z": "8fdecdeb81b71d1a",
        "name": "OpenWB PV",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "2",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1510,
        "y": 1400,
        "wires": [
            [
                "f41f8428c86ece59"
            ]
        ]
    },
    {
        "id": "089356fed40edcb9",
        "type": "delay",
        "z": "8fdecdeb81b71d1a",
        "name": "",
        "pauseType": "rate",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "2",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": true,
        "allowrate": false,
        "outputs": 1,
        "x": 1060,
        "y": 1280,
        "wires": [
            [
                "e1e5d570a181ae67"
            ]
        ]
    },
    {
        "id": "21fc6dbf3302bdb6",
        "type": "debug",
        "z": "8fdecdeb81b71d1a",
        "g": "28908042d1d38327",
        "name": "debug 21",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 720,
        "y": 1620,
        "wires": []
    },
    {
        "id": "7a8eff5f12650455",
        "type": "mqtt-broker",
        "name": "",
        "broker": "<replacewithyouropenWBBroker>",
        "port": "1883",
        "tls": "",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "47e105b96fc4cc38",
        "type": "mqtt-broker",
        "name": "CerboGX",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "5",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]
Vorarbeiten:
Den im Thread erwähnten Treiber am GX Device installieren und die config Datei ergänzen.
Flow ins NodeRed importieren.
Den OpenWB Broker anpassen & in den Victron MQTT Nodes entsprechend den Platzhalter durch die eigene PortalID ersetzen.

Der Flow zielt darauf ab, die Ladedaten ins VRM Portal zu bekommen, nicht primär die OpenWB mit den wenigen Schaltern in der Remote Console sinnvoll zu steuern.
Was funktioniert: Anzeige und Logging der Leistung, Ladestrom, geladene Energiemenge. Schalter Auto/Manual schaltet OpenWB zwischen Sofortladung und PV um, Ladestromvorgabe aus der Remote Console
Was nicht funktioniert: Ladezeitanzeige (ist mir egal, hab mich nicht darum gekümmert), Schalter "Ladung" in der Remoteconsole (dürfte ein Bug im Treiber sein, die notwendigen Einträge in der config Datei sind auskommentiert, weil sonst der Service crasht -> nicht implementiert im Flow)

Der Flow ist einfach wie er bei mir läuft kopiert - die Nodes sind nicht für bessere Lesbarkeit umbenannt, kommentiert usw. Der Flow ist aber eigentlich so einfach gestrickt, dass man auch ohne damit klarkommen sollte...
sunnykleineichen
Beiträge: 121
Registriert: Mi Nov 18, 2020 7:13 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von sunnykleineichen »

Danke Dir!

Nochmal eine Frage zur Integration mit einem Python-Script (wie zum Beispiel sowas: https://github.com/JuWorkshop/dbus-evse ... charger.py

Muss das Script zwangsweise auf einem CerboGX (oder einem Pi mit VenusOS) installiert werden? Oder kann das Script auch auf einem externen Pi laufen?
OpenWB standard+, 3,9 kWp PV mit SMA WR, 4,12 kWp PV mit 2xVictron MPPT, Victron Multiplus 2 5000 mit Cerbo GX und 14,4 kWh Pylontech, VW ID.3 Pro Performance Max und Opel Corsa-e Ultimate
ACE
Beiträge: 11
Registriert: Di Dez 27, 2022 7:17 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von ACE »

GX Device oder Pi mit VenusOS
sunnykleineichen
Beiträge: 121
Registriert: Mi Nov 18, 2020 7:13 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von sunnykleineichen »

Alles klar, danke!
OpenWB standard+, 3,9 kWp PV mit SMA WR, 4,12 kWp PV mit 2xVictron MPPT, Victron Multiplus 2 5000 mit Cerbo GX und 14,4 kWh Pylontech, VW ID.3 Pro Performance Max und Opel Corsa-e Ultimate
jamesbond0
Beiträge: 30
Registriert: Mo Feb 20, 2023 9:42 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von jamesbond0 »

ACE hat geschrieben: Mo Jan 30, 2023 3:42 pm
Vorarbeiten:
Den im Thread erwähnten Treiber am GX Device installieren und die config Datei ergänzen.
Flow ins NodeRed importieren.
Den OpenWB Broker anpassen & in den Victron MQTT Nodes entsprechend den Platzhalter durch die eigene PortalID ersetzen.
Vielen Dank für den Flow.
Was muss ich denn im OpenWB Broker noch anpassen? Sorry für die Frage - arbeite mich gerade in NodeRed ein.
sledge
Beiträge: 53
Registriert: Di Okt 15, 2019 4:23 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von sledge »

Du musst im openWB Broker nichts anpassen, lediglich in dem NodeRed Flow als Broker die OpenWB eintragen, damit die Werte ausgelesen werden.
jamesbond0
Beiträge: 30
Registriert: Mo Feb 20, 2023 9:42 pm

Re: OpenWB als Wallbox ins die Victron-Welt einbinden

Beitrag von jamesbond0 »

ok, super, vielen Dank, habe ich (hoffentlich richtig) gemacht.
a.JPG
Zur Zeit wird die Ladestation im GX Device noch als offline angezeigt. Oh man ...
Antworten