👤 Anonymous •
📅 10.03.2026 13:18 •
👁️ 13 •
👍
0p
JSON
[
{
"id": "nulleinspeisung_group",
"type": "group",
"z": "8f32aaab05a0cf37",
"name": "MARSTEK Nulleinspeisung (Siemens PAC2200)",
"style": {
"fill": "#e3f2fd",
"label": true,
"color": "#0d47a1"
},
"nodes": [
"trigger_1s",
"pac2200_getter",
"logic_processor",
"write_venus_power"
],
"x": 50,
"y": 1200,
"w": 1000,
"h": 120
},
{
"id": "trigger_1s",
"type": "inject",
"z": "8f32aaab05a0cf37",
"g": "nulleinspeisung_group",
"name": "1 Sek. Takt",
"props": [
{ "p": "payload" }
],
"repeat": "1",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "",
"payload": "",
"payloadType": "date",
"x": 140,
"y": 1260,
"wires": [["pac2200_getter"]]
},
{
"id": "pac2200_getter",
"type": "modbus-getter",
"z": "8f32aaab05a0cf37",
"g": "nulleinspeisung_group",
"name": "Lese PAC2200 (Watt)",
"showStatusActivities": true,
"showErrors": true,
"unitid": "1",
"dataType": "HoldingRegister",
"adr": "1",
"quantity": "2",
"server": "siemens_pac_client",
"x": 360,
"y": 1260,
"wires": [["logic_processor"], []]
},
{
"id": "logic_processor",
"type": "function",
"z": "8f32aaab05a0cf37",
"g": "nulleinspeisung_group",
"name": "Übersetzer & Schutz",
"func": "// 1. Siemens PAC2200 Float32 Buffer auslesen\nvar buf = Buffer.from(msg.payload);\nvar rawWatts = buf.readFloatBE(0);\n\n// 2. Wert runden für Marstek (Ganzzahl)\nlet finalPower = Math.round(rawWatts);\n\n// 3. Sicherheits-Limit (Venus A verträgt max 2400W/800W je nach Modell)\n// Wir setzen 2200W als Deckel, damit nichts überhitzt.\nif (finalPower > 2200) finalPower = 2200;\nif (finalPower < -2200) finalPower = -2200;\n\n// 4. Totzone (Beruhigt das System bei Kleinstmengen)\nif (Math.abs(finalPower) < 15) finalPower = 0;\n\nmsg.payload = finalPower;\nreturn msg;",
"outputs": 1,
"x": 620,
"y": 1260,
"wires": [["write_venus_power"]]
},
{
"id": "write_venus_power",
"type": "modbus-write",
"z": "8f32aaab05a0cf37",
"g": "nulleinspeisung_group",
"name": "Sende an Venus (42021)",
"showStatusActivities": true,
"showErrors": true,
"unitid": "3",
"dataType": "HoldingRegister",
"adr": "42021",
"quantity": "1",
"server": "67aa8a7899544f4d",
"x": 890,
"y": 1260,
"wires": [[], []]
}
]