NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
Arbeitet ihr allgemein mit Node-red als separater Installation oder mir dem Node-Red Adapter des ioBroker?
Ich habe Node-red separat installiert und finde irgendwie keine Möglichkeit wie ich die iobroker in und iobroker out nodes herbekomme.
@murokey ich habe den Adapter installiert. Wusste nicht mal, dass das auch anders geht.
Bisher nutze ich es auch ausschließlich für den Huawei WR. Und dafür funktioniert es einwandfrei. -
So, ich habe neue Infos, der ktl 30-m3 kann anscheinend kein Modbus TCP mit dem Dongle, es soll angeblich ein Firmware update geben irgendwann mal. Na toll.
habt ihr alle hier kleinere Modelle vom ktl m3?gruß
-
So, ich habe neue Infos, der ktl 30-m3 kann anscheinend kein Modbus TCP mit dem Dongle, es soll angeblich ein Firmware update geben irgendwann mal. Na toll.
habt ihr alle hier kleinere Modelle vom ktl m3?gruß
@ple
Also ich habe auch einen KTL30-M3 und es funktioniert mit Node Red.
Dongle Version 123
Wechselrichter Version 111
Die nachfolgenden Versionen hatte ich ausprobiert und dann wieder downgegraded. Ging nicht.
Hier ist der Flow[ { "id": "78bcc7b.07aa038", "type": "tab", "label": "Modbus TCP", "disabled": false, "info": "" }, { "id": "7f192735.7f04d8", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Interne Temperatur", "topic": "0_userdata.0.Huawei.Inverter.Internal_Temperature", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1300, "wires": [] }, { "id": "b1161bcd.470708", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Input Power", "topic": "0_userdata.0.Huawei.Inverter.Input_Power", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 880, "wires": [] }, { "id": "8b6b24cb.456578", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Peak Active Power of current Day", "topic": "0_userdata.0.Huawei.Inverter.Peak_Active_Power_of_current_Day", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 780, "y": 1060, "wires": [] }, { "id": "b348383d.407648", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Active Power", "topic": "0_userdata.0.Huawei.Inverter.Active_Power", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 1120, "wires": [] }, { "id": "ae33615.ef40da", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Efficiency ", "topic": "0_userdata.0.Huawei.Inverter.Efficiency", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 700, "y": 1240, "wires": [] }, { "id": "fe38cb9c.a4dd68", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Accumulated Energy Yield", "topic": "0_userdata.0.Huawei.Inverter.Accumulated_Energy_Yield", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 750, "y": 1420, "wires": [] }, { "id": "7ae30e4.55869f", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV1 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV1_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 400, "wires": [] }, { "id": "20f6d52e.26fdfa", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV1 Current", "topic": "0_userdata.0.Huawei.Inverter.PV1_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 460, "wires": [] }, { "id": "e998ba99.a57228", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV2 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV2_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 520, "wires": [] }, { "id": "b67e39ed.028a78", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV2 Current", "topic": "0_userdata.0.Huawei.Inverter.PV2_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 580, "wires": [] }, { "id": "85c06382.4a9b1", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Grid Frequency", "topic": "0_userdata.0.Huawei.Inverter.Grid_Frequency", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "Grid frequency", "payloadType": "number", "readonly": "true", "stateUnit": "HZ", "stateMin": "0", "stateMax": "60", "x": 720, "y": 1180, "wires": [] }, { "id": "e8afb02b.08e91", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Insulation Resistance", "topic": "0_userdata.0.Huawei.Inverter.Insulation_Resistance", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 740, "y": 1360, "wires": [] }, { "id": "a922a727.2c6088", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Daily Energy Yield", "topic": "0_userdata.0.Huawei.Inverter.Daily_Energy_Yield", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1480, "wires": [] }, { "id": "e8ec50e.aea08b", "type": "inject", "z": "78bcc7b.07aa038", "name": "10 Sec. Intervall", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "10", "crontab": "", "once": true, "onceDelay": "0.1", "topic": "", "payload": "", "payloadType": "date", "x": 130, "y": 160, "wires": [ [ "6dddc7c0.2b30f8" ] ] }, { "id": "3996c271.4a964e", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Power Grid Voltage", "topic": "0_userdata.0.Huawei.Inverter.Power_Grid_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 940, "wires": [] }, { "id": "5a3c69ff.c24f98", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Power Grid Current", "topic": "0_userdata.0.Huawei.Inverter.Power_Grid_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1000, "wires": [] }, { "id": "d5a9a6fb.7c5408", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Model", "topic": "0_userdata.0.Huawei.Inverter.Model", "ack": "true", "autoCreate": "true", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 690, "y": 280, "wires": [] }, { "id": "1f15301e.28c0d", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Model ID", "topic": "0_userdata.0.Huawei.Inverter.Model_ID", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 700, "y": 340, "wires": [] }, { "id": "42b5f1fc.28bc1", "type": "comment", "z": "78bcc7b.07aa038", "name": "Daten Wechselrichter", "info": "", "x": 380, "y": 160, "wires": [] }, { "id": "53a9ec17.8b2fe4", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV3 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV3_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 640, "wires": [] }, { "id": "802eca.72dcd138", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV3 Current", "topic": "0_userdata.0.Huawei.Inverter.PV3_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 700, "wires": [] }, { "id": "7b71d68b.3df2f8", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV4 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV4_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 760, "wires": [] }, { "id": "3f92a0c.5da616", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV4 Current", "topic": "0_userdata.0.Huawei.Inverter.PV4_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 820, "wires": [] }, { "id": "cd15434a.e68f1", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32087", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32087", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1300, "wires": [ [ "e5619565.985e28" ], [ "7817613d.a127e" ] ] }, { "id": "287319c6.b373f6", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32064", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32064", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 880, "wires": [ [ "d2927739.83f298" ], [ "3e4a8574.469efa" ] ] }, { "id": "3c914caf.5738e4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32078", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32078", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1060, "wires": [ [ "f3c37488.7ecae8" ], [ "d9bd6742.505968" ] ] }, { "id": "d9bd6742.505968", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32080", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32080", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1120, "wires": [ [ "748cd6be.711418" ], [ "267382c6.bb1a8e" ] ] }, { "id": "de6e01cf.1babb", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32086", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32086", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1240, "wires": [ [ "d1eac20a.fd546" ], [ "cd15434a.e68f1" ] ] }, { "id": "23a05a60.7a5216", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32106", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32106", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1420, "wires": [ [ "13c902f0.e19bdd" ], [ "1b3aca18.baeaa6" ] ] }, { "id": "b900f2aa.29994", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32016", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32016", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 400, "wires": [ [ "cf006310.a1f2c" ], [ "50d53b31.a543e4" ] ] }, { "id": "50d53b31.a543e4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32017", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32017", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 460, "wires": [ [ "e6804f64.105de" ], [ "37582474.3167bc" ] ] }, { "id": "37582474.3167bc", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32018", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32018", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 520, "wires": [ [ "92074916.f988e8" ], [ "89b4ae7.006de5" ] ] }, { "id": "89b4ae7.006de5", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32019", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32019", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 580, "wires": [ [ "48b9d754.2bf578" ], [ "80a44a9c.347948" ] ] }, { "id": "267382c6.bb1a8e", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32085", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32085", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1180, "wires": [ [ "635bee76.0254d" ], [ "de6e01cf.1babb" ] ] }, { "id": "7817613d.a127e", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32088", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32088", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1360, "wires": [ [ "f87e60d1.9574e" ], [ "23a05a60.7a5216" ] ] }, { "id": "1b3aca18.baeaa6", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32114", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32114", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1480, "wires": [ [ "2172b185.4b630e" ], [] ] }, { "id": "3e4a8574.469efa", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32066", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32066", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 940, "wires": [ [ "1e1ec634.66e6da" ], [ "bbacbb38.8dacb8" ] ] }, { "id": "bbacbb38.8dacb8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32072", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32072", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1000, "wires": [ [ "1e28c400.529afc" ], [ "3c914caf.5738e4" ] ] }, { "id": "6dddc7c0.2b30f8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "30000", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "30000", "quantity": "15", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 280, "wires": [ [ "c5dccba9.887548" ], [ "320bb00e.64185" ] ] }, { "id": "320bb00e.64185", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "30070", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "30070", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 340, "wires": [ [ "23bd63c4.74e6cc" ], [ "b900f2aa.29994" ] ] }, { "id": "80a44a9c.347948", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32020", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32020", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 640, "wires": [ [ "d862e633.a8a088" ], [ "88f0ea06.ee5ab8" ] ] }, { "id": "88f0ea06.ee5ab8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32021", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32021", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 700, "wires": [ [ "ecc9586f.339e88" ], [ "5345ba59.79f1c4" ] ] }, { "id": "5345ba59.79f1c4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32022", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32022", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 760, "wires": [ [ "6d68c1b2.8b289" ], [ "29d25680.6cc24a" ] ] }, { "id": "29d25680.6cc24a", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32023", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32023", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 820, "wires": [ [ "2f9bb0fb.4096f" ], [ "287319c6.b373f6" ] ] }, { "id": "d2927739.83f298", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 880, "wires": [ [ "af79ce87.b753b" ] ] }, { "id": "f3c37488.7ecae8", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "Rated 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1060, "wires": [ [ "20815958.10bdc6" ] ] }, { "id": "748cd6be.711418", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1120, "wires": [ [ "24604dc3.b7a1a2" ] ] }, { "id": "d1eac20a.fd546", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Wirkungsgrad", "offset": 0, "length": 1, "offsetbit": 0, "scale": "0.01", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1240, "wires": [ [ "ae33615.ef40da" ] ] }, { "id": "e5619565.985e28", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Temperatur", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1300, "wires": [ [ "6a77e118.4529e" ] ] }, { "id": "13c902f0.e19bdd", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint32be", "name": "Meter 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1420, "wires": [ [ "def025a8.e64258" ] ] }, { "id": "cf006310.a1f2c", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 400, "wires": [ [ "3b19ffb9.1e7f" ] ] }, { "id": "e6804f64.105de", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 460, "wires": [ [ "2e1aa9d1.aa86a6" ] ] }, { "id": "92074916.f988e8", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 520, "wires": [ [ "7f9a982c.10bd38" ] ] }, { "id": "48b9d754.2bf578", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 580, "wires": [ [ "514b795f.c885d8" ] ] }, { "id": "635bee76.0254d", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Grid frequency", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1180, "wires": [ [ "86bd3f2f.22fa2" ] ] }, { "id": "f87e60d1.9574e", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Wirkungsgrad", "offset": 0, "length": 1, "offsetbit": 0, "scale": "0.001", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1360, "wires": [ [ "e8afb02b.08e91" ] ] }, { "id": "2172b185.4b630e", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint32be", "name": "Meter 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1480, "wires": [ [ "a13f1ae4.bda158" ] ] }, { "id": "1e1ec634.66e6da", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Grid Voltage", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 940, "wires": [ [ "76f4925c.0b90bc" ] ] }, { "id": "1e28c400.529afc", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "Grid current", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1000, "wires": [ [ "3b9634ff.c9e3ac" ] ] }, { "id": "c5dccba9.887548", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "string", "name": "Model", "offset": 0, "length": 15, "offsetbit": 0, "scale": "0.1", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 280, "wires": [ [ "d5a9a6fb.7c5408" ] ] }, { "id": "23bd63c4.74e6cc", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Model ID", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 340, "wires": [ [ "1f15301e.28c0d" ] ] }, { "id": "d862e633.a8a088", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 640, "wires": [ [ "4ae79dde.3fcbd4" ] ] }, { "id": "ecc9586f.339e88", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 700, "wires": [ [ "a4a2b892.32cd68" ] ] }, { "id": "6d68c1b2.8b289", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 760, "wires": [ [ "b8f2f270.61bc" ] ] }, { "id": "2f9bb0fb.4096f", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 820, "wires": [ [ "8306cf5f.45806" ] ] }, { "id": "2e1aa9d1.aa86a6", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 460, "wires": [ [ "20f6d52e.26fdfa" ] ] }, { "id": "514b795f.c885d8", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 580, "wires": [ [ "b67e39ed.028a78" ] ] }, { "id": "3b19ffb9.1e7f", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 400, "wires": [ [ "7ae30e4.55869f" ] ] }, { "id": "7f9a982c.10bd38", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 520, "wires": [ [ "e998ba99.a57228" ] ] }, { "id": "3b9634ff.c9e3ac", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1000", "round": true, "decimals": "3", "x": 550, "y": 1000, "wires": [ [ "5a3c69ff.c24f98" ] ] }, { "id": "def025a8.e64258", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1420, "wires": [ [ "fe38cb9c.a4dd68" ] ] }, { "id": "a13f1ae4.bda158", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1480, "wires": [ [ "a922a727.2c6088" ] ] }, { "id": "76f4925c.0b90bc", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 940, "wires": [ [ "3996c271.4a964e" ] ] }, { "id": "86bd3f2f.22fa2", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1180, "wires": [ [ "85c06382.4a9b1" ] ] }, { "id": "6a77e118.4529e", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "1", "x": 550, "y": 1300, "wires": [ [ "7f192735.7f04d8" ] ] }, { "id": "af79ce87.b753b", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 880, "wires": [ [ "b1161bcd.470708" ] ] }, { "id": "24604dc3.b7a1a2", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 1120, "wires": [ [ "b348383d.407648" ] ] }, { "id": "20815958.10bdc6", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 1060, "wires": [ [ "8b6b24cb.456578" ] ] }, { "id": "a4a2b892.32cd68", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 700, "wires": [ [ "802eca.72dcd138" ] ] }, { "id": "4ae79dde.3fcbd4", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 640, "wires": [ [ "53a9ec17.8b2fe4" ] ] }, { "id": "8306cf5f.45806", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 820, "wires": [ [ "3f92a0c.5da616" ] ] }, { "id": "b8f2f270.61bc", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 760, "wires": [ [ "7b71d68b.3df2f8" ] ] }, { "id": "70220ecd.1ca1e", "type": "modbus-client", "name": "WLAN-FE", "clienttype": "tcp", "bufferCommands": true, "stateLogEnabled": false, "queueLogEnabled": false, "tcpHost": "192.168.0.250", "tcpPort": "502", "tcpType": "TCP-RTU-BUFFERED", "serialPort": "/dev/ttyUSB", "serialType": "RTU-BUFFERD", "serialBaudrate": "9600", "serialDatabits": "8", "serialStopbits": "1", "serialParity": "none", "serialConnectionDelay": "100", "serialAsciiResponseStartDelimiter": "", "unit_id": "1", "commandDelay": "1", "clientTimeout": "60000", "reconnectOnTimeout": true, "reconnectTimeout": "10000", "parallelUnitIdsAllowed": true } ]Kopieren und Importieren dann Wlan-FE anpassen

-
@ple
Also ich habe auch einen KTL30-M3 und es funktioniert mit Node Red.
Dongle Version 123
Wechselrichter Version 111
Die nachfolgenden Versionen hatte ich ausprobiert und dann wieder downgegraded. Ging nicht.
Hier ist der Flow[ { "id": "78bcc7b.07aa038", "type": "tab", "label": "Modbus TCP", "disabled": false, "info": "" }, { "id": "7f192735.7f04d8", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Interne Temperatur", "topic": "0_userdata.0.Huawei.Inverter.Internal_Temperature", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1300, "wires": [] }, { "id": "b1161bcd.470708", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Input Power", "topic": "0_userdata.0.Huawei.Inverter.Input_Power", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 880, "wires": [] }, { "id": "8b6b24cb.456578", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Peak Active Power of current Day", "topic": "0_userdata.0.Huawei.Inverter.Peak_Active_Power_of_current_Day", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 780, "y": 1060, "wires": [] }, { "id": "b348383d.407648", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Active Power", "topic": "0_userdata.0.Huawei.Inverter.Active_Power", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 1120, "wires": [] }, { "id": "ae33615.ef40da", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Efficiency ", "topic": "0_userdata.0.Huawei.Inverter.Efficiency", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 700, "y": 1240, "wires": [] }, { "id": "fe38cb9c.a4dd68", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Accumulated Energy Yield", "topic": "0_userdata.0.Huawei.Inverter.Accumulated_Energy_Yield", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 750, "y": 1420, "wires": [] }, { "id": "7ae30e4.55869f", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV1 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV1_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 400, "wires": [] }, { "id": "20f6d52e.26fdfa", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV1 Current", "topic": "0_userdata.0.Huawei.Inverter.PV1_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 460, "wires": [] }, { "id": "e998ba99.a57228", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV2 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV2_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 520, "wires": [] }, { "id": "b67e39ed.028a78", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV2 Current", "topic": "0_userdata.0.Huawei.Inverter.PV2_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 580, "wires": [] }, { "id": "85c06382.4a9b1", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Grid Frequency", "topic": "0_userdata.0.Huawei.Inverter.Grid_Frequency", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "Grid frequency", "payloadType": "number", "readonly": "true", "stateUnit": "HZ", "stateMin": "0", "stateMax": "60", "x": 720, "y": 1180, "wires": [] }, { "id": "e8afb02b.08e91", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Insulation Resistance", "topic": "0_userdata.0.Huawei.Inverter.Insulation_Resistance", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 740, "y": 1360, "wires": [] }, { "id": "a922a727.2c6088", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Daily Energy Yield", "topic": "0_userdata.0.Huawei.Inverter.Daily_Energy_Yield", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1480, "wires": [] }, { "id": "e8ec50e.aea08b", "type": "inject", "z": "78bcc7b.07aa038", "name": "10 Sec. Intervall", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "10", "crontab": "", "once": true, "onceDelay": "0.1", "topic": "", "payload": "", "payloadType": "date", "x": 130, "y": 160, "wires": [ [ "6dddc7c0.2b30f8" ] ] }, { "id": "3996c271.4a964e", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Power Grid Voltage", "topic": "0_userdata.0.Huawei.Inverter.Power_Grid_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 940, "wires": [] }, { "id": "5a3c69ff.c24f98", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Power Grid Current", "topic": "0_userdata.0.Huawei.Inverter.Power_Grid_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 730, "y": 1000, "wires": [] }, { "id": "d5a9a6fb.7c5408", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Model", "topic": "0_userdata.0.Huawei.Inverter.Model", "ack": "true", "autoCreate": "true", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 690, "y": 280, "wires": [] }, { "id": "1f15301e.28c0d", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "Model ID", "topic": "0_userdata.0.Huawei.Inverter.Model_ID", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 700, "y": 340, "wires": [] }, { "id": "42b5f1fc.28bc1", "type": "comment", "z": "78bcc7b.07aa038", "name": "Daten Wechselrichter", "info": "", "x": 380, "y": 160, "wires": [] }, { "id": "53a9ec17.8b2fe4", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV3 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV3_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 640, "wires": [] }, { "id": "802eca.72dcd138", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV3 Current", "topic": "0_userdata.0.Huawei.Inverter.PV3_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 700, "wires": [] }, { "id": "7b71d68b.3df2f8", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV4 Voltage", "topic": "0_userdata.0.Huawei.Inverter.PV4_Voltage", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 760, "wires": [] }, { "id": "3f92a0c.5da616", "type": "ioBroker out", "z": "78bcc7b.07aa038", "name": "PV4 Current", "topic": "0_userdata.0.Huawei.Inverter.PV4_Current", "ack": "true", "autoCreate": "false", "stateName": "Huawei", "role": "temperature", "payloadType": "number", "readonly": "true", "stateUnit": "°C", "stateMin": "", "stateMax": "", "x": 710, "y": 820, "wires": [] }, { "id": "cd15434a.e68f1", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32087", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32087", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1300, "wires": [ [ "e5619565.985e28" ], [ "7817613d.a127e" ] ] }, { "id": "287319c6.b373f6", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32064", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32064", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 880, "wires": [ [ "d2927739.83f298" ], [ "3e4a8574.469efa" ] ] }, { "id": "3c914caf.5738e4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32078", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32078", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1060, "wires": [ [ "f3c37488.7ecae8" ], [ "d9bd6742.505968" ] ] }, { "id": "d9bd6742.505968", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32080", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32080", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1120, "wires": [ [ "748cd6be.711418" ], [ "267382c6.bb1a8e" ] ] }, { "id": "de6e01cf.1babb", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32086", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32086", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1240, "wires": [ [ "d1eac20a.fd546" ], [ "cd15434a.e68f1" ] ] }, { "id": "23a05a60.7a5216", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32106", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32106", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1420, "wires": [ [ "13c902f0.e19bdd" ], [ "1b3aca18.baeaa6" ] ] }, { "id": "b900f2aa.29994", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32016", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32016", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 400, "wires": [ [ "cf006310.a1f2c" ], [ "50d53b31.a543e4" ] ] }, { "id": "50d53b31.a543e4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32017", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32017", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 460, "wires": [ [ "e6804f64.105de" ], [ "37582474.3167bc" ] ] }, { "id": "37582474.3167bc", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32018", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32018", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 520, "wires": [ [ "92074916.f988e8" ], [ "89b4ae7.006de5" ] ] }, { "id": "89b4ae7.006de5", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32019", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32019", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 580, "wires": [ [ "48b9d754.2bf578" ], [ "80a44a9c.347948" ] ] }, { "id": "267382c6.bb1a8e", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32085", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32085", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1180, "wires": [ [ "635bee76.0254d" ], [ "de6e01cf.1babb" ] ] }, { "id": "7817613d.a127e", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32088", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32088", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1360, "wires": [ [ "f87e60d1.9574e" ], [ "23a05a60.7a5216" ] ] }, { "id": "1b3aca18.baeaa6", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32114", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32114", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1480, "wires": [ [ "2172b185.4b630e" ], [] ] }, { "id": "3e4a8574.469efa", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32066", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32066", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 940, "wires": [ [ "1e1ec634.66e6da" ], [ "bbacbb38.8dacb8" ] ] }, { "id": "bbacbb38.8dacb8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32072", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32072", "quantity": "2", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 1000, "wires": [ [ "1e28c400.529afc" ], [ "3c914caf.5738e4" ] ] }, { "id": "6dddc7c0.2b30f8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "30000", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "30000", "quantity": "15", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 280, "wires": [ [ "c5dccba9.887548" ], [ "320bb00e.64185" ] ] }, { "id": "320bb00e.64185", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "30070", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "30070", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 340, "wires": [ [ "23bd63c4.74e6cc" ], [ "b900f2aa.29994" ] ] }, { "id": "80a44a9c.347948", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32020", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32020", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 640, "wires": [ [ "d862e633.a8a088" ], [ "88f0ea06.ee5ab8" ] ] }, { "id": "88f0ea06.ee5ab8", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32021", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32021", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 700, "wires": [ [ "ecc9586f.339e88" ], [ "5345ba59.79f1c4" ] ] }, { "id": "5345ba59.79f1c4", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32022", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32022", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 760, "wires": [ [ "6d68c1b2.8b289" ], [ "29d25680.6cc24a" ] ] }, { "id": "29d25680.6cc24a", "type": "modbus-getter", "z": "78bcc7b.07aa038", "name": "32023", "showStatusActivities": false, "showErrors": false, "logIOActivities": false, "unitid": "1", "dataType": "HoldingRegister", "adr": "32023", "quantity": "1", "server": "70220ecd.1ca1e", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "keepMsgProperties": false, "x": 210, "y": 820, "wires": [ [ "2f9bb0fb.4096f" ], [ "287319c6.b373f6" ] ] }, { "id": "d2927739.83f298", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 880, "wires": [ [ "af79ce87.b753b" ] ] }, { "id": "f3c37488.7ecae8", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "Rated 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1060, "wires": [ [ "20815958.10bdc6" ] ] }, { "id": "748cd6be.711418", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1120, "wires": [ [ "24604dc3.b7a1a2" ] ] }, { "id": "d1eac20a.fd546", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Wirkungsgrad", "offset": 0, "length": 1, "offsetbit": 0, "scale": "0.01", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1240, "wires": [ [ "ae33615.ef40da" ] ] }, { "id": "e5619565.985e28", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Temperatur", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1300, "wires": [ [ "6a77e118.4529e" ] ] }, { "id": "13c902f0.e19bdd", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint32be", "name": "Meter 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1420, "wires": [ [ "def025a8.e64258" ] ] }, { "id": "cf006310.a1f2c", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 400, "wires": [ [ "3b19ffb9.1e7f" ] ] }, { "id": "e6804f64.105de", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 460, "wires": [ [ "2e1aa9d1.aa86a6" ] ] }, { "id": "92074916.f988e8", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 520, "wires": [ [ "7f9a982c.10bd38" ] ] }, { "id": "48b9d754.2bf578", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 580, "wires": [ [ "514b795f.c885d8" ] ] }, { "id": "635bee76.0254d", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Grid frequency", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1180, "wires": [ [ "86bd3f2f.22fa2" ] ] }, { "id": "f87e60d1.9574e", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Wirkungsgrad", "offset": 0, "length": 1, "offsetbit": 0, "scale": "0.001", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1360, "wires": [ [ "e8afb02b.08e91" ] ] }, { "id": "2172b185.4b630e", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint32be", "name": "Meter 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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1480, "wires": [ [ "a13f1ae4.bda158" ] ] }, { "id": "1e1ec634.66e6da", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Grid Voltage", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 940, "wires": [ [ "76f4925c.0b90bc" ] ] }, { "id": "1e28c400.529afc", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int32be", "name": "Grid current", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 1000, "wires": [ [ "3b9634ff.c9e3ac" ] ] }, { "id": "c5dccba9.887548", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "string", "name": "Model", "offset": 0, "length": 15, "offsetbit": 0, "scale": "0.1", "mask": "" } ], "swap1": "", "swap2": "", "swap3": "", "swap1Type": "swap", "swap2Type": "swap", "swap3Type": "swap", "msgProperty": "payload", "msgPropertyType": "str", "resultType": "value", "resultTypeType": "output", "multipleResult": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 280, "wires": [ [ "d5a9a6fb.7c5408" ] ] }, { "id": "23bd63c4.74e6cc", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "uint16be", "name": "Model ID", "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 340, "wires": [ [ "1f15301e.28c0d" ] ] }, { "id": "d862e633.a8a088", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 640, "wires": [ [ "4ae79dde.3fcbd4" ] ] }, { "id": "ecc9586f.339e88", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 700, "wires": [ [ "a4a2b892.32cd68" ] ] }, { "id": "6d68c1b2.8b289", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 760, "wires": [ [ "b8f2f270.61bc" ] ] }, { "id": "2f9bb0fb.4096f", "type": "buffer-parser", "z": "78bcc7b.07aa038", "name": "", "data": "payload", "dataType": "msg", "specification": "spec", "specificationType": "ui", "items": [ { "type": "int16be", "name": "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": false, "fanOutMultipleResult": false, "setTopic": true, "outputs": 1, "x": 390, "y": 820, "wires": [ [ "8306cf5f.45806" ] ] }, { "id": "2e1aa9d1.aa86a6", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 460, "wires": [ [ "20f6d52e.26fdfa" ] ] }, { "id": "514b795f.c885d8", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 580, "wires": [ [ "b67e39ed.028a78" ] ] }, { "id": "3b19ffb9.1e7f", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 400, "wires": [ [ "7ae30e4.55869f" ] ] }, { "id": "7f9a982c.10bd38", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 520, "wires": [ [ "e998ba99.a57228" ] ] }, { "id": "3b9634ff.c9e3ac", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1000", "round": true, "decimals": "3", "x": 550, "y": 1000, "wires": [ [ "5a3c69ff.c24f98" ] ] }, { "id": "def025a8.e64258", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1420, "wires": [ [ "fe38cb9c.a4dd68" ] ] }, { "id": "a13f1ae4.bda158", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1480, "wires": [ [ "a922a727.2c6088" ] ] }, { "id": "76f4925c.0b90bc", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 940, "wires": [ [ "3996c271.4a964e" ] ] }, { "id": "86bd3f2f.22fa2", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "2", "x": 550, "y": 1180, "wires": [ [ "85c06382.4a9b1" ] ] }, { "id": "6a77e118.4529e", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "1", "x": 550, "y": 1300, "wires": [ [ "7f192735.7f04d8" ] ] }, { "id": "af79ce87.b753b", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 880, "wires": [ [ "b1161bcd.470708" ] ] }, { "id": "24604dc3.b7a1a2", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 1120, "wires": [ [ "b348383d.407648" ] ] }, { "id": "20815958.10bdc6", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "1", "round": true, "decimals": "0", "x": 550, "y": 1060, "wires": [ [ "8b6b24cb.456578" ] ] }, { "id": "a4a2b892.32cd68", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 700, "wires": [ [ "802eca.72dcd138" ] ] }, { "id": "4ae79dde.3fcbd4", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 640, "wires": [ [ "53a9ec17.8b2fe4" ] ] }, { "id": "8306cf5f.45806", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "100", "round": true, "decimals": "3", "x": 550, "y": 820, "wires": [ [ "3f92a0c.5da616" ] ] }, { "id": "b8f2f270.61bc", "type": "calculator", "z": "78bcc7b.07aa038", "name": "", "inputMsgField": "payload", "outputMsgField": "payload", "operation": "div", "constant": "10", "round": true, "decimals": "2", "x": 550, "y": 760, "wires": [ [ "7b71d68b.3df2f8" ] ] }, { "id": "70220ecd.1ca1e", "type": "modbus-client", "name": "WLAN-FE", "clienttype": "tcp", "bufferCommands": true, "stateLogEnabled": false, "queueLogEnabled": false, "tcpHost": "192.168.0.250", "tcpPort": "502", "tcpType": "TCP-RTU-BUFFERED", "serialPort": "/dev/ttyUSB", "serialType": "RTU-BUFFERD", "serialBaudrate": "9600", "serialDatabits": "8", "serialStopbits": "1", "serialParity": "none", "serialConnectionDelay": "100", "serialAsciiResponseStartDelimiter": "", "unit_id": "1", "commandDelay": "1", "clientTimeout": "60000", "reconnectOnTimeout": true, "reconnectTimeout": "10000", "parallelUnitIdsAllowed": true } ]Kopieren und Importieren dann Wlan-FE anpassen

