[
    {
        "id": "34d862d7e3e33714",
        "type": "tab",
        "label": "Huawei schreiben",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "9dc84cc01681a6a9",
        "type": "modbus-write",
        "z": "34d862d7e3e33714",
        "name": "47075 (Max Charge Power)",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "unitid": "1",
        "dataType": "MHoldingRegisters",
        "adr": "47075",
        "quantity": "2",
        "server": "70220ecd.1ca1e",
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "delayOnStart": false,
        "startDelayTime": "",
        "x": 920,
        "y": 380,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "910389e948761422",
        "type": "function",
        "z": "34d862d7e3e33714",
        "name": "",
        "func": "var fc=16;\nvar sa=50;\nvar addresses=2;\nvar buf=Buffer.alloc(4);//create buffer\nbuf.writeInt32BE(msg.payload);\nvar values=[(buf[0]*256+buf[1]),(buf[2]*256)+buf[3]]\nmsg.slave_ip=\"192.168.1.76\";\nmsg.payload=values;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 380,
        "wires": [
            [
                "9dc84cc01681a6a9"
            ]
        ]
    },
    {
        "id": "3ff397b4818a42ef",
        "type": "ioBroker in",
        "z": "34d862d7e3e33714",
        "name": "Battery_Max_Charge_Power_SET",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_Max_Charge_Power_SET",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "outFormat": "MQTT",
        "x": 340,
        "y": 380,
        "wires": [
            [
                "910389e948761422"
            ]
        ]
    },
    {
        "id": "5f837fa9a14e004d",
        "type": "modbus-write",
        "z": "34d862d7e3e33714",
        "name": "47077 (Max Discharge Power)",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "unitid": "1",
        "dataType": "MHoldingRegisters",
        "adr": "47077",
        "quantity": "2",
        "server": "70220ecd.1ca1e",
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "delayOnStart": false,
        "startDelayTime": "",
        "x": 930,
        "y": 460,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "8ed321ecfddbc51b",
        "type": "function",
        "z": "34d862d7e3e33714",
        "name": "",
        "func": "var fc=16;\nvar sa=50;\nvar addresses=2;\nvar buf=Buffer.alloc(4);//create buffer\nbuf.writeInt32BE(msg.payload);\nvar values=[(buf[0]*256+buf[1]),(buf[2]*256)+buf[3]]\nmsg.slave_ip=\"192.168.1.76\";\nmsg.payload=values;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 460,
        "wires": [
            [
                "5f837fa9a14e004d"
            ]
        ]
    },
    {
        "id": "1ded1aed72e5c8d6",
        "type": "ioBroker in",
        "z": "34d862d7e3e33714",
        "name": "Battery_Max_Discharge_Power_SET",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_Max_Discharge_Power_SET",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "outFormat": "MQTT",
        "x": 350,
        "y": 460,
        "wires": [
            [
                "8ed321ecfddbc51b"
            ]
        ]
    },
    {
        "id": "b6f8dd12fbcbc8a8",
        "type": "ioBroker in",
        "z": "34d862d7e3e33714",
        "name": "Battery_AC_Load_On_OFF",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_AC_Load_On_OFF",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "outFormat": "MQTT",
        "x": 320,
        "y": 540,
        "wires": [
            [
                "33a5acc15e0407e9"
            ]
        ]
    },
    {
        "id": "33a5acc15e0407e9",
        "type": "function",
        "z": "34d862d7e3e33714",
        "name": "",
        "func": "var sa = 50; // Startadresse des Registers\nvar address = 1; // Adressen des Registers\nvar value = msg.payload; // Wert, den du schreiben möchtest (16-Bit)\n\nvar buf = Buffer.alloc(2);\nbuf.writeUInt16BE(value); // Schreibe den 16-Bit Wert in den Buffer\n\nmsg.payload = {\n    'fc': 6, // Funktion 6 für das Schreiben eines einzelnen Registers\n    'unitid': 1, // Modbus-Geräte-ID\n    'value': buf.readUInt16BE(0) // Lese den Wert aus dem Buffer\n};\n\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 540,
        "wires": [
            [
                "a6335cf3bdd49516"
            ]
        ]
    },
    {
        "id": "a6335cf3bdd49516",
        "type": "modbus-write",
        "z": "34d862d7e3e33714",
        "name": "47087 (AC Load On/Off)",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "unitid": "1",
        "dataType": "HoldingRegister",
        "adr": "47087",
        "quantity": "1",
        "server": "70220ecd.1ca1e",
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "delayOnStart": false,
        "startDelayTime": "",
        "x": 930,
        "y": 540,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "b880571203ec3425",
        "type": "ioBroker in",
        "z": "34d862d7e3e33714",
        "name": "Workingmode_Change_2 max self_ 5TOU",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Mode_2Self_5TOU",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "outFormat": "MQTT",
        "x": 360,
        "y": 600,
        "wires": [
            [
                "1865aea33f90e450"
            ]
        ]
    },
    {
        "id": "591cc9384b97cddf",
        "type": "modbus-write",
        "z": "34d862d7e3e33714",
        "name": "47086 (Workingmode)",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "unitid": "1",
        "dataType": "HoldingRegister",
        "adr": "47086",
        "quantity": "1",
        "server": "70220ecd.1ca1e",
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "delayOnStart": false,
        "startDelayTime": "",
        "x": 920,
        "y": 600,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "1865aea33f90e450",
        "type": "function",
        "z": "34d862d7e3e33714",
        "name": "",
        "func": "var sa = 50; // Startadresse des Registers\nvar address = 1; // Adressen des Registers\nvar value = msg.payload; // Wert, den du schreiben möchtest (16-Bit)\n\nvar buf = Buffer.alloc(2);\nbuf.writeUInt16BE(value); // Schreibe den 16-Bit Wert in den Buffer\n\nmsg.payload = {\n    'fc': 6, // Funktion 6 für das Schreiben eines einzelnen Registers\n    'unitid': 1, // Modbus-Geräte-ID\n    'value': buf.readUInt16BE(0) // Lese den Wert aus dem Buffer\n};\n\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 600,
        "wires": [
            [
                "591cc9384b97cddf"
            ]
        ]
    },
    {
        "id": "dddd9d6a489267e9",
        "type": "modbus-getter",
        "z": "34d862d7e3e33714",
        "name": "47075-47087",
        "showStatusActivities": false,
        "showErrors": false,
        "showWarnings": true,
        "logIOActivities": false,
        "unitid": "1",
        "dataType": "HoldingRegister",
        "adr": "47075",
        "quantity": "26",
        "server": "70220ecd.1ca1e",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "delayOnStart": false,
        "startDelayTime": "",
        "x": 230,
        "y": 240,
        "wires": [
            [
                "31c1ce86aa6b903b"
            ],
            []
        ]
    },
    {
        "id": "31c1ce86aa6b903b",
        "type": "buffer-parser",
        "z": "34d862d7e3e33714",
        "name": "Schreibbar",
        "data": "payload",
        "dataType": "msg",
        "specification": "spec",
        "specificationType": "ui",
        "items": [
            {
                "type": "uint32be",
                "name": "47075 - Maximum Charging [W]",
                "offset": 0,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "uint32be",
                "name": "47077 - Maximum Discharge [W]",
                "offset": 4,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "47087 -  Charge from Grid",
                "offset": 24,
                "length": 1,
                "offsetbit": 0,
                "scale": "1",
                "mask": ""
            },
            {
                "type": "uint16be",
                "name": "47086 - Mode",
                "offset": 22,
                "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": 4,
        "x": 490,
        "y": 240,
        "wires": [
            [
                "3b2523c8f2dcc8cd"
            ],
            [
                "f11645a6490683bd"
            ],
            [
                "1ec9e7ba8317947e"
            ],
            [
                "72eb74b73b3f1be5"
            ]
        ]
    },
    {
        "id": "3b2523c8f2dcc8cd",
        "type": "ioBroker out",
        "z": "34d862d7e3e33714",
        "name": "47075 - Battery_Max_Charge_Power",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_Max_Charge_Power",
        "ack": "true",
        "autoCreate": "true",
        "stateName": "Huawei",
        "role": "Power",
        "payloadType": "number",
        "readonly": "true",
        "stateUnit": "W",
        "stateMin": "",
        "stateMax": "",
        "x": 1010,
        "y": 80,
        "wires": []
    },
    {
        "id": "f11645a6490683bd",
        "type": "ioBroker out",
        "z": "34d862d7e3e33714",
        "name": "47077 - Battery_Max_Discharge_Power",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_Max_Discharge_Power",
        "ack": "true",
        "autoCreate": "true",
        "stateName": "Huawei",
        "role": "Power",
        "payloadType": "number",
        "readonly": "true",
        "stateUnit": "W",
        "stateMin": "",
        "stateMax": "",
        "x": 1020,
        "y": 140,
        "wires": []
    },
    {
        "id": "1ec9e7ba8317947e",
        "type": "ioBroker out",
        "z": "34d862d7e3e33714",
        "name": "47087 - Battery_AC_Load",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Battery_AC_Load",
        "ack": "true",
        "autoCreate": "true",
        "stateName": "Huawei",
        "role": "Power",
        "payloadType": "number",
        "readonly": "true",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 970,
        "y": 200,
        "wires": []
    },
    {
        "id": "f4537ecccd0ee522",
        "type": "ioBroker out",
        "z": "34d862d7e3e33714",
        "name": "47086 - Working mode [N/A]",
        "topic": "0_userdata.0.Photovoltaik.Huawei.Change.Battery.Working_mode",
        "ack": "true",
        "autoCreate": "true",
        "stateName": "Working_mode",
        "role": "Power",
        "payloadType": "string",
        "readonly": "false",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 980,
        "y": 260,
        "wires": []
    },
    {
        "id": "72eb74b73b3f1be5",
        "type": "function",
        "z": "34d862d7e3e33714",
        "name": "Working mode Text",
        "func": "\nswitch (parseInt(msg.payload)) {\n    case 0:\n        msg.payload = \"0 Adaptive(Self Consumtion)\";\n        break;\n    case 1:\n        msg.payload = \"1 Fix\";\n        break;\n    case 2:\n        msg.payload = \"2 Maximise self consumtion\";\n        break;\n    case 3:\n        msg.payload = \"3 Time of Use (LG)\";\n        break;\n    case 4:\n        msg.payload = \"4 Fully fed to grid\";\n        break;  \n    case 5:\n        msg.payload = \"5 Time of Use (LUNA2000)\";\n        break;    \n    \n    default:\n        msg.payload = \"Unknown state\";\n}\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 730,
        "y": 260,
        "wires": [
            [
                "f4537ecccd0ee522"
            ]
        ]
    },
    {
        "id": "70220ecd.1ca1e",
        "type": "modbus-client",
        "name": "Huawei-Luna",
        "clienttype": "tcp",
        "bufferCommands": true,
        "stateLogEnabled": true,
        "queueLogEnabled": false,
        "failureLogEnabled": true,
        "tcpHost": "192.168.178.48",
        "tcpPort": "502",
        "tcpType": "DEFAULT",
        "serialPort": "/dev/ttyUSB",
        "serialType": "RTU-BUFFERD",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "",
        "unit_id": 1,
        "commandDelay": 1,
        "clientTimeout": 5000,
        "reconnectOnTimeout": true,
        "reconnectTimeout": 2000,
        "parallelUnitIdsAllowed": true
    }
]