NR Shelly 3EMpro via MQTT via Custom input Flow

Dear All,

mb it’s redundant - didn’t see it yet :smiley:

HowTo:

VenousOS

Nodered

copy Flow and check Node Virtual Device

Install Shelly 3EMpro

enable MQTT network

MQTT SERVER:

venus.local:1883

Did this today so suggestions are welcome. works on my machine :wink:

Mb this helps so to have less work to integrate Shelly 3EMpro to VenusOS.

BR

```flows
[
    {
        "id": "d80c71b8c1ef5fd6",
        "type": "tab",
        "label": "Energymeter 3EMpro",
        "disabled": false,
        "info": ""
    },
    {
        "id": "459beb809d73dd84",
        "type": "mqtt in",
        "z": "d80c71b8c1ef5fd6",
        "name": "Shelly MQTT",
        "topic": "shellypro3em/events/rpc",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "f6d7732665553750",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 150,
        "y": 100,
        "wires": [
            [
                "395584739fafc2d5",
                "134c7488754c420f",
                "095882887db4bb20"
            ]
        ]
    },
    {
        "id": "30e5b3c9265f5d84",
        "type": "debug",
        "z": "d80c71b8c1ef5fd6",
        "name": "RPC Values",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 930,
        "y": 80,
        "wires": []
    },
    {
        "id": "9d1b08bea7e43df6",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L1/Power",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L1/Power",
            "name": "/Ac/L1/Power",
            "type": "number",
            "value": 6.6
        },
        "name": "P L1 (W)",
        "onlyChanges": false,
        "x": 1100,
        "y": 320,
        "wires": []
    },
    {
        "id": "29443a63fb9edba5",
        "type": "victron-virtual",
        "z": "d80c71b8c1ef5fd6",
        "name": "3EM",
        "device": "grid",
        "default_values": false,
        "battery_capacity": 25,
        "include_battery_temperature": false,
        "grid_nrofphases": "3",
        "include_motor_temp": false,
        "include_controller_temp": false,
        "include_coolant_temp": false,
        "include_motor_rpm": true,
        "include_motor_direction": true,
        "position": 0,
        "pvinverter_nrofphases": 1,
        "fluid_type": 0,
        "include_tank_battery": false,
        "include_tank_temperature": false,
        "tank_battery_voltage": 3.3,
        "tank_capacity": 0.2,
        "temperature_type": 2,
        "include_humidity": false,
        "include_pressure": false,
        "include_temp_battery": false,
        "temp_battery_voltage": 3.3,
        "x": 130,
        "y": 40,
        "wires": []
    },
    {
        "id": "c861024d59663e2e",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "a_voltage",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.a_voltage",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 440,
        "wires": [
            [
                "1e649e5f74ec7cda"
            ]
        ]
    },
    {
        "id": "395584739fafc2d5",
        "type": "switch",
        "z": "d80c71b8c1ef5fd6",
        "name": "Filter EM:0 auf ID in Message",
        "property": "payload.params.em:0",
        "propertyType": "msg",
        "rules": [
            {
                "t": "hask",
                "v": "id",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 550,
        "y": 360,
        "wires": [
            [
                "c861024d59663e2e",
                "9539e38d69b5d949",
                "5c4d428ff357b0d4",
                "30e5b3c9265f5d84",
                "014c84e74488df59",
                "f355f4709e855094",
                "fd556d98fbe9c208",
                "58d685fa658917c9",
                "26e7d053b4d3032c",
                "8d2bf4c5f7848f5c",
                "568002c1689b3257",
                "64212cec30b554c0",
                "04528d37254a33e2",
                "7e6224f864f23ffc"
            ]
        ]
    },
    {
        "id": "9539e38d69b5d949",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "b_voltage",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.b_voltage",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 480,
        "wires": [
            [
                "feb26779aed27a03"
            ]
        ]
    },
    {
        "id": "5c4d428ff357b0d4",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "a_act_power",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.a_act_power",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 930,
        "y": 320,
        "wires": [
            [
                "9d1b08bea7e43df6"
            ]
        ]
    },
    {
        "id": "014c84e74488df59",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "b_act_power",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.b_act_power",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 930,
        "y": 360,
        "wires": [
            [
                "f2e28472ecfa0f0c"
            ]
        ]
    },
    {
        "id": "f355f4709e855094",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "c_act_power",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.c_act_power",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 930,
        "y": 400,
        "wires": [
            [
                "19cf0fb142f4800d"
            ]
        ]
    },
    {
        "id": "f2e28472ecfa0f0c",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Power",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Power",
            "name": "/Ac/L2/Power",
            "type": "number",
            "value": 0
        },
        "name": "P L2 (W)",
        "onlyChanges": false,
        "x": 1100,
        "y": 360,
        "wires": []
    },
    {
        "id": "19cf0fb142f4800d",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L3/Power",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L3/Power",
            "name": "/Ac/L3/Power",
            "type": "number",
            "value": 0
        },
        "name": "P L3 (W)",
        "onlyChanges": false,
        "x": 1100,
        "y": 400,
        "wires": []
    },
    {
        "id": "1e649e5f74ec7cda",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L1/Voltage",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L1/Voltage",
            "name": "/Ac/L1/Voltage",
            "type": "number",
            "value": 0
        },
        "name": "U L1 (V)",
        "onlyChanges": false,
        "x": 1120,
        "y": 440,
        "wires": []
    },
    {
        "id": "23198b42e2720b19",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L3/Voltage",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L3/Voltage",
            "name": "/Ac/L3/Voltage",
            "type": "number",
            "value": 0.122
        },
        "name": "U L3 (V)",
        "onlyChanges": false,
        "x": 1120,
        "y": 520,
        "wires": []
    },
    {
        "id": "fd556d98fbe9c208",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "c_voltage",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.c_voltage",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 520,
        "wires": [
            [
                "23198b42e2720b19"
            ]
        ]
    },
    {
        "id": "feb26779aed27a03",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Voltage",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Voltage",
            "name": "/Ac/L2/Voltage",
            "type": "number",
            "value": 0
        },
        "name": "U L2 (V)",
        "onlyChanges": false,
        "x": 1120,
        "y": 480,
        "wires": []
    },
    {
        "id": "58d685fa658917c9",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "a_current",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.a_current",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 600,
        "wires": [
            [
                "3a98c84de0dda46e"
            ]
        ]
    },
    {
        "id": "26e7d053b4d3032c",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "b_current",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.b_current",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 640,
        "wires": [
            [
                "9a6dc4c9fe3bbc03"
            ]
        ]
    },
    {
        "id": "3a98c84de0dda46e",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Current",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Current",
            "name": "/Ac/L2/Current",
            "type": "number",
            "value": 0
        },
        "name": "I L1 (A)",
        "onlyChanges": false,
        "x": 1120,
        "y": 600,
        "wires": []
    },
    {
        "id": "411aed086a7b7836",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L3/Current",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L3/Current",
            "name": "/Ac/L3/Current",
            "type": "number",
            "value": 0
        },
        "name": "I L3 (A)",
        "onlyChanges": false,
        "x": 1120,
        "y": 680,
        "wires": []
    },
    {
        "id": "8d2bf4c5f7848f5c",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "c_current",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.c_current",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 920,
        "y": 680,
        "wires": [
            [
                "411aed086a7b7836"
            ]
        ]
    },
    {
        "id": "9a6dc4c9fe3bbc03",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Current",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Current",
            "name": "/Ac/L2/Current",
            "type": "number",
            "value": 0
        },
        "name": "I L2 (A)",
        "onlyChanges": false,
        "x": 1120,
        "y": 640,
        "wires": []
    },
    {
        "id": "568002c1689b3257",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "total_act_power",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.total_act_power",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 940,
        "y": 120,
        "wires": [
            [
                "0ca0a651eb6d5a1e"
            ]
        ]
    },
    {
        "id": "0ca0a651eb6d5a1e",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/Power",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/Power",
            "name": "/Ac/Power",
            "type": "number",
            "value": 114.9
        },
        "name": "P Total (W)",
        "onlyChanges": false,
        "x": 1130,
        "y": 120,
        "wires": []
    },
    {
        "id": "64212cec30b554c0",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "a_freq",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.a_freq",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 910,
        "y": 200,
        "wires": [
            [
                "3608eba72d43623e"
            ]
        ]
    },
    {
        "id": "04528d37254a33e2",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "b_freq",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.b_freq",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 910,
        "y": 240,
        "wires": [
            [
                "3608eba72d43623e"
            ]
        ]
    },
    {
        "id": "7e6224f864f23ffc",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "c_freq",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.em:0.c_freq",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 910,
        "y": 280,
        "wires": [
            [
                "3608eba72d43623e"
            ]
        ]
    },
    {
        "id": "179c7078891488e6",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "Average frequency abc",
        "func": "// check array is 3 values\nif (!Array.isArray(msg.payload) || msg.payload.length !== 3) {\n    node.error(\"msg.payload muss ein Array mit genau 3 Werten sein\", msg);\n    return null;\n}\n\n// check all not 0\nif (msg.payload.includes(0)) {\n    msg.payload = 0;\n    return msg;\n}\n\n// average\nlet summe = msg.payload.reduce((a, b) => a + b, 0);\nlet mittelwert = summe / 3;\n\n// Round\nmsg.payload = Math.round(mittelwert * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1290,
        "y": 240,
        "wires": [
            [
                "1fb74ee013e51022"
            ]
        ]
    },
    {
        "id": "3608eba72d43623e",
        "type": "join",
        "z": "d80c71b8c1ef5fd6",
        "name": "Join",
        "mode": "custom",
        "build": "array",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "[92,110]",
        "joinerType": "bin",
        "accumulate": false,
        "timeout": "",
        "count": "3",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 1090,
        "y": 240,
        "wires": [
            [
                "179c7078891488e6"
            ]
        ]
    },
    {
        "id": "1fb74ee013e51022",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/Frequency",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/Frequency",
            "name": "/Ac/Frequency",
            "type": "object",
            "value": null
        },
        "name": "Frequency (hz)",
        "onlyChanges": false,
        "x": 1520,
        "y": 240,
        "wires": []
    },
    {
        "id": "e9252f8e7ee2d51d",
        "type": "inject",
        "z": "d80c71b8c1ef5fd6",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "0",
        "payloadType": "num",
        "x": 910,
        "y": 160,
        "wires": [
            [
                "3608eba72d43623e"
            ]
        ]
    },
    {
        "id": "04222b070f442caf",
        "type": "comment",
        "z": "d80c71b8c1ef5fd6",
        "name": "Frequency",
        "info": "average frequency over all 3 phases.\nif one phase is 0Hz (not connected) average value is also 0Hz\n",
        "x": 1100,
        "y": 200,
        "wires": []
    },
    {
        "id": "134c7488754c420f",
        "type": "debug",
        "z": "d80c71b8c1ef5fd6",
        "name": "debug 11",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 500,
        "y": 100,
        "wires": []
    },
    {
        "id": "095882887db4bb20",
        "type": "switch",
        "z": "d80c71b8c1ef5fd6",
        "name": "Filter emdata:0 auf ID in Message",
        "property": "payload.params.emdata:0",
        "propertyType": "msg",
        "rules": [
            {
                "t": "hask",
                "v": "id",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 560,
        "y": 860,
        "wires": [
            [
                "58f5801b7214e290",
                "ba23193fbfb0565c",
                "610a40fee58c5235",
                "2ebc7978ff3d883b",
                "760d2fae3edf2539",
                "fe0c4ac62cc2bb64",
                "51e92962ae31e244",
                "1c46d71ff404c143"
            ]
        ]
    },
    {
        "id": "58f5801b7214e290",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy forward a",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.a_total_act_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 760,
        "wires": [
            [
                "e5973ae0baa54c73"
            ]
        ]
    },
    {
        "id": "ba23193fbfb0565c",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy forward b",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.b_total_act_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 800,
        "wires": [
            [
                "0b2da47d1fc8ece1"
            ]
        ]
    },
    {
        "id": "610a40fee58c5235",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy forward c",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.c_total_act_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 840,
        "wires": [
            [
                "9ede70d2ccd44856"
            ]
        ]
    },
    {
        "id": "2ebc7978ff3d883b",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy returned a",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.a_total_act_ret_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 940,
        "wires": [
            [
                "3115e96a2341faef"
            ]
        ]
    },
    {
        "id": "760d2fae3edf2539",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy returned b",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.b_total_act_ret_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 980,
        "wires": [
            [
                "4281c5e48ad68eb4"
            ]
        ]
    },
    {
        "id": "fe0c4ac62cc2bb64",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy returned c",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.c_total_act_ret_energy",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 950,
        "y": 1020,
        "wires": [
            [
                "8cf9cf3f09c06b97"
            ]
        ]
    },
    {
        "id": "38af0a890ae288c6",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L1/Energy/Forward",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L1/Energy/Forward",
            "name": "/Ac/L1/Energy/Forward",
            "type": "number",
            "value": 0.093
        },
        "name": "E Consumed (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 760,
        "wires": []
    },
    {
        "id": "9dc26b2b2ebf4d17",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Energy/Forward",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Energy/Forward",
            "name": "/Ac/L2/Energy/Forward",
            "type": "number",
            "value": 0.121
        },
        "name": "E Consumed (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 800,
        "wires": []
    },
    {
        "id": "362c70273ab1a46d",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L3/Energy/Forward",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L3/Energy/Forward",
            "name": "/Ac/L3/Energy/Forward",
            "type": "number",
            "value": 0.004
        },
        "name": "E Consumed (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 840,
        "wires": []
    },
    {
        "id": "4b4ccc81a64d8c43",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L1/Energy/Reverse",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L1/Energy/Reverse",
            "name": "/Ac/L1/Energy/Reverse",
            "type": "number",
            "value": 0.093
        },
        "name": "E produced (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 940,
        "wires": []
    },
    {
        "id": "50b995592e62e5ba",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L2/Energy/Reverse",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L2/Energy/Reverse",
            "name": "/Ac/L2/Energy/Reverse",
            "type": "number",
            "value": 0.121
        },
        "name": "E produced (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 980,
        "wires": []
    },
    {
        "id": "5c80fe258b30f930",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/L3/Energy/Reverse",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/L3/Energy/Reverse",
            "name": "/Ac/L3/Energy/Reverse",
            "type": "number",
            "value": 0.004
        },
        "name": "E produced (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 1020,
        "wires": []
    },
    {
        "id": "e5973ae0baa54c73",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 760,
        "wires": [
            [
                "38af0a890ae288c6",
                "da850ae2c327e736"
            ]
        ]
    },
    {
        "id": "da850ae2c327e736",
        "type": "debug",
        "z": "d80c71b8c1ef5fd6",
        "name": "debug 12",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1360,
        "y": 720,
        "wires": []
    },
    {
        "id": "0b2da47d1fc8ece1",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 800,
        "wires": [
            [
                "9dc26b2b2ebf4d17"
            ]
        ]
    },
    {
        "id": "9ede70d2ccd44856",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 840,
        "wires": [
            [
                "362c70273ab1a46d"
            ]
        ]
    },
    {
        "id": "3115e96a2341faef",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 940,
        "wires": [
            [
                "4b4ccc81a64d8c43"
            ]
        ]
    },
    {
        "id": "4281c5e48ad68eb4",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 980,
        "wires": [
            [
                "50b995592e62e5ba"
            ]
        ]
    },
    {
        "id": "8cf9cf3f09c06b97",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 1020,
        "wires": [
            [
                "5c80fe258b30f930"
            ]
        ]
    },
    {
        "id": "51e92962ae31e244",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy forward total",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.total_act",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 960,
        "y": 880,
        "wires": [
            [
                "b8d4928c3d8107e8"
            ]
        ]
    },
    {
        "id": "b8d4928c3d8107e8",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 880,
        "wires": [
            [
                "534624328aec5fab"
            ]
        ]
    },
    {
        "id": "534624328aec5fab",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/Energy/Forward",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/Energy/Forward",
            "name": "/Ac/Energy/Forward",
            "type": "number",
            "value": 0
        },
        "name": "E Consumed (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 880,
        "wires": []
    },
    {
        "id": "99b1273f6a0e3f12",
        "type": "function",
        "z": "d80c71b8c1ef5fd6",
        "name": "kWh in Wh ",
        "func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1170,
        "y": 1060,
        "wires": [
            [
                "461315a2fd7fc46a"
            ]
        ]
    },
    {
        "id": "461315a2fd7fc46a",
        "type": "victron-output-custom",
        "z": "d80c71b8c1ef5fd6",
        "service": "com.victronenergy.grid/100",
        "path": "/Ac/Energy/Reverse",
        "serviceObj": {
            "service": "com.victronenergy.grid/100",
            "name": "3EM (100)"
        },
        "pathObj": {
            "path": "/Ac/Energy/Reverse",
            "name": "/Ac/Energy/Reverse",
            "type": "number",
            "value": 0
        },
        "name": "E produced (Wh)",
        "onlyChanges": false,
        "x": 1390,
        "y": 1060,
        "wires": []
    },
    {
        "id": "1c46d71ff404c143",
        "type": "change",
        "z": "d80c71b8c1ef5fd6",
        "name": "Energy returned total",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.params.emdata:0.total_act_ret",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 960,
        "y": 1060,
        "wires": [
            [
                "99b1273f6a0e3f12"
            ]
        ]
    },
    {
        "id": "f6d7732665553750",
        "type": "mqtt-broker",
        "name": "MQTTServer",
        "broker": "127.0.0.1",
        "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": ""
    }
]
1 Like