[
    {
        "id": "6422669c2349de10",
        "type": "tab",
        "label": "SDM630 EVU",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "65a892dcdcc3371c",
        "type": "mqtt out",
        "z": "6422669c2349de10",
        "name": "",
        "topic": "device/ID001/Status",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "86834cf8676e9a42",
        "x": 460,
        "y": 60,
        "wires": []
    },
    {
        "id": "2e7ba212a6c42c85",
        "type": "inject",
        "z": "6422669c2349de10",
        "name": "Grid init",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": "0.1",
        "topic": "",
        "payload": "{\"clientId\":\"ID001\",\"connected\":1,\"version\":\"v1\",\"services\":{\"SDM630\":\"grid\"}}",
        "payloadType": "json",
        "x": 140,
        "y": 60,
        "wires": [
            [
                "65a892dcdcc3371c"
            ]
        ]
    },
    {
        "id": "ffd48082cb3513eb",
        "type": "inject",
        "z": "6422669c2349de10",
        "name": "Grid abmelden",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": "2",
        "topic": "",
        "payload": "{\"clientId\":\"ID001\",\"connected\":0,\"version\":\"v1\",\"services\":{\"SDM630\":\"grid\"}}",
        "payloadType": "json",
        "x": 160,
        "y": 120,
        "wires": [
            [
                "65a892dcdcc3371c"
            ]
        ]
    },
    {
        "id": "196c23c28f445db6",
        "type": "mqtt in",
        "z": "6422669c2349de10",
        "name": "",
        "topic": "device/ID001/DBus",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "86834cf8676e9a42",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 450,
        "y": 120,
        "wires": [
            [
                "1492f46b12183b1d"
            ]
        ]
    },
    {
        "id": "1492f46b12183b1d",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Store PortalID and DeviceID",
        "func": "flow.set('portalID',msg.payload.portalId);\nflow.set('deviceID',msg.payload.deviceInstance.SDM630);",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 720,
        "y": 120,
        "wires": [
            [
                "82f5efe608cb29b9"
            ]
        ]
    },
    {
        "id": "8401914dcbd09b86",
        "type": "buffer-parser",
        "z": "6422669c2349de10",
        "name": "",
        "data": "payload.buffer",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "floatbe",
                "name": "p1n_voltage",
                "offset": 0,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p2n_voltage",
                "offset": 4,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p3n_voltage",
                "offset": 8,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p1_current",
                "offset": 12,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p2_current",
                "offset": 16,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p3_current",
                "offset": 20,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p1_activepower",
                "offset": 24,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p2_activepower",
                "offset": 28,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "p3_activepower",
                "offset": 32,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            }
        ],
        "swap1": "",
        "swap2": "",
        "swap3": "",
        "swap1Type": "swap",
        "swap2Type": "swap",
        "swap3Type": "swap",
        "msgProperty": "payload",
        "msgPropertyType": "str",
        "resultType": "value",
        "resultTypeType": "return",
        "multipleResult": true,
        "fanOutMultipleResult": true,
        "setTopic": true,
        "outputs": 9,
        "x": 570,
        "y": 360,
        "wires": [
            [
                "a7e6736402e49b9a"
            ],
            [
                "3e9f096596c5f599"
            ],
            [
                "e9380daa045551b5"
            ],
            [
                "5457b436fbb90865"
            ],
            [
                "2560bc78a76fa57a"
            ],
            [
                "71ea6b39ac64fa9e"
            ],
            [
                "aaf345ca8c22356a"
            ],
            [
                "839244452c47c479"
            ],
            [
                "0cb22884ceaf3b94"
            ]
        ]
    },
    {
        "id": "a7e6736402e49b9a",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Voltage L1",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L1/Voltage\";\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 180,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "3e9f096596c5f599",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Voltage L2",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L2/Voltage\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 220,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "e9380daa045551b5",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Voltage L3",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L3/Voltage\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 260,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "5457b436fbb90865",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Current L1",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L1/Current\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 320,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "2560bc78a76fa57a",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Current L2",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L2/Current\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 360,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "71ea6b39ac64fa9e",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Current L3",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L3/Current\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 400,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "82f5efe608cb29b9",
        "type": "debug",
        "z": "6422669c2349de10",
        "name": "debug 4",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 940,
        "y": 120,
        "wires": []
    },
    {
        "id": "aaf345ca8c22356a",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Power L1",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L1/Power\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 460,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "839244452c47c479",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Power L2",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L2/Power\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 500,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "0cb22884ceaf3b94",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Power L3",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L3/Power\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 540,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "b30d1af937e65866",
        "type": "mqtt out",
        "z": "6422669c2349de10",
        "name": "",
        "topic": "",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "86834cf8676e9a42",
        "x": 1250,
        "y": 700,
        "wires": []
    },
    {
        "id": "1d648ff8b3c41c7f",
        "type": "buffer-parser",
        "z": "6422669c2349de10",
        "name": "",
        "data": "payload.buffer",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "floatbe",
                "name": "sum_current",
                "offset": 0,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "total_activepower",
                "offset": 8,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "frequency",
                "offset": 44,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "import_kwh",
                "offset": 48,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "export_kwh",
                "offset": 52,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            }
        ],
        "swap1": "",
        "swap2": "",
        "swap3": "",
        "swap1Type": "swap",
        "swap2Type": "swap",
        "swap3Type": "swap",
        "msgProperty": "payload",
        "msgPropertyType": "str",
        "resultType": "value",
        "resultTypeType": "return",
        "multipleResult": true,
        "fanOutMultipleResult": true,
        "setTopic": true,
        "outputs": 5,
        "x": 570,
        "y": 720,
        "wires": [
            [
                "06bc13df4e2b4599"
            ],
            [
                "f16a63200ad3bc39"
            ],
            [
                "9647e55295a1c604"
            ],
            [
                "bdcf8c8bce83fe9e"
            ],
            [
                "72aafe9fedf2315d"
            ]
        ]
    },
    {
        "id": "f16a63200ad3bc39",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Power Total",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/Power\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 680,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "06bc13df4e2b4599",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Current Total",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/Current\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 640,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "d88aa52fa060906d",
        "type": "buffer-parser",
        "z": "6422669c2349de10",
        "name": "",
        "data": "payload.buffer",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "floatbe",
                "name": "L1_import_kwh",
                "offset": 0,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "L2_import_kwh",
                "offset": 4,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "L3_import_kwh",
                "offset": 8,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "L1_export_kwh",
                "offset": 12,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "L2_export_kwh",
                "offset": 16,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "floatbe",
                "name": "L3_export_kwh",
                "offset": 20,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            }
        ],
        "swap1": "",
        "swap2": "",
        "swap3": "",
        "swap1Type": "swap",
        "swap2Type": "swap",
        "swap3Type": "swap",
        "msgProperty": "payload",
        "msgPropertyType": "str",
        "resultType": "value",
        "resultTypeType": "return",
        "multipleResult": true,
        "fanOutMultipleResult": true,
        "setTopic": true,
        "outputs": 6,
        "x": 570,
        "y": 960,
        "wires": [
            [
                "24b5cb2290f694ae"
            ],
            [
                "53c21d886995b114"
            ],
            [
                "d8a28686d43df1a5"
            ],
            [
                "e5229278be5c78fa"
            ],
            [
                "9e1badeca0b07253"
            ],
            [
                "cb8b56b16b4e58d6"
            ]
        ]
    },
    {
        "id": "9647e55295a1c604",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Frequenz",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/Frequency\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 720,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "bdcf8c8bce83fe9e",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Import Total",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/Energy/Forward\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 760,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "72aafe9fedf2315d",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Export Total",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/Energy/Reverse\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 800,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "24b5cb2290f694ae",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Import L1",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L1/Energy/Forward\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 860,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "53c21d886995b114",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Import L2",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L2/Energy/Forward\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 900,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "d8a28686d43df1a5",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Import L3",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L3/Energy/Forward\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 940,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "e5229278be5c78fa",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Export L1",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L1/Energy/Reverse\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 980,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "9e1badeca0b07253",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Export L2",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L2/Energy/Reverse\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 1020,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "cb8b56b16b4e58d6",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Export L3",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nvar volts=new Int32Array(2);\nlet U1 = msg.payload.toFixed(1);\nmsg={};\nmsg.payload = {\"value\":U1};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/Ac/L3/Energy/Reverse\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 820,
        "y": 1060,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "4b93938b30d040e3",
        "type": "inject",
        "z": "6422669c2349de10",
        "name": "1s",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "1",
        "crontab": "",
        "once": true,
        "onceDelay": "5",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 90,
        "y": 660,
        "wires": [
            [
                "2da3408eac458120",
                "92bda317df723588",
                "d8f53ad676406b14",
                "a2f4abd6e95bbb1e"
            ]
        ]
    },
    {
        "id": "2da3408eac458120",
        "type": "modbus-getter",
        "z": "6422669c2349de10",
        "name": "EVU SDM630 0x0000/18",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "logIOActivities": false,
        "unitid": "115",
        "dataType": "InputRegister",
        "adr": "0x0000",
        "quantity": "18",
        "server": "39fdbdb140e76228",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 330,
        "y": 360,
        "wires": [
            [],
            [
                "8401914dcbd09b86"
            ]
        ]
    },
    {
        "id": "92bda317df723588",
        "type": "modbus-getter",
        "z": "6422669c2349de10",
        "name": "EVU SDM630 0x0030/28",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "logIOActivities": false,
        "unitid": "115",
        "dataType": "InputRegister",
        "adr": "0x0030",
        "quantity": "28",
        "server": "39fdbdb140e76228",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 330,
        "y": 700,
        "wires": [
            [],
            [
                "1d648ff8b3c41c7f"
            ]
        ]
    },
    {
        "id": "d8f53ad676406b14",
        "type": "modbus-getter",
        "z": "6422669c2349de10",
        "name": "EVU SDM630 0x015a/18",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "logIOActivities": false,
        "unitid": "115",
        "dataType": "InputRegister",
        "adr": "0x015a",
        "quantity": "18",
        "server": "39fdbdb140e76228",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 330,
        "y": 960,
        "wires": [
            [],
            [
                "d88aa52fa060906d"
            ]
        ]
    },
    {
        "id": "a2f4abd6e95bbb1e",
        "type": "function",
        "z": "6422669c2349de10",
        "name": "Error Code",
        "func": "var portalID = flow.get(\"portalID\");\nvar deviceID = flow.get(\"deviceID\");\n\nmsg={};\nmsg.payload = {\"value\":0};\n\nmsg.topic = \"W/\" + portalID + \"/grid/\" + deviceID + \"/ErrorCode\";\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 830,
        "y": 600,
        "wires": [
            [
                "b30d1af937e65866"
            ]
        ]
    },
    {
        "id": "86834cf8676e9a42",
        "type": "mqtt-broker",
        "name": "VenusOS",
        "broker": "127.0.0.1",
        "port": "1883",
        "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": "39fdbdb140e76228",
        "type": "modbus-client",
        "name": "PE11 - EVU",
        "clienttype": "tcp",
        "bufferCommands": true,
        "stateLogEnabled": false,
        "queueLogEnabled": false,
        "failureLogEnabled": true,
        "tcpHost": "192.168.193.15",
        "tcpPort": "8899",
        "tcpType": "DEFAULT",
        "serialPort": "/dev/ttyUSB",
        "serialType": "RTU-BUFFERD",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "0x3A",
        "unit_id": "",
        "commandDelay": 1,
        "clientTimeout": 1000,
        "reconnectOnTimeout": false,
        "reconnectTimeout": 2000,
        "parallelUnitIdsAllowed": true
    }
]