[ { "id": "23aa1b344c7e86c1", "type": "tab", "label": "Modbus TCP Versuch", "disabled": false, "info": "", "env": [] }, { "id": "1c3a5c8f2b5fac6d", "type": "comment", "z": "23aa1b344c7e86c1", "name": "Anleitung Forum", "info": "[https://forum.iobroker.net/topic/51639/howto-huawei-sun2000-wr-modbus-mit-node-red-read-write]()", "x": 100, "y": 40, "wires": [] }, { "id": "e8a1884dd9599790", "type": "inject", "z": "23aa1b344c7e86c1", "name": "10sec", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "10", "crontab": "", "once": true, "onceDelay": "5", "topic": "", "payload": "", "payloadType": "date", "x": 140, "y": 100, "wires": [ [ "4c0b8e0552c70761" ] ] }, { "id": "23470085bf42bcf0", "type": "delay", "z": "23aa1b344c7e86c1", "d": true, "name": "", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 280, "y": 1340, "wires": [ [ "ac8206bd3c24f244" ] ] }, { "id": "f6ff80f76907bf06", "type": "comment", "z": "23aa1b344c7e86c1", "name": "WR1 (ID1)", "info": "", "x": 480, "y": 1160, "wires": [] }, { "id": "6377e913634ebef5", "type": "comment", "z": "23aa1b344c7e86c1", "name": "WR2 (ID2)", "info": "", "x": 460, "y": 1300, "wires": [] }, { "id": "9bf346bd0111473c", "type": "comment", "z": "23aa1b344c7e86c1", "name": "Batterie + Meter (ID1)", "info": "", "x": 500, "y": 1420, "wires": [] }, { "id": "5edf9c3722b9e9df", "type": "debug", "z": "23aa1b344c7e86c1", "name": "Modbus Debug", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1240, "y": 100, "wires": [] }, { "id": "20729247d069f9a8", "type": "change", "z": "23aa1b344c7e86c1", "name": "Time/Date (UTC)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$moment(msg.payload*1000).locale(\"de\").utc().format('kk:mm [Uhr] (dddd, DD.MM.YYYY)')", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 2420, "wires": [ [ "8df30927af5e804c" ] ] }, { "id": "c7b3790517a24773", "type": "change", "z": "23aa1b344c7e86c1", "name": "Time/Date (UTC)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$moment(msg.payload*1000).locale(\"de\").utc().format('kk:mm [Uhr] (dddd, DD.MM.YYYY)')", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 2320, "wires": [ [ "0d6ee73a04b49f81" ] ] }, { "id": "ae8dad9d733c5e91", "type": "switch", "z": "23aa1b344c7e86c1", "name": "Gültige Uhrzeit?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "0xffffffff", "vt": "str" }, { "t": "eq", "v": "0xffffffff", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 580, "y": 2340, "wires": [ [ "c7b3790517a24773" ], [ "ac8c09a331a22ef8" ] ] }, { "id": "ac8c09a331a22ef8", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "--", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 2360, "wires": [ [ "0d6ee73a04b49f81" ] ] }, { "id": "1cd98d18c47f2465", "type": "switch", "z": "23aa1b344c7e86c1", "name": "Gültige Uhrzeit?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "0xffffffff", "vt": "str" }, { "t": "eq", "v": "0xffffffff", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 580, "y": 2440, "wires": [ [ "20729247d069f9a8" ], [ "eb9671d3764173f3" ] ] }, { "id": "eb9671d3764173f3", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "--", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 2460, "wires": [ [ "8df30927af5e804c" ] ] }, { "id": "23d9f7435419f487", "type": "function", "z": "23aa1b344c7e86c1", "name": "Device status Text", "func": "\nswitch (parseInt(msg.payload)) {\n case 0x0000:\n msg.payload = \"Standby: initializing\";\n break;\n case 0x0001:\n msg.payload = \"Standby: detecting insulation resistance\";\n break;\n case 0x0002:\n msg.payload = \"Standby: detecting irradiation\";\n break;\n case 0x0003:\n msg.payload = \"Standby: drid detecting\";\n break;\n case 0x0100:\n msg.payload = \"Starting\";\n break;\n case 0x0200:\n msg.payload = \"On-grid\";\n break;\n case 0x0201:\n msg.payload = \"Grid connection: power limited\";\n break;\n case 0x0202:\n msg.payload = \"Grid connection: self-derating\";\n break;\n case 0x0203:\n msg.payload = \"Off-grid Running\";\n break;\n case 0x0300:\n msg.payload = \"Shutdown: fault\";\n break;\n case 0x0301:\n msg.payload = \"Shutdown: command\";\n break;\n case 0x0302:\n msg.payload = \"Shutdown: OVGR\";\n break;\n case 0x0303:\n msg.payload = \"Shutdown: communication disconnected\";\n break;\n case 0x0304:\n msg.payload = \"Shutdown: power limited\";\n break;\n case 0x0305:\n msg.payload = \"Shutdown: manual startup required\";\n break;\n case 0x0306:\n msg.payload = \"Shutdown: DC switches disconnected\";\n break;\n case 0x0307:\n msg.payload = \"Shutdown: rapid cutoff\";\n break;\n case 0x0308:\n msg.payload = \"Shutdown: input underpower\";\n break;\n case 0x0401:\n msg.payload = \"Grid scheduling: cosφ-P curve\";\n break;\n case 0x0402:\n msg.payload = \"Grid scheduling: Q-U curve\";\n break;\n case 0x0403:\n msg.payload = \"Grid scheduling: PF-U curve\";\n break;\n case 0x0404:\n msg.payload = \"Grid scheduling: dry contact\";\n break;\n case 0x0405:\n msg.payload = \"Grid scheduling: Q-P curve\";\n break;\n case 0x0500:\n msg.payload = \"Spot-check ready\";\n break;\n case 0x0501:\n msg.payload = \"Spot-checking\";\n break;\n case 0x0600:\n msg.payload = \"Inspecting\";\n break;\n case 0x0700:\n msg.payload = \"AFCI self check\";\n break;\n case 0x0800:\n msg.payload = \"I-V scanning\";\n break;\n case 0x0900:\n msg.payload = \"DC input detection\";\n break;\n case 0x0A00:\n msg.payload = \"Running: off-grid charging\";\n break;\n case 0xA000:\n msg.payload = \"Standby: no irradiation\";\n break; \n default:\n msg.payload = \"shed unknown sensor\";\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 770, "y": 2240, "wires": [ [ "711c5cdee96a4311" ] ] }, { "id": "ef3499c324df297d", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32016 - PV1 voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.PV1_voltage", "ack": "true", "autoCreate": "true", "stateName": "PV1_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 2070, "y": 1240, "wires": [] }, { "id": "cd4689a195a434b6", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32017 - PV1 current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.PV1_current", "ack": "true", "autoCreate": "true", "stateName": "PV1_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 2070, "y": 1300, "wires": [] }, { "id": "47b8a786cf959d64", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32018 - PV2 voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.PV2_voltage", "ack": "true", "autoCreate": "true", "stateName": "PV2_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 2070, "y": 1360, "wires": [] }, { "id": "64691d9e59db71cc", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32019 - PV2 current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.PV2_current", "ack": "true", "autoCreate": "true", "stateName": "PV2_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 2070, "y": 1420, "wires": [] }, { "id": "391c3f6d7c1aa224", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32064 - Input power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Input_Power_2", "ack": "true", "autoCreate": "true", "stateName": "Input_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 2070, "y": 1480, "wires": [] }, { "id": "a1a4f89287d8a717", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32069 - Phase A voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_A_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_A_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 2080, "y": 1540, "wires": [] }, { "id": "8a122ca733ef6d8d", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32070 - Phase B voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_B_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_B_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 2080, "y": 1600, "wires": [] }, { "id": "8d01ae40cdb82f92", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32071 - Phase C voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_C_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_C_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 2080, "y": 1660, "wires": [] }, { "id": "135c316ad8b47bee", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32072 - Phase A current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_A_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_A_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 2080, "y": 1720, "wires": [] }, { "id": "9eb17994d708a83c", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32074 - Phase B current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_B_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_B_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 2080, "y": 1780, "wires": [] }, { "id": "ac0bb8a190ea1666", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32076 - Phase C current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Phase_C_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_C_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 2080, "y": 1840, "wires": [] }, { "id": "f62322ebc95bc4a8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32078 - Peak active power of current day [kW]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Peak_active_power_of_current_day", "ack": "true", "autoCreate": "true", "stateName": "Peak_active_power_of_current_day", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 2140, "y": 1900, "wires": [] }, { "id": "89f22d706bf527f4", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32084 - Power factor [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Power_factor", "ack": "true", "autoCreate": "true", "stateName": "Power_factor", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2080, "y": 2020, "wires": [] }, { "id": "5d81a80a4de0d6be", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32086 - Efficiency [%]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Efficiency", "ack": "true", "autoCreate": "true", "stateName": "Efficiency", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "%", "stateMin": "", "stateMax": "", "x": 2060, "y": 2140, "wires": [] }, { "id": "98ef41ddb4a42c23", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32089 - Device status [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Device_status", "ack": "true", "autoCreate": "true", "stateName": "Device_status", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2080, "y": 2260, "wires": [] }, { "id": "b8e7add92ed7e72a", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32087 - Internal temperature [°C]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Internal_temperature", "ack": "true", "autoCreate": "true", "stateName": "Internal_temperature", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 2100, "y": 2200, "wires": [] }, { "id": "f34a33abef628e24", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32085 - Grid frequency [Hz]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Grid_frequency", "ack": "true", "autoCreate": "true", "stateName": "Grid_frequency", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "Hz", "stateMin": "", "stateMax": "", "x": 2080, "y": 2080, "wires": [] }, { "id": "325608afeb4cf2a6", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32080 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Active_power", "ack": "true", "autoCreate": "true", "stateName": "Active_power", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 2070, "y": 1960, "wires": [] }, { "id": "82cd970673097202", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32090 - Fault code [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Fault_code", "ack": "true", "autoCreate": "true", "stateName": "Fault_code", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2070, "y": 2320, "wires": [] }, { "id": "d851834dcd803efc", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32091 - Startup time [date]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Startup_time", "ack": "true", "autoCreate": "true", "stateName": "Startup_time", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2080, "y": 2380, "wires": [] }, { "id": "02f2fdbc397337b4", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32093 - Shutdown time [date]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Shutdown_time", "ack": "true", "autoCreate": "true", "stateName": "Shutdown_time", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2080, "y": 2440, "wires": [] }, { "id": "b9b6572436d68c6a", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32106 - Accumulated energy yield [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Accumulated_Energy_Yield_2", "ack": "true", "autoCreate": "true", "stateName": "Accumulated_energy_yield", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 2120, "y": 2500, "wires": [] }, { "id": "ec29a33ff5d236c8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32114 - Daily energy yield [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Daily_Energy_Yield_2", "ack": "true", "autoCreate": "true", "stateName": "Daily_energy_yield", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 2090, "y": 2560, "wires": [] }, { "id": "f36ee74dcfbec93f", "type": "change", "z": "23aa1b344c7e86c1", "name": "Time/Date (UTC)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$moment(msg.payload*1000).locale(\"de\").utc().format('kk:mm [Uhr] (dddd, DD.MM.YYYY)')", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1790, "y": 2440, "wires": [ [ "02f2fdbc397337b4" ] ] }, { "id": "07b8bcfa8f25c28e", "type": "change", "z": "23aa1b344c7e86c1", "name": "Time/Date (UTC)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "$moment(msg.payload*1000).locale(\"de\").utc().format('kk:mm [Uhr] (dddd, DD.MM.YYYY)')", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1790, "y": 2340, "wires": [ [ "d851834dcd803efc" ] ] }, { "id": "82faaf6831a4c642", "type": "switch", "z": "23aa1b344c7e86c1", "name": "Gültige Uhrzeit?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "0xffffffff", "vt": "str" }, { "t": "eq", "v": "0xffffffff", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1600, "y": 2360, "wires": [ [ "07b8bcfa8f25c28e" ], [ "9c077b8a29da4c17" ] ] }, { "id": "9c077b8a29da4c17", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "--", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1790, "y": 2380, "wires": [ [ "d851834dcd803efc" ] ] }, { "id": "7a6c67b3f98b052b", "type": "switch", "z": "23aa1b344c7e86c1", "name": "Gültige Uhrzeit?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "neq", "v": "0xffffffff", "vt": "str" }, { "t": "eq", "v": "0xffffffff", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1600, "y": 2460, "wires": [ [ "f36ee74dcfbec93f" ], [ "09a9f242c149beb5" ] ] }, { "id": "09a9f242c149beb5", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "--", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1790, "y": 2480, "wires": [ [ "02f2fdbc397337b4" ] ] }, { "id": "1e718addb43afefd", "type": "function", "z": "23aa1b344c7e86c1", "name": "Device status Text", "func": "\nswitch (parseInt(msg.payload)) {\n case 0x0000:\n msg.payload = \"Standby: initializing\";\n break;\n case 0x0001:\n msg.payload = \"Standby: detecting insulation resistance\";\n break;\n case 0x0002:\n msg.payload = \"Standby: detecting irradiation\";\n break;\n case 0x0003:\n msg.payload = \"Standby: drid detecting\";\n break;\n case 0x0100:\n msg.payload = \"Starting\";\n break;\n case 0x0200:\n msg.payload = \"On-grid\";\n break;\n case 0x0201:\n msg.payload = \"Grid connection: power limited\";\n break;\n case 0x0202:\n msg.payload = \"Grid connection: self-derating\";\n break;\n case 0x0203:\n msg.payload = \"Off-grid Running\";\n break;\n case 0x0300:\n msg.payload = \"Shutdown: fault\";\n break;\n case 0x0301:\n msg.payload = \"Shutdown: command\";\n break;\n case 0x0302:\n msg.payload = \"Shutdown: OVGR\";\n break;\n case 0x0303:\n msg.payload = \"Shutdown: communication disconnected\";\n break;\n case 0x0304:\n msg.payload = \"Shutdown: power limited\";\n break;\n case 0x0305:\n msg.payload = \"Shutdown: manual startup required\";\n break;\n case 0x0306:\n msg.payload = \"Shutdown: DC switches disconnected\";\n break;\n case 0x0307:\n msg.payload = \"Shutdown: rapid cutoff\";\n break;\n case 0x0308:\n msg.payload = \"Shutdown: input underpower\";\n break;\n case 0x0401:\n msg.payload = \"Grid scheduling: cosφ-P curve\";\n break;\n case 0x0402:\n msg.payload = \"Grid scheduling: Q-U curve\";\n break;\n case 0x0403:\n msg.payload = \"Grid scheduling: PF-U curve\";\n break;\n case 0x0404:\n msg.payload = \"Grid scheduling: dry contact\";\n break;\n case 0x0405:\n msg.payload = \"Grid scheduling: Q-P curve\";\n break;\n case 0x0500:\n msg.payload = \"Spot-check ready\";\n break;\n case 0x0501:\n msg.payload = \"Spot-checking\";\n break;\n case 0x0600:\n msg.payload = \"Inspecting\";\n break;\n case 0x0700:\n msg.payload = \"AFCI self check\";\n break;\n case 0x0800:\n msg.payload = \"I-V scanning\";\n break;\n case 0x0900:\n msg.payload = \"DC input detection\";\n break;\n case 0x0A00:\n msg.payload = \"Running: off-grid charging\";\n break;\n case 0xA000:\n msg.payload = \"Standby: no irradiation\";\n break; \n default:\n msg.payload = \"Unknown state\";\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1790, "y": 2260, "wires": [ [ "98ef41ddb4a42c23" ] ] }, { "id": "39cb109e28332708", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37001 - Charge and discharge power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Battery_Power", "ack": "true", "autoCreate": "true", "stateName": "Charge_and_discharge_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 3220, "y": 1100, "wires": [] }, { "id": "bc355377425a4643", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37003 - Bus voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Bus_voltage", "ack": "true", "autoCreate": "true", "stateName": "Bus_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 3170, "y": 1160, "wires": [] }, { "id": "500d91c51f7fb2f2", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37004 - Battery SOC [%]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Battery_SOC", "ack": "true", "autoCreate": "true", "stateName": "Battery_SOC", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "%", "stateMin": "", "stateMax": "", "x": 3170, "y": 1220, "wires": [] }, { "id": "53a2c8e6de1689e8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37006 - Working mode [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Working_mode", "ack": "true", "autoCreate": "true", "stateName": "Working_mode", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 3180, "y": 1280, "wires": [] }, { "id": "355de67c94cb765b", "type": "function", "z": "23aa1b344c7e86c1", "name": "Working mode Text", "func": "\nswitch (parseInt(msg.payload)) {\n case 0:\n msg.payload = \"None\";\n break;\n case 1:\n msg.payload = \"Forcible charge/discharge\";\n break;\n case 2:\n msg.payload = \"Time of Use (LG)\";\n break;\n case 3:\n msg.payload = \"Fixed charge/discharge\";\n break;\n case 4:\n msg.payload = \"Maximise self consumption\";\n break; \n case 5:\n msg.payload = \"Fully fed to grid\";\n break; \n case 6:\n msg.payload = \"Time of Use (LUNA2000)\";\n break; \n case 7:\n msg.payload = \"Remote scheduling maximum selfuse\";\n break; \n case 8:\n msg.payload = \"Remote scheduling - full Internet access\";\n break; \n case 9:\n msg.payload = \"Remote scheduling - TOU\";\n break; \n case 10:\n msg.payload = \"AI energy management and scheduling\";\n break; \n default:\n msg.payload = \"Unknown state\";\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 2910, "y": 1280, "wires": [ [ "53a2c8e6de1689e8" ] ] }, { "id": "131e96a30e2e2668", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37014 - Fault ID [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Fault_ID", "ack": "true", "autoCreate": "true", "stateName": "Fault_ID", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 3160, "y": 1340, "wires": [] }, { "id": "7f45759690f05beb", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37015 - Current-day charge capacity [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Current-day_charge_capacity", "ack": "true", "autoCreate": "true", "stateName": "Current-day_charge_capacity", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3230, "y": 1400, "wires": [] }, { "id": "3e5bbfc2a4dc4d6a", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37017 - Current-day discharge capacity [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Current-day_discharge_capacity", "ack": "true", "autoCreate": "true", "stateName": "Current-day_discharge_capacity", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3240, "y": 1460, "wires": [] }, { "id": "d5cf3ea563e39f0a", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37021 - Bus current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Bus_current", "ack": "true", "autoCreate": "true", "stateName": "Bus_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 3170, "y": 1520, "wires": [] }, { "id": "65443d4a3267fcd3", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37022 - Battery temperature [℃]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Battery_temperature", "ack": "true", "autoCreate": "true", "stateName": "Battery_temperature", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 3190, "y": 1580, "wires": [] }, { "id": "912a7cc40bab2b79", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37066 - Total charge [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Battery_Total_Charge", "ack": "true", "autoCreate": "true", "stateName": "Total_charge", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3180, "y": 1640, "wires": [] }, { "id": "39ce1af0e96fc231", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37068 - Total discharge [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Battery.Battery_Total_DisCharge", "ack": "true", "autoCreate": "true", "stateName": "Total_discharge", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3190, "y": 1700, "wires": [] }, { "id": "a47b48c6d064072b", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37100 - Meter status [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Meter_status", "ack": "true", "autoCreate": "true", "stateName": "Meter_status", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 3170, "y": 1760, "wires": [] }, { "id": "dc85a7bc9e36a155", "type": "function", "z": "23aa1b344c7e86c1", "name": "Meter status Text", "func": "\nswitch (parseInt(msg.payload)) {\n case 0:\n msg.payload = \"Offline\";\n break;\n case 1:\n msg.payload = \"Normal\";\n break; \n default:\n msg.payload = \"Unknown state\";\n}\n\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 2930, "y": 1760, "wires": [ [ "a47b48c6d064072b" ] ] }, { "id": "0b653749c14639c8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37101 - A phase voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.A_phase_voltage", "ack": "true", "autoCreate": "true", "stateName": "A_phase_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 3180, "y": 1820, "wires": [] }, { "id": "bfb15b56c928f122", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37103 - B phase voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.B_phase_voltage", "ack": "true", "autoCreate": "true", "stateName": "B_phase_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 3180, "y": 1880, "wires": [] }, { "id": "81237af14a1682af", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37105 - C phase voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.C_phase_voltage", "ack": "true", "autoCreate": "true", "stateName": "C_phase_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 3180, "y": 1940, "wires": [] }, { "id": "5dfd83f6ba6d7f52", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37107 - A phase current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.A_phase_current", "ack": "true", "autoCreate": "true", "stateName": "A_phase_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 3180, "y": 2000, "wires": [] }, { "id": "9870062250ad3a58", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37109 - B phase current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.B_phase_current", "ack": "true", "autoCreate": "true", "stateName": "B_phase_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 3180, "y": 2060, "wires": [] }, { "id": "f37b3ce685a7b205", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37111 - C phase current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.C_phase_current", "ack": "true", "autoCreate": "true", "stateName": "C_phase_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 3180, "y": 2120, "wires": [] }, { "id": "d196bff4f8749475", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37113 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Active_Power", "ack": "true", "autoCreate": "true", "stateName": "Active_power ", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 3170, "y": 2180, "wires": [] }, { "id": "a75ae30f10e33ae4", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37118 - Grid frequency [Hz]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Grid_frequency", "ack": "true", "autoCreate": "true", "stateName": "Grid_frequency", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "Hz", "stateMin": "", "stateMax": "", "x": 3180, "y": 2240, "wires": [] }, { "id": "08747040e641e61c", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37119 - Positive active electricity [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Positive_active_electricity", "ack": "true", "autoCreate": "true", "stateName": "Positive_active_electricity", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3210, "y": 2300, "wires": [] }, { "id": "2448a00d459ade87", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37121 - Reverse active power [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Reverse_active_power", "ack": "true", "autoCreate": "true", "stateName": "Reverse_active_power", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kWh", "stateMin": "", "stateMax": "", "x": 3210, "y": 2360, "wires": [] }, { "id": "f690c6bfee0d944b", "type": "comment", "z": "23aa1b344c7e86c1", "name": "Debug only", "info": "", "x": 930, "y": 40, "wires": [] }, { "id": "f60ed8815953ab09", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "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": 2170, "y": 260, "wires": [] }, { "id": "b556f1cac7b6f6d1", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "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": 2180, "y": 320, "wires": [] }, { "id": "888c859c9921d9f1", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "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": 2130, "y": 380, "wires": [] }, { "id": "e753ffb4c9a2e593", "type": "function", "z": "23aa1b344c7e86c1", "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": 520, "y": 2640, "wires": [ [ "5662c9284ba59555" ] ] }, { "id": "f99935aa900d72d2", "type": "ioBroker in", "z": "23aa1b344c7e86c1", "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": 260, "y": 2640, "wires": [ [ "e753ffb4c9a2e593", "1cd1781bb44abe41" ] ] }, { "id": "6dd82452742459ab", "type": "function", "z": "23aa1b344c7e86c1", "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": 520, "y": 2720, "wires": [ [ "a4d9aad128f9d34b" ] ] }, { "id": "64cfd70508e9243c", "type": "ioBroker in", "z": "23aa1b344c7e86c1", "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": 270, "y": 2720, "wires": [ [ "6dd82452742459ab", "1cd1781bb44abe41" ] ] }, { "id": "362f5ce5ad5ee93d", "type": "ioBroker in", "z": "23aa1b344c7e86c1", "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": 240, "y": 2800, "wires": [ [ "1df7b0ebb7cf0d8f", "1cd1781bb44abe41" ] ] }, { "id": "865a8873a6b7e47f", "type": "delay", "z": "23aa1b344c7e86c1", "d": true, "name": "", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 280, "y": 1460, "wires": [ [ "31a6cf722f8cc561" ] ] }, { "id": "1df7b0ebb7cf0d8f", "type": "function", "z": "23aa1b344c7e86c1", "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": 540, "y": 2800, "wires": [ [ "c2c2c4b1aef1d751" ] ] }, { "id": "597eab6da4897f92", "type": "function", "z": "23aa1b344c7e86c1", "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": 1890, "y": 440, "wires": [ [ "88fdaf6413cef85a" ] ] }, { "id": "88fdaf6413cef85a", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "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": 2140, "y": 440, "wires": [] }, { "id": "bb9da33cc3fefd46", "type": "ioBroker in", "z": "23aa1b344c7e86c1", "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": 280, "y": 2860, "wires": [ [ "438d5d3694b9854d", "1cd1781bb44abe41" ] ] }, { "id": "438d5d3694b9854d", "type": "function", "z": "23aa1b344c7e86c1", "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": 540, "y": 2860, "wires": [ [ "b6305caa6276a895" ] ] }, { "id": "e382caf6840ddbd9", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Inverter", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "32016 - PV1 voltage [V]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "32017 - PV1 current [A]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "32018 - PV2 voltage [V]", "offset": 4, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "32019 - PV2 current [A]", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "32064 - Input power [kW]", "offset": 96, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "32066 - Line voltage between phases A and B [V]", "offset": 100, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32067 - Line voltage between phases B and C [V]", "offset": 102, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32068 - Line voltage between phases C and A [V]", "offset": 104, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32069 - Phase A voltage [V]", "offset": 106, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32070 - Phase B voltage [V]", "offset": 108, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32071 - Phase C voltage [V]", "offset": 110, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "32072 - Phase A current [A]", "offset": 112, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32074 - Phase B current [A]", "offset": 116, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32076 - Phase C current [A]", "offset": 120, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32078 - Peak active power of current day [kW]", "offset": 124, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32080 - Active power [kW]", "offset": 128, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32082 - Reactive power [kVar]", "offset": 132, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int16be", "name": "32084 - Power factor [N/A]", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "32085 - Grid frequency [Hz]", "offset": 138, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "32086 - Efficiency [%]", "offset": 140, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "32087 - Internal temperature [°C]", "offset": 142, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32088 - Insulation resistance [MΩ]", "offset": 144, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "32089 - Device status [N/A]", "offset": 146, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "32090 - Fault code [N/A]", "offset": 148, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32091 - Startup time [N/A]", "offset": 150, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32093 - Shutdown time [N/A]", "offset": 154, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32106 - Accumulated energy yield [kWh]", "offset": 180, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "32114 - Daily energy yield [kWh]", "offset": 196, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": true, "setTopic": true, "outputs": 1, "x": 920, "y": 80, "wires": [ [ "5edf9c3722b9e9df" ] ] }, { "id": "67b4e14aab2b36af", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Battery+Meter", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "37000 - [Energy storage unit 1] Running status [N/A]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "37001 - [Energy storage unit 1] Charge and discharge power [W]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "37003 - [Energy storage unit 1] Bus voltage [V]", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "37004 - [Energy storage unit 1] Battery SOC [%]", "offset": 8, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "37006 - [Energy storage unit 1] Working mode [N/A]", "offset": 12, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37007 - [Energy storage unit 1] Rated charge power [W]", "offset": 14, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37009 - [Energy storage unit 1] Rated discharge power [W]", "offset": 18, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "37014 - [Energy storage unit 1] Fault ID [N/A]", "offset": 28, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37015 - [Energy storage unit 1] Current-day charge capacity [kWh]", "offset": 30, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "37017 - [Energy storage unit 1] Current-day discharge capacity [kWh]", "offset": 34, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "37021 - [Energy storage unit 1] Bus current [A]", "offset": 42, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "37022 - [Energy storage unit 1] battery temperature [℃]", "offset": 44, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "37025 - [Energy storage unit 1] Remaining charge/discharge time [mins]", "offset": 50, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "string", "name": "37026 - [Energy storage unit 1] DCDC version [N/A]", "offset": 52, "length": 10, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "string", "name": "37036 - [Energy storage unit 1] BMS version [N/A]", "offset": 72, "length": 10, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37046 - [Energy storage] Maximum charge power [W]", "offset": 92, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37048 - [Energy storage] Maximum discharge power [W]", "offset": 96, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "string", "name": "37052 - [Energy storage unit 1] SN [N/A]", "offset": 104, "length": 12, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37066 - [Energy storage unit 1] Total charge [kWh]", "offset": 132, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "37068 - [Energy storage unit 1] Total discharge [kWh]", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "37100 - Meter status [N/A]", "offset": 200, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "37101 - A phase voltage [V]", "offset": 202, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37103 - B phase voltage [V]", "offset": 206, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37105 - C phase voltage [V]", "offset": 210, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37107 - A phase current [A]", "offset": 214, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37109 - B phase current [A]", "offset": 218, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37111 - C phase current [A]", "offset": 222, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37113 - Active power [W]", "offset": 226, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "37115 - Reactive power [Var]", "offset": 230, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "37117 - Power factor [NA]", "offset": 234, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int16be", "name": "37118 - Grid frequency [Hz]", "offset": 236, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37119 - Positive active electricity [kWh]", "offset": 238, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37121 - Reverse active power [kWh]", "offset": 242, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37123 - Accumulated reactive power [kVar h]", "offset": 246, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": true, "setTopic": true, "outputs": 1, "x": 940, "y": 140, "wires": [ [ "5edf9c3722b9e9df" ] ] }, { "id": "ae6eb260d28b1880", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Battery+Meter", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "37001 - [Energy storage unit 1] Charge and discharge power [W]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "37003 - [Energy storage unit 1] Bus voltage [V]", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "37004 - [Energy storage unit 1] Battery SOC [%]", "offset": 8, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "37006 - [Energy storage unit 1] Working mode [N/A]", "offset": 12, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "37014 - [Energy storage unit 1] Fault ID [N/A]", "offset": 28, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "37015 - [Energy storage unit 1] Current-day charge capacity [kWh]", "offset": 30, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "37017 - [Energy storage unit 1] Current-day discharge capacity [kWh]", "offset": 34, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "37021 - [Energy storage unit 1] Bus current [A]", "offset": 42, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "37022 - [Energy storage unit 1] Battery temperature [℃]", "offset": 44, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint32be", "name": "37066 - [Energy storage unit 1] Total charge [kWh]", "offset": 132, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "37068 - [Energy storage unit 1] Total discharge [kWh]", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "37100 - Meter status [N/A]", "offset": 200, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "37101 - A phase voltage [V]", "offset": 202, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37103 - B phase voltage [V]", "offset": 206, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37105 - C phase voltage [V]", "offset": 210, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "37107 - A phase current [A]", "offset": 214, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37109 - B phase current [A]", "offset": 218, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37111 - C phase current [A]", "offset": 222, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37113 - Active power [W]", "offset": 226, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "37118 - Grid frequency [Hz]", "offset": 236, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37119 - Positive active electricity [kWh]", "offset": 238, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "37121 - Reverse active power [kWh]", "offset": 242, "length": 1, "offsetbit": 0, "scale": "/100", "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": 22, "x": 2580, "y": 1580, "wires": [ [ "39cb109e28332708" ], [ "bc355377425a4643" ], [ "500d91c51f7fb2f2" ], [ "355de67c94cb765b" ], [ "131e96a30e2e2668" ], [ "7f45759690f05beb" ], [ "3e5bbfc2a4dc4d6a" ], [ "d5cf3ea563e39f0a" ], [ "65443d4a3267fcd3" ], [ "912a7cc40bab2b79" ], [ "39ce1af0e96fc231" ], [ "dc85a7bc9e36a155" ], [ "0b653749c14639c8" ], [ "bfb15b56c928f122" ], [ "81237af14a1682af" ], [ "5dfd83f6ba6d7f52" ], [ "9870062250ad3a58" ], [ "f37b3ce685a7b205" ], [ "d196bff4f8749475" ], [ "a75ae30f10e33ae4" ], [ "08747040e641e61c" ], [ "2448a00d459ade87" ] ] }, { "id": "6532fcde60be2d89", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "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": 1650, "y": 420, "wires": [ [ "f60ed8815953ab09" ], [ "b556f1cac7b6f6d1" ], [ "888c859c9921d9f1" ], [ "597eab6da4897f92" ] ] }, { "id": "d594960892bd4094", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Charge", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Force Charge", "offset": 0, "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": 1, "x": 940, "y": 200, "wires": [ [ "5edf9c3722b9e9df" ] ] }, { "id": "5662c9284ba59555", "type": "modbus-write", "z": "23aa1b344c7e86c1", "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": 840, "y": 2640, "wires": [ [], [] ] }, { "id": "a4d9aad128f9d34b", "type": "modbus-write", "z": "23aa1b344c7e86c1", "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": 850, "y": 2720, "wires": [ [], [] ] }, { "id": "c2c2c4b1aef1d751", "type": "modbus-write", "z": "23aa1b344c7e86c1", "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": 850, "y": 2800, "wires": [ [], [] ] }, { "id": "b6305caa6276a895", "type": "modbus-write", "z": "23aa1b344c7e86c1", "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": 840, "y": 2860, "wires": [ [], [] ] }, { "id": "ac8206bd3c24f244", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "32016-32114 WR2", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "2", "dataType": "HoldingRegister", "adr": "32016", "quantity": "100", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 490, "y": 1340, "wires": [ [ "e382caf6840ddbd9", "cac64a24deca7f35", "cd0390569d86c3ea" ], [ "865a8873a6b7e47f", "31a6cf722f8cc561" ] ] }, { "id": "31a6cf722f8cc561", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "37000-37123", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "37000", "quantity": "125", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 470, "y": 1460, "wires": [ [ "67b4e14aab2b36af", "ae6eb260d28b1880", "0759b583cce185dd" ], [ "7e95c03ee66ef80c" ] ] }, { "id": "7e95c03ee66ef80c", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "47075-47087", "showStatusActivities": true, "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": 470, "y": 1560, "wires": [ [ "6532fcde60be2d89", "d594960892bd4094", "09571f2b73ec8a25" ], [] ] }, { "id": "45b439bd7959ddb2", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "32016-32114 WR1", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32016", "quantity": "100", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 490, "y": 1200, "wires": [ [ "c3b5ac30c61bf701", "86c4b11496c1de68", "e382caf6840ddbd9" ], [ "23470085bf42bcf0", "ac8206bd3c24f244" ] ] }, { "id": "1cd1781bb44abe41", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "pause", "pt": "flow", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 2980, "wires": [ [ "9374fd80b9eabef3" ] ] }, { "id": "9374fd80b9eabef3", "type": "trigger", "z": "23aa1b344c7e86c1", "name": "", "op1": "", "op2": "false", "op1type": "nul", "op2type": "bool", "duration": "20", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 870, "y": 2980, "wires": [ [ "db4f7c661d7db279" ] ] }, { "id": "db4f7c661d7db279", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "pause", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1070, "y": 2980, "wires": [ [] ] }, { "id": "f12e2efdc520e4a9", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "pause", "pt": "flow", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 630, "y": 3180, "wires": [ [] ] }, { "id": "d3ec05e9c19a5e25", "type": "inject", "z": "23aa1b344c7e86c1", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 350, "y": 3180, "wires": [ [ "f12e2efdc520e4a9" ] ] }, { "id": "97b86e221e93663e", "type": "comment", "z": "23aa1b344c7e86c1", "name": "Variable Pause initialisieren mit \"false\"", "info": "", "x": 350, "y": 3140, "wires": [] }, { "id": "4c0b8e0552c70761", "type": "switch", "z": "23aa1b344c7e86c1", "name": "Pause ?", "property": "pause", "propertyType": "flow", "rules": [ { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 320, "y": 160, "wires": [ [ "0f1e3e03a15f83b8" ] ] }, { "id": "c3b5ac30c61bf701", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Inverter", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "32016 - PV1 voltage [V]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "32017 - PV1 current [A]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "32064 - Input power [W]", "offset": 96, "length": 1, "offsetbit": 0, "scale": "/1", "mask": "" }, { "type": "uint16be", "name": "32069 - Phase A voltage [V]", "offset": 106, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32070 - Phase B voltage [V]", "offset": 108, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32071 - Phase C voltage [V]", "offset": 110, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "32072 - Phase A current [A]", "offset": 112, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32074 - Phase B current [A]", "offset": 116, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32076 - Phase C current [A]", "offset": 120, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32078 - Peak active power of current day [kW]", "offset": 124, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32080 - Active power [W]", "offset": 128, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "32084 - Power factor [N/A]", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "32085 - Grid frequency [Hz]", "offset": 138, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "32086 - Efficiency [%]", "offset": 140, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "32087 - Internal temperature [°C]", "offset": 142, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32089 - Device status [N/A]", "offset": 146, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "32090 - Fault code [N/A]", "offset": 148, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32091 - Startup time [N/A]", "offset": 150, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32093 - Shutdown time [N/A]", "offset": 154, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32106 - Accumulated energy yield [kWh]", "offset": 180, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "32114 - Daily energy yield [kWh]", "offset": 196, "length": 1, "offsetbit": 0, "scale": "/100", "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": 21, "x": 440, "y": 1860, "wires": [ [ "eab4d474d0189879" ], [ "e4efcf188ab9c4ce" ], [ "a34a8bd909aa2184" ], [ "4926b1f8c156b3f8" ], [ "722e64734830dab6" ], [ "ecdb8d8af660944f" ], [ "60a7b398ef3f72d7" ], [ "f2cf8eefbdd22575" ], [ "8c462809161f7de7" ], [ "e11bbb7b7305cac6" ], [ "621dfecc1634d3e7" ], [ "386a7d9e99d88303" ], [ "27c863963ff287a4" ], [ "9d6220303267e0b2" ], [ "8f357760925aabbc" ], [ "23d9f7435419f487" ], [ "dcc9e36775489420" ], [ "ae8dad9d733c5e91" ], [ "1cd98d18c47f2465" ], [ "c0705e70183b79ca" ], [ "5d7894d655a7a6d2" ] ] }, { "id": "eab4d474d0189879", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32016 - PV1 voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.PV1_voltage", "ack": "true", "autoCreate": "true", "stateName": "PV1_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 1070, "y": 1340, "wires": [] }, { "id": "e4efcf188ab9c4ce", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32017 - PV1 current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.PV1_current", "ack": "true", "autoCreate": "true", "stateName": "PV1_current", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 1070, "y": 1400, "wires": [] }, { "id": "a34a8bd909aa2184", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32064 - Input power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Input_Power_1", "ack": "true", "autoCreate": "true", "stateName": "Input_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1070, "y": 1460, "wires": [] }, { "id": "4926b1f8c156b3f8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32069 - Phase A voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_A_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_A_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 1080, "y": 1520, "wires": [] }, { "id": "722e64734830dab6", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32070 - Phase B voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_B_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_B_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 1080, "y": 1580, "wires": [] }, { "id": "ecdb8d8af660944f", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32071 - Phase C voltage [V]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_C_voltage", "ack": "true", "autoCreate": "true", "stateName": "Phase_C_voltage", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "V", "stateMin": "", "stateMax": "", "x": 1080, "y": 1640, "wires": [] }, { "id": "60a7b398ef3f72d7", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32072 - Phase A current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_A_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_A_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 1080, "y": 1700, "wires": [] }, { "id": "f2cf8eefbdd22575", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32074 - Phase B current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_B_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_B_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 1080, "y": 1760, "wires": [] }, { "id": "8c462809161f7de7", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32076 - Phase C current [A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Phase_C_current", "ack": "true", "autoCreate": "true", "stateName": "Phase_C_current", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "A", "stateMin": "", "stateMax": "", "x": 1080, "y": 1820, "wires": [] }, { "id": "386a7d9e99d88303", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32084 - Power factor [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Power_factor", "ack": "true", "autoCreate": "true", "stateName": "Power_factor", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1080, "y": 2000, "wires": [] }, { "id": "9d6220303267e0b2", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32086 - Efficiency [%]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Efficiency", "ack": "true", "autoCreate": "true", "stateName": "Efficiency", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "%", "stateMin": "", "stateMax": "", "x": 1060, "y": 2120, "wires": [] }, { "id": "711c5cdee96a4311", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32089 - Device status [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Device_status", "ack": "true", "autoCreate": "true", "stateName": "Device_status", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1080, "y": 2240, "wires": [] }, { "id": "8f357760925aabbc", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32087 - Internal temperature [°C]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Internal_temperature", "ack": "true", "autoCreate": "true", "stateName": "Internal_temperature", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 1100, "y": 2180, "wires": [] }, { "id": "27c863963ff287a4", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32085 - Grid frequency [Hz]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Grid_frequency", "ack": "true", "autoCreate": "true", "stateName": "Grid_frequency", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "Hz", "stateMin": "", "stateMax": "", "x": 1080, "y": 2060, "wires": [] }, { "id": "621dfecc1634d3e7", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32080 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Active_power", "ack": "true", "autoCreate": "true", "stateName": "Active_power", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1070, "y": 1940, "wires": [] }, { "id": "dcc9e36775489420", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32090 - Fault code [N/A]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Fault_code", "ack": "true", "autoCreate": "true", "stateName": "Fault_code", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1070, "y": 2300, "wires": [] }, { "id": "0d6ee73a04b49f81", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32091 - Startup time [date]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Startup_time", "ack": "true", "autoCreate": "true", "stateName": "Startup_time", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1080, "y": 2360, "wires": [] }, { "id": "8df30927af5e804c", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32093 - Shutdown time [date]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Shutdown_time", "ack": "true", "autoCreate": "true", "stateName": "Shutdown_time", "role": "Power", "payloadType": "string", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1080, "y": 2420, "wires": [] }, { "id": "c0705e70183b79ca", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32106 - Accumulated energy yield [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Accumulated_Energy_Yield_1", "ack": "true", "autoCreate": "true", "stateName": "Accumulated_energy_yield", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 1120, "y": 2480, "wires": [] }, { "id": "5d7894d655a7a6d2", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32114 - Daily energy yield [kWh]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Daily_Energy_Yield_1", "ack": "true", "autoCreate": "true", "stateName": "Daily_energy_yield", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 1090, "y": 2540, "wires": [] }, { "id": "cac64a24deca7f35", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "Inverter 2", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "32016 - PV1 voltage [V]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "32017 - PV1 current [A]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "32018 - PV2 voltage [V]", "offset": 4, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "32019 - PV2 current [A]", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "32064 - Input power [W]", "offset": 96, "length": 1, "offsetbit": 0, "scale": "/1", "mask": "" }, { "type": "uint16be", "name": "32069 - Phase A voltage [V]", "offset": 106, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32070 - Phase B voltage [V]", "offset": 108, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32071 - Phase C voltage [V]", "offset": 110, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "32072 - Phase A current [A]", "offset": 112, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32074 - Phase B current [A]", "offset": 116, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32076 - Phase C current [A] 2", "offset": 120, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32078 - Peak active power of current day [kW] 2", "offset": 124, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "32080 - Active power [W] 2", "offset": 128, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "32084 - Power factor [N/A] 2", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "32085 - Grid frequency [Hz] 2", "offset": 138, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "32086 - Efficiency [%] 2", "offset": 140, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "32087 - Internal temperature [°C] 2", "offset": 142, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "32089 - Device status [N/A] 2", "offset": 146, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "32090 - Fault code [N/A] 2", "offset": 148, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32091 - Startup time [N/A] 2", "offset": 150, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32093 - Shutdown time [N/A] 2", "offset": 154, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "32106 - Accumulated energy yield [kWh] 2", "offset": 180, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "32114 - Daily energy yield [kWh] 2", "offset": 196, "length": 1, "offsetbit": 0, "scale": "/100", "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": 23, "x": 1500, "y": 1800, "wires": [ [ "ef3499c324df297d" ], [ "cd4689a195a434b6" ], [ "47b8a786cf959d64" ], [ "64691d9e59db71cc" ], [ "391c3f6d7c1aa224" ], [ "a1a4f89287d8a717" ], [ "8a122ca733ef6d8d" ], [ "8d01ae40cdb82f92" ], [ "135c316ad8b47bee" ], [ "9eb17994d708a83c" ], [ "ac0bb8a190ea1666" ], [ "f62322ebc95bc4a8" ], [ "325608afeb4cf2a6" ], [ "89f22d706bf527f4" ], [ "f34a33abef628e24" ], [ "5d81a80a4de0d6be" ], [ "b8e7add92ed7e72a" ], [ "1e718addb43afefd" ], [ "82cd970673097202" ], [ "82faaf6831a4c642" ], [ "7a6c67b3f98b052b" ], [ "b9b6572436d68c6a" ], [ "ec29a33ff5d236c8" ] ] }, { "id": "22691841f4659f09", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "Input Power & Inverter Active Power", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32064", "quantity": "18", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 530, "y": 620, "wires": [ [ "815c5d283418c05e" ], [ "959d732e23565d5e", "6bb59390a8f88c39" ] ] }, { "id": "815c5d283418c05e", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": " [x2]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "32064 - Input power [W]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "32080 - Active power [W]", "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": "output", "multipleResult": true, "fanOutMultipleResult": true, "setTopic": true, "outputs": 2, "x": 790, "y": 620, "wires": [ [ "e4e9477e08717fc8" ], [ "775a8587dd9f7d99" ] ] }, { "id": "550a47bcd00cbd89", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "Battery Charging Power 37001", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "37001", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 510, "y": 820, "wires": [ [ "4f795d1bc7f35bba" ], [ "e219b7b4bdd65e3c" ] ] }, { "id": "4f795d1bc7f35bba", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x1]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "37001 - [Energy storage unit 1] Charge and discharge power [W]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": true, "fanOutMultipleResult": true, "setTopic": true, "outputs": 1, "x": 790, "y": 820, "wires": [ [ "0a72dc0a73349570" ] ] }, { "id": "e219b7b4bdd65e3c", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "Meter Active Power 37113", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "37113", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "1", "x": 490, "y": 880, "wires": [ [ "5871da82583a39bc" ], [] ] }, { "id": "5871da82583a39bc", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x1]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "Meter Active Power", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": true, "fanOutMultipleResult": true, "setTopic": true, "outputs": 1, "x": 790, "y": 880, "wires": [ [ "6e07f6aa360de755" ] ] }, { "id": "959d732e23565d5e", "type": "delay", "z": "23aa1b344c7e86c1", "d": true, "name": "", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 240, "y": 700, "wires": [ [ "6bb59390a8f88c39" ] ] }, { "id": "7dee6c9b63cb3d59", "type": "delay", "z": "23aa1b344c7e86c1", "d": true, "name": "", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 240, "y": 820, "wires": [ [ "550a47bcd00cbd89" ] ] }, { "id": "e4e9477e08717fc8", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32064 - Input power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Input_Power_1", "ack": "true", "autoCreate": "true", "stateName": "Input_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1090, "y": 540, "wires": [] }, { "id": "775a8587dd9f7d99", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32080 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter1.Active_power", "ack": "true", "autoCreate": "true", "stateName": "Active_power", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1090, "y": 600, "wires": [] }, { "id": "0a72dc0a73349570", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37001 - Charge and discharge power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Battery_Power", "ack": "true", "autoCreate": "true", "stateName": "Charge_and_discharge_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1140, "y": 820, "wires": [] }, { "id": "6e07f6aa360de755", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "37113 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Meter.Active_Power", "ack": "true", "autoCreate": "true", "stateName": "Active_power ", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1090, "y": 880, "wires": [] }, { "id": "6bb59390a8f88c39", "type": "modbus-getter", "z": "23aa1b344c7e86c1", "name": "Input Power & Inverter Active Power 2", "showStatusActivities": true, "showErrors": false, "showWarnings": true, "logIOActivities": false, "unitid": "2", "dataType": "HoldingRegister", "adr": "32064", "quantity": "18", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "delayOnStart": false, "startDelayTime": "", "x": 530, "y": 700, "wires": [ [ "5a79dece6ef2be96" ], [ "7dee6c9b63cb3d59", "550a47bcd00cbd89" ] ] }, { "id": "5a79dece6ef2be96", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": " [x2]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "32064 - Input power [W]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int32be", "name": "32080 - Active power [W]", "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": "output", "multipleResult": true, "fanOutMultipleResult": true, "setTopic": true, "outputs": 2, "x": 790, "y": 700, "wires": [ [ "2cb9559c8c9c785b" ], [ "4143e4f82cd8250d" ] ] }, { "id": "2cb9559c8c9c785b", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32064 - Input power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Input_Power_2", "ack": "true", "autoCreate": "true", "stateName": "Input_power", "role": "Power", "payloadType": "number", "readonly": "true", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1090, "y": 660, "wires": [] }, { "id": "4143e4f82cd8250d", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32080 - Active power [W]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter2.Active_power", "ack": "true", "autoCreate": "true", "stateName": "Active_power", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "W", "stateMin": "", "stateMax": "", "x": 1090, "y": 720, "wires": [] }, { "id": "0f1e3e03a15f83b8", "type": "function", "z": "23aa1b344c7e86c1", "name": "Counter", "func": "// initialize var and parse flow value\n// default value is 0\nvar counter = flow.get(\"counter\") || 0\n\n// Reset counter, or increment?\nif (msg.topic == \"reset\") {\n counter = 0\n} else {\n counter ++\n}\n\n// write counter value to flow variable\nflow.set(\"counter\", counter)\n\n// write counter value to message payload\nmsg.payload = counter\n\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 180, "y": 440, "wires": [ [ "41c23908fa34f1e9" ] ] }, { "id": "41c23908fa34f1e9", "type": "switch", "z": "23aa1b344c7e86c1", "name": "", "property": "counter", "propertyType": "flow", "rules": [ { "t": "lt", "v": "6", "vt": "str" }, { "t": "gte", "v": "6", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 170, "y": 480, "wires": [ [ "22691841f4659f09" ], [ "5fd07d6e7d5257d0" ] ] }, { "id": "5fd07d6e7d5257d0", "type": "change", "z": "23aa1b344c7e86c1", "name": "", "rules": [ { "t": "set", "p": "counter", "pt": "flow", "to": "0", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 190, "y": 1060, "wires": [ [ "45b439bd7959ddb2" ] ] }, { "id": "7eacdbdb90e0c262", "type": "comment", "z": "23aa1b344c7e86c1", "name": "Reset counter", "info": "", "x": 410, "y": 1060, "wires": [] }, { "id": "0de4d0245e646edf", "type": "comment", "z": "23aa1b344c7e86c1", "d": true, "name": "counter >=6: long interval", "info": "", "x": 390, "y": 520, "wires": [] }, { "id": "3781b2c645b9db93", "type": "comment", "z": "23aa1b344c7e86c1", "d": true, "name": "counter <6: short interval", "info": "", "x": 390, "y": 480, "wires": [] }, { "id": "9858cc79b63aab95", "type": "comment", "z": "23aa1b344c7e86c1", "d": true, "name": "-> increment 1 with every beat", "info": "", "x": 400, "y": 440, "wires": [] }, { "id": "ab51accf77480e84", "type": "join", "z": "23aa1b344c7e86c1", "name": "", "mode": "custom", "build": "merged", "property": "payload", "propertyType": "msg", "key": "topic", "joiner": "\\n", "joinerType": "str", "accumulate": false, "timeout": "", "count": "63", "reduceRight": false, "reduceExp": "", "reduceInit": "", "reduceInitType": "", "reduceFixup": "", "x": 1530, "y": 1120, "wires": [ [ "2893fb988582793d", "475cb0f624c2d52c" ] ] }, { "id": "2893fb988582793d", "type": "debug", "z": "23aa1b344c7e86c1", "name": "dbg_LongInterval_Join_Output", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1770, "y": 1080, "wires": [] }, { "id": "475cb0f624c2d52c", "type": "influxdb out", "z": "23aa1b344c7e86c1", "influxdb": "70b23cb39e1ad5c6", "name": "PVdaten -> InfluxDB", "measurement": "PVdaten", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "ms", "retentionPolicyV18Flux": "", "org": "MyBroker", "bucket": "PVdaten", "x": 1740, "y": 1180, "wires": [] }, { "id": "e11bbb7b7305cac6", "type": "ioBroker out", "z": "23aa1b344c7e86c1", "name": "32078 - Peak active power of current day [kW]", "topic": "0_userdata.0.Photovoltaik.Huawei.Inverter.Peak_active_power_of_current_day", "ack": "true", "autoCreate": "true", "stateName": "Peak_active_power_of_current_day", "role": "Power", "payloadType": "number", "readonly": "false", "stateUnit": "kW", "stateMin": "", "stateMax": "", "x": 1140, "y": 1880, "wires": [] }, { "id": "0759b583cce185dd", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x20]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "[Energy storage unit 1] Charge and discharge power [W]", "offset": 2, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "[Energy storage unit 1] Bus voltage [V]", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "[Energy storage unit 1] Battery SOC [%]", "offset": 8, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "[Energy storage unit 1] Working mode [N/A]", "offset": 12, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "[Energy storage unit 1] Current-day charge capacity [kWh]", "offset": 30, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "[Energy storage unit 1] Current-day discharge capacity [kWh]", "offset": 34, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "[Energy storage unit 1] Bus current [A]", "offset": 42, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "[Energy storage unit 1] Battery temperature [℃]", "offset": 44, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint32be", "name": "[Energy storage unit 1] Total charge [kWh]", "offset": 132, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "[Energy storage unit 1] Total discharge [kWh]", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "A phase voltage [V]", "offset": 202, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "B phase voltage [V]", "offset": 206, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "C phase voltage [V]", "offset": 210, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "A phase current [A]", "offset": 214, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "B phase current [A]", "offset": 218, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "C phase current [A]", "offset": 222, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "Active power [W]", "offset": 226, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "Grid frequency [Hz]", "offset": 236, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "Positive active electricity [kWh]", "offset": 238, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "Reverse active power [kWh]", "offset": 242, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 1370, "y": 1140, "wires": [ [ "ab51accf77480e84" ] ] }, { "id": "cd0390569d86c3ea", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x21]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "PV1 voltage [V] 2", "offset": 0, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "PV1 current [A] 2", "offset": 2, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "PV2 voltage [V] 2", "offset": 4, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "PV2 current [A] 2", "offset": 6, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "Input power [W] 2", "offset": 96, "length": 1, "offsetbit": 0, "scale": "/1", "mask": "" }, { "type": "uint16be", "name": "Phase A voltage [V] 2", "offset": 106, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "Phase B voltage [V] 2", "offset": 108, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "Phase C voltage [V] 2", "offset": 110, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "Phase A current [A] 2", "offset": 112, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Phase B current [A] 2", "offset": 116, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Phase C current [A] 2", "offset": 120, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Peak active power of current day [kW] 2", "offset": 124, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Active power [W] 2", "offset": 128, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "Power factor [N/A] 2", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "Grid frequency [Hz] 2", "offset": 138, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "Efficiency [%] 2", "offset": 140, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "Internal temperature [°C] 2", "offset": 142, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint32be", "name": "Startup time [N/A] 2", "offset": 150, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "Shutdown time [N/A] 2", "offset": 154, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "Accumulated energy yield [kWh] 2", "offset": 180, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "Daily energy yield [kWh] 2", "offset": 196, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 1370, "y": 1080, "wires": [ [ "ab51accf77480e84" ] ] }, { "id": "86c4b11496c1de68", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x19]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "PV1 voltage [V] 1", "offset": 0, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int16be", "name": "PV1 current [A] 1", "offset": 2, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int32be", "name": "Input power [W] 1", "offset": 96, "length": 1, "offsetbit": 0, "scale": "/1", "mask": "" }, { "type": "uint16be", "name": "Phase A voltage [V] 1", "offset": 106, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "Phase B voltage [V] 1", "offset": 108, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint16be", "name": "Phase C voltage [V] 1", "offset": 110, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "int32be", "name": "Phase A current [A] 1", "offset": 112, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Phase B current [A] 1", "offset": 116, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Phase C current [A] 1", "offset": 120, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Peak active power of current day [kW] 1", "offset": 124, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "int32be", "name": "Active power [W] 1", "offset": 128, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "int16be", "name": "Power factor [N/A] 1", "offset": 136, "length": 1, "offsetbit": 0, "scale": "/1000", "mask": "" }, { "type": "uint16be", "name": "Grid frequency [Hz] 1", "offset": 138, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint16be", "name": "Efficiency [%] 1", "offset": 140, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "int16be", "name": "Internal temperature [°C] 1", "offset": 142, "length": 1, "offsetbit": 0, "scale": "/10", "mask": "" }, { "type": "uint32be", "name": "Startup time [N/A] 1", "offset": 150, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "Shutdown time [N/A] 1", "offset": 154, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "Accumulated energy yield [kWh] 1", "offset": 180, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" }, { "type": "uint32be", "name": "Daily energy yield [kWh] 1", "offset": 196, "length": 1, "offsetbit": 0, "scale": "/100", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 1370, "y": 1020, "wires": [ [ "ab51accf77480e84" ] ] }, { "id": "09571f2b73ec8a25", "type": "buffer-parser", "z": "23aa1b344c7e86c1", "name": "[x4]", "data": "responseBuffer.buffer", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint32be", "name": "Maximum Charging [W]", "offset": 0, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint32be", "name": "Maximum Discharge [W]", "offset": 4, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "Charge from Grid", "offset": 24, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" }, { "type": "uint16be", "name": "Mode", "offset": 22, "length": 1, "offsetbit": 0, "scale": "1", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "keyvalue", "resultTypeType": "return", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 1370, "y": 1200, "wires": [ [ "ab51accf77480e84" ] ] }, { "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 }, { "id": "70b23cb39e1ad5c6", "type": "influxdb", "hostname": "127.0.0.1", "port": "8086", "protocol": "http", "database": "database", "name": "Influx 2", "usetls": false, "tls": "", "influxdbVersion": "2.0", "url": "http://localhost:8086", "rejectUnauthorized": true } ]