-
Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.
Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:
1. Wechselrichter korrekt konfigurieren:
Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
Zum Login in die App als Installateur braucht man ein Passwort: 00000a
Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme2. Node-Red installieren und Flow importieren:
Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
• node-red-contrib-calc
• node-red-contrib-buffer-parser
• node-red-contrib-modbusHat man das erledigt, kann man diesen Flow importieren:
Huawei_SUN2000_node_red_flow_read_write_2023-11.txt
Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)3. Hinweise:
Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
Im Flow werden die wichtigsten Größen aber schon abgefragt.4. Modbus-Register schreiben:
Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
• AC-Laden muss auf 1 stehen (Register 47087). Kann auch mMn permanent auf 1 bleiben.
• Battery Working Mode (Register 47086) kann zwischen 2 (Maximaler Eigenverbrauch) und 5 (TOU, zeitgesteuert Laden) umgestellt werden.
• Man definiert dann in der Huawei FusionSolar App unter Geräte - Dongle - Parametereinstellungen (die 4 Punkte oben rechts) einfach eine Zeit von 0:00 bis 23:59 jeden Tag "laden" (also den ganzen Tag). Dafür muss die Batterie auf TOU (5) gestellt sein.
• Sobald man jetzt per Modbus das Register 47086 von 2 auf 5 umschaltet, fängt die Batterie aus dem Netz an zu laden.
• Maximaler Ladestrom kann über Register 47075 eingestellt werden.
• Stellt man den Working Mode wieder zurück auf 2, hört das Netzladen auf und die Batterie verhält sich wieder "normal".Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.
5. Weiteres
5.1 Mehrere Wechselrichter abfragen
Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.
5.2 Aktuelle Firmware / Modbus Interface Definitions
Hier noch ein Link zu den aktuellen Firmware Versionen:
SUN2000 FirmwareVielen Dank an alle, die den Input geliefert haben!
Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.Hallo,
meine PV mit Huawei WR kommt (hoffentlich) nächste Woche, aber ich habe schon einmal Node Red auf IOBroker aufgesetzt und Deinen Flow (Vielen Dank) importiert. Wie kommt es, dass einige 'IOBroker Out Nodes' im Status 'connected' angezeigt werden, obwohl 0_userdata.0.Huawei nicht existiert?
-
Hallo,
meine PV mit Huawei WR kommt (hoffentlich) nächste Woche, aber ich habe schon einmal Node Red auf IOBroker aufgesetzt und Deinen Flow (Vielen Dank) importiert. Wie kommt es, dass einige 'IOBroker Out Nodes' im Status 'connected' angezeigt werden, obwohl 0_userdata.0.Huawei nicht existiert?
@warp-it
Also der Flow ist nicht von mir, sondern hier aus dem Forum. Ich möchte mich nicht mit fremden Federn schmücken.@warp-it said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Wie kommt es, dass einige 'IOBroker Out Nodes' im Status 'connected' angezeigt werden, obwohl 0_userdata.0.Huawei nicht existiert?
Kann es sein, das die IP-Adresse die in der Wlan-Fe angegeben ist bei dir von einem Gerät belegt ist und er dahin connected?
-
@warp-it
Also der Flow ist nicht von mir, sondern hier aus dem Forum. Ich möchte mich nicht mit fremden Federn schmücken.@warp-it said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Wie kommt es, dass einige 'IOBroker Out Nodes' im Status 'connected' angezeigt werden, obwohl 0_userdata.0.Huawei nicht existiert?
Kann es sein, das die IP-Adresse die in der Wlan-Fe angegeben ist bei dir von einem Gerät belegt ist und er dahin connected?
@joeysch said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Kann es sein, das die IP-Adresse die in der Wlan-Fe angegeben ist bei dir von einem Gerät belegt ist und er dahin connected?
Nö, die in WLAN-FE eingetragene IP-Adresse existiert in meinem LAN nicht.
-
Achtung: Verbindung mit Modbus Adapter klappt nicht, node-red klappt.
Hier eine Anleitung um den SUN2000 Wechselrichter incl. Batterie und Power Meter per node-red auszulesen und Werte zu schreiben:
1. Wechselrichter korrekt konfigurieren:
Im Wechselrichter muss die Konfiguration per Modbus (TCP) aktiviert sein. Das kann der Installateur direkt erledigen. Alternativ lädt man sich die SUN2000 App auf's Handy und verbindet sich damit über das WLAN des Wechselrichters (also davorstehend im Keller) mit dem WR und stellt das ein. (Unter Kommunikationseinstellungen glaube ich, die Menüs sind ziemlich unübersichtlich mMn.)
Zum Login in die App als Installateur braucht man ein Passwort: 00000a
Eventuell braucht man zum Verbinden auf das WLAN des Wechselrichters auch ein Passwort: Changeme2. Node-Red installieren und Flow importieren:
Man muss im ioBroker node-red installieren. Außerdem muss man in node-red noch drei zusätzliche NPM Module installieren (geht bei den Instanzeinstellungen):
• node-red-contrib-calc
• node-red-contrib-buffer-parser
• node-red-contrib-modbusHat man das erledigt, kann man diesen Flow importieren:
Huawei_SUN2000_node_red_flow_read_write_2023-11.txt
Achtung, weil das hier schon ein paar Mal zu Problemen geführt hat: Man muss die Client-ID in allen Modbus-Nodes korrekt eintragen. Bei mir steht da 2, weil mein Wechselrichter schonmal getauscht wurde. Das muss überall auf den richtigen Wert (meistens 1) geändert werden damit Daten kommen!
Nachdem man den Flow importiert hat muss man ganz rechts im Menü unter "Globale-Konfigurations-Nodes" beim modbus-client noch die IP Adresse vom Wechselrichter und wieder die richtige Client-ID (typischerweise 1) eintragen. (Port ist 502)3. Hinweise:
Dann sollte die Verbindung eigentlich schon funktionieren. Bei mir war dann noch das Problem, das node-red gemeckert hat, dass die Objekte in iobroker nicht existieren in die er schreiben will.
Um das zu fixen habe ich im Flow alle Output-Nodes (die graublauen Boxen rechts) einmal doppeltgeklickt und dort bei "Auto-create --> Create states if not exist" ausgewählt. Dann kann man noch die Einheit und den Typ festlegen und dann werden die States automatisch beim ersten Lesen angelegt. Hierfür ist es erforderlich, dass in den node-red Instanzeinstellungen noch der Hacken bei "Erstellung von Fremd-Objekten zulassen" aktiviert wird.
Zusätzlich habe ich noch den Wert "Readonly --> Object is writeable" gesetzt. K.a. ob das nötig ist, aber ich hatte den Eindruck, dass die Werte sonst nicht korrekt aktualisiert werden.Zum Nachlesen gibt es hier noch die Huawei SUN2000 Modbus Register Übersicht:
Solar Inverter Modbus Interface Definitions V5.pdf (Stand 2023)
Im Flow werden die wichtigsten Größen aber schon abgefragt.4. Modbus-Register schreiben:
Man kann auch Register schreiben! Damit kann man z.B. die Batterie-Entladung auf 0W setzen wenn das eAuto lädt. Damit entlädt sich die Batterie dann nicht unnötig, wenn man das Auto mit Netzstrom lädt im Winter oder Nachts.
Man kann auch TOU (Zeitgesteuertes Laden) aktivieren. Damit kann man wenn man Tibber oder Awattar nutzt zu den günstigen Stunden den Akku aufladen. Um die günstigsten Stunden auszulesen gibt es hier im Forum entsprechende Skripte.4.1 Zeitgesteuertes Laden korrekt konfigurieren und schreiben:
• AC-Laden muss auf 1 stehen (Register 47087). Kann auch mMn permanent auf 1 bleiben.
• Battery Working Mode (Register 47086) kann zwischen 2 (Maximaler Eigenverbrauch) und 5 (TOU, zeitgesteuert Laden) umgestellt werden.
• Man definiert dann in der Huawei FusionSolar App unter Geräte - Dongle - Parametereinstellungen (die 4 Punkte oben rechts) einfach eine Zeit von 0:00 bis 23:59 jeden Tag "laden" (also den ganzen Tag). Dafür muss die Batterie auf TOU (5) gestellt sein.
• Sobald man jetzt per Modbus das Register 47086 von 2 auf 5 umschaltet, fängt die Batterie aus dem Netz an zu laden.
• Maximaler Ladestrom kann über Register 47075 eingestellt werden.
• Stellt man den Working Mode wieder zurück auf 2, hört das Netzladen auf und die Batterie verhält sich wieder "normal".Die nötigen ioBroker Datenpunkte muss man noch anlegen. Also zB. Battery_Max_Charge_Power_SET oder Workingmode_Change.
5. Weiteres
5.1 Mehrere Wechselrichter abfragen
Es gibt noch weitere Möglichkeiten den Flow aufzubauen. Man kann mehrere Adressbereiche auf einmal abfragen, das ist ggf. etwas effizienter. Den Flow dazu habe ich aber nicht getestet:Außerdem enthält der Flow ein Beispiel für die Abfrage mehrerer Wechselrichter in Kaskade. Im Prinzip muss man nur die korrekten IDs pro Wechselrichter eintragen und nicht zu viele Register abfragen, sonst kommen keine Daten mehr. Damit lassen sich auch 3 Wechselrichter (oder ggf. sogar mehr) in einem Flow abfragen.
5.2 Aktuelle Firmware / Modbus Interface Definitions
Hier noch ein Link zu den aktuellen Firmware Versionen:
SUN2000 FirmwareVielen Dank an alle, die den Input geliefert haben!
Ich hoffe es hilf, wenn ich es hier einmal zusammengefasst habe.Danke für die Top Anleitung, mit dem Modbus Adapter bin ich verzweifelt. Jetzt nach etwas Recherche bin ich auf deine Anleitung über NodeRed gestoßen und siehe da.... es geht auf anhieb.
Da ich vorher noch nie mit NodeRed was zu tun hatte bin ich entsprechend wackelig auf den Beinen damit. Was ich nicht umgesetzt bekomme sind die Alarme bzw. der Status des Wechselrichters.
Dort sind ja als Datentyp "Bitfield16" hinterlegt (z.b. Adresse 32000). So bekomme ich das aktuell in einen State geschrieben: [[{"bits":[0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],"bit0":0,"bit1":1,"bit2":1,"bit3":0,"bit4":0,"bit5":0,"bit6":0,"bit7":0,"bit8":0,"bit9":0,"bit10":0,"bit11":0,"bit12":0,"bit13":0,"bit14":0,"bit15":0}]]

