- Deleted the INFORMATION_NEEDED.md file as it was no longer necessary for documentation. - Revised README.md to enhance the overview of the home automation system, focusing on how services and CODESYS connectivity work. - Updated project structure in README.md for better organization and clarity, including links to relevant documentation. This update simplifies the documentation and improves the overall user experience for developers and users of the home automation system.
3.6 KiB
3.6 KiB
Node-RED flows analysis
Flows pulled from root@10.20.30.12 (/root/.node-red/flows.json).
Snapshot: Feb 8, 2026.
Tabs (flow sheets)
| Tab | Purpose (from nodes) |
|---|---|
| Flow 1 | CODESYS NVL (UDP), HA buttons, Room Lights subflow, dashboard links |
| Flow 2–7 | (Unnamed / per-room or feature) |
| Living Room | Living room–specific logic → Living Room flow doc |
| Notifications | Notifications (Telegram, etc.) |
| Zigbee | Zigbee2MQTT in/out, MQTT |
| Scheduler | cronplus, bigtimer, triggers |
Node counts (summary)
| Category | Node types / count |
|---|---|
| UI | 128 ui_button, 17 ui_tab, 17 ui_group, 1 ui_base |
| Logic | 59 function, 12 change, 10 switch, 17 inject, 2 trigger, 2 delay, 2 bigtimer, 3 cronplus |
| Home Assistant | 47 ha-entity-config, 29 ha-button, 18 ha-binary-sensor, 15 ha-device-config, 5 api-current-state, 2 api-call-service, 1 server-state-changed, 1 poll-state, 1 trigger-state, 1 ha-sensor |
| Zigbee | 28 zigbee2mqtt-in, 9 zigbee2mqtt-out, 1 zigbee2mqtt-server, 1 zigbee2mqtt-get |
| CODESYS / NVL | 1 nvl-send, 1 nvl-receive, 1 nvl-datatypes, 1 udp in, 1 udp out |
| Other | 1 server (HA WebSocket), 1 mqtt-broker, 2 mqtt in, 9 http request, 2 telegram bot, 1 telegram sender, 1 telegram receiver, 43 debug, 29 link in, 29 link out |
| Subflows | Room Lights (57bd1b149526fcee), Room filter (4dc13919bcc9d676), Subflow 1 |
CODESYS connectivity (Flow 1)
All NVL and UDP nodes are on tab Flow 1 (z": "46892ced77481340").
| Node | Role | Config |
|---|---|---|
| udp out | Send to PLC | addr: 10.20.30.5, port: 1202 |
| udp in | Receive from PLC | port: 1202 |
| nvl-send | Build NVL_In payload | Feeds udp out. Uses node-red-contrib-nvl with inline definition (struct_switches × 15 rooms + cmd_livingroom struct_room_cmds). |
| nvl-receive | Parse NVL_Out | Triggered by udp in. Definition: 15 × struct_lights + light_livingRoom as struct_room_outs. |
Notes
- PLC IP is 10.20.30.5; Node-RED uses the same port 1202 for both sending to and receiving from the PLC (CODESYS NVL Sender and Receiver may use the same port or different; confirm in CODESYS).
- nvl-receive uses struct_lights (6 BOOLs) for 15 rooms and struct_room_outs (6 outputs + 6 status) only for
light_livingRoom. Yourcodesys/src/NVLdocs use struct_room_outs for all rooms; the flow is a subset. - Room Lights subflow (Room Lights) is used from Flow 1 (and possibly Living Room) to map HA/buttons to room/light commands.
Integrations
- Home Assistant: WebSocket server config; many ha-entity-config / ha-device-config; ha-button, ha-binary-sensor; api-current-state, api-call-service.
- Zigbee2MQTT: One zigbee2mqtt-server; zigbee2mqtt-in (28) and zigbee2mqtt-out (9) for device events and commands.
- MQTT: One mqtt-broker; mqtt in (2) for other topics.
- Telegram: telegram bot (2), telegram sender, telegram receiver for notifications.
- Dashboard: node-red-dashboard (ui_base, ui_tab, ui_group, ui_button) for a simple UI.
File location
- Flows (full export): nodered-flows.json
- This analysis: nodered-flows-analysis.md
To refresh: from the project PC run
ssh root@10.20.30.12 "cat /root/.node-red/flows.json" > docs/integration/nodered-flows.json