Jetzt wäre mein Ansatz es mit Blockly/JS zu zerlegen um an die Statis zu kommen. Aber gibt es ggf. mit NodeRed eine fluffigere Möglichkeit die einzelnen Bits direkt auszuwerten und nur wenn der Bitwert 1 ist auch ein State aktualisiert wird?
-
Guten Tag zusammen,
ich konnte nun nach viel hin und her mich auf meinen Huawei WR einloggen als Installateur. Ich habe auf dem Dongle die Version 125 und beim WR 141. ich bekomme aber leider keine Verbindung hin die Einstellungen ehen für mich alle identisch aus. Welche IP Adresse muss denn eingetragen werden ? Die ich auf meinem Router für den Dongle sehe oder die IP Adresse die mir im Portal angezeigt wird ?
Ich weiß nicht mehr so recht weiterPS. und wo finde ich den die MBus Einstellungen ? Ich finde die weder beim WR noch beim Dongle
PS bei mir war es die Version vom Dongle, für alle die noch Probleme haben, mit der Version 127 hat es geklappt.
Gruß
-
Moin,
leider habe ich immernoch 2 Probleme, das erste wäre das ich vom Meter den Datenpunkt: 0_userdata.0.Huawei.Meter.Active_Power nicht geschrieben bekomme, die anderen 4 wie Freqeuenz und Spannung sind da. Jemand eine Idee ?
Und es steht noch folgendes im Log für viele Datenpunkte: State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"Muss ich den Typ für jeden Datenpunkt ändern ?
Gruß
-
Moin,
leider habe ich immernoch 2 Probleme, das erste wäre das ich vom Meter den Datenpunkt: 0_userdata.0.Huawei.Meter.Active_Power nicht geschrieben bekomme, die anderen 4 wie Freqeuenz und Spannung sind da. Jemand eine Idee ?
Und es steht noch folgendes im Log für viele Datenpunkte: State value to set for "0_userdata.0.Huawei.Meter.Active_Power" has to be stringified but received type "number"Muss ich den Typ für jeden Datenpunkt ändern ?
Gruß
@serial13579 said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
das erste wäre das ich vom Meter den Datenpunkt: 0_userdata.0.Huawei.Meter.Active_Power nicht geschrieben bekomme
Du schreibst "geschrieben bekomme". Ich denke, Du meinst "lesen", oder? Schreiben kann man diesen Datenpunkt im WR nicht. Kommt denn irgend eine Art von Fehlermeldung? Hast Du mal versucht NUR diesen einen Datenpunkt zu lesen und alle anderen zu deaktivieren? Vielleicht stimmt was nicht mit der Abfragehäufigkeit.
-
Hallo zusammen,
leider bekomme ich keine Verbindung zu meinem Wechselrichter aufgebaut. Hab versucht mich soweit es geht an die Anleitung zu halten (da Laie). Ggf. könnt ihr mir anhand der Screenshots ein paar Tipps geben:
- WR ist ins Lan eingebunden. Kann aber die Lan- und Wlan-Adresse anpingen
- Sind meine Einstellungen soweit korrekt? Ich habe in der App auf Modbus TCP umgestellt, Unit ID würde ich als 1 interpretieren oder ist das falsch?
- Die NPM Zusatzmodule habe ich installiert. Sollten diese in Node RED auch ersichtlich sein?
- Dongle hat folgende Software-Nummer: V100R001C00SPC119
Anbei noch einige Bilder der Einstellungen. IP-Adressen für Lan und Wlan sowie Unit IDs von 0-3 habe ich bereits versucht.
Besten Dank schon mal.

-
Hallo zusammen,
leider bekomme ich keine Verbindung zu meinem Wechselrichter aufgebaut. Hab versucht mich soweit es geht an die Anleitung zu halten (da Laie). Ggf. könnt ihr mir anhand der Screenshots ein paar Tipps geben:
- WR ist ins Lan eingebunden. Kann aber die Lan- und Wlan-Adresse anpingen
- Sind meine Einstellungen soweit korrekt? Ich habe in der App auf Modbus TCP umgestellt, Unit ID würde ich als 1 interpretieren oder ist das falsch?
- Die NPM Zusatzmodule habe ich installiert. Sollten diese in Node RED auch ersichtlich sein?
- Dongle hat folgende Software-Nummer: V100R001C00SPC119
Anbei noch einige Bilder der Einstellungen. IP-Adressen für Lan und Wlan sowie Unit IDs von 0-3 habe ich bereits versucht.
Besten Dank schon mal.

@kep42010 said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Dongle hat folgende Software-Nummer: V100R001C00SPC141
@Serial13579 hat oben geschrieben, dass es bei Ihm mit Version 127 geklappt hat. Hast Du mal versucht auf diese Version zu gehen?
-
@Serial13579 hat oben geschrieben, dass es bei Ihm mit Version 127 geklappt hat. Hast Du mal versucht auf diese Version zu gehen?
@badsnoopy667 Nein noch nicht. Muss ich mal sehen wie ein Downgrade geht.
-
Guten Abend,
auch ich habe verschiedene Weg ausprobiert um mein WR in IO-Broker zu intrigieren.
Schließlich bin ich auch bei Node Red gelandet :grimacing:.
Nur leider bin ich hier absoluter Anfänger.Ich habe erfolgreich eine Verbindung herstellen können "danke an alle, die an dem Flow mitgearbeitet haben und ihre Tipps bereitgestellt haben".
Damit ich besser meine Fehlersuche eingrenzen kann, habe ich diesen erst einmal verkleinert.
Meine Wert werden auch aktualisiert und sind plausibel, nur leider bekomme ich ca. alle 2min folgende Fehlermeldung.
.Nach einigem Suchen habe ich in den Einstellungen folgendes gefunden, hat dieses etwas damit zu tun oder muss ich wo anders suchen ? Oder kann ich die Fehlermeldung ignorieren?

Danke für eure Hilfe
-
Guten Abend,
auch ich habe verschiedene Weg ausprobiert um mein WR in IO-Broker zu intrigieren.
Schließlich bin ich auch bei Node Red gelandet :grimacing:.
Nur leider bin ich hier absoluter Anfänger.Ich habe erfolgreich eine Verbindung herstellen können "danke an alle, die an dem Flow mitgearbeitet haben und ihre Tipps bereitgestellt haben".
Damit ich besser meine Fehlersuche eingrenzen kann, habe ich diesen erst einmal verkleinert.
Meine Wert werden auch aktualisiert und sind plausibel, nur leider bekomme ich ca. alle 2min folgende Fehlermeldung.
.Nach einigem Suchen habe ich in den Einstellungen folgendes gefunden, hat dieses etwas damit zu tun oder muss ich wo anders suchen ? Oder kann ich die Fehlermeldung ignorieren?

Danke für eure Hilfe
@aquin
Diese Fehlermeldung bekomme ich auch sporadisch. Aktuell z.B. auch gerade wieder... aber bisher hat das noch keinen negativen Einfluss auf das Auslesen der Werte gehabt. Ich weiß nicht, was das Problem ist, aber bisher hat ignorieren gut funktioniert. -
@kep42010 said in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Dongle hat folgende Software-Nummer: V100R001C00SPC141
@Serial13579 hat oben geschrieben, dass es bei Ihm mit Version 127 geklappt hat. Hast Du mal versucht auf diese Version zu gehen?
@badsnoopy667 so ich bin nun einen guten Schritt weiter. Die von mir genannte SPC-Nummer hat scheinbar nicht gestimmt. Im Onlineportal wird der Dongle mit SPC119 angezeigt. Nun habe ich die SPC127 über den Support bekommen, habe hier aber noch Probleme mit dem Update....unter Wartung wird die neue Firmware nicht angezeigt. Weiß jemand in welchen Ordner man das File ablegen muss um es dann auswählen zu können?
PS: Ich nutze ein iPhone, falls dies das Problem ist.
Jedoch gehe ich davon aus, dass nach dem Update die Verbindung per node red klappt :call_me_hand:
-
@badsnoopy667 so ich bin nun einen guten Schritt weiter. Die von mir genannte SPC-Nummer hat scheinbar nicht gestimmt. Im Onlineportal wird der Dongle mit SPC119 angezeigt. Nun habe ich die SPC127 über den Support bekommen, habe hier aber noch Probleme mit dem Update....unter Wartung wird die neue Firmware nicht angezeigt. Weiß jemand in welchen Ordner man das File ablegen muss um es dann auswählen zu können?
PS: Ich nutze ein iPhone, falls dies das Problem ist.
Jedoch gehe ich davon aus, dass nach dem Update die Verbindung per node red klappt :call_me_hand:
Bei mir hat das Update der Solateur über das Web Interface gemacht. Da würde ich mal anrufen an deiner Stelle.
-
Bei mir hat das Update der Solateur über das Web Interface gemacht. Da würde ich mal anrufen an deiner Stelle.
@badsnoopy667 das Firmwareupdate habe ich nun bekommen. Leider ist das Fehlerbild immer noch das selbe.
IP für Lan und Wlan mit ID 0-3 waren erfolglos....
Oder muss ich den Dongle direkt mit dem Raspi verbinden? Geht das über nen Router nicht?Hast du vll noch eine Idee?