Files
kkelomatic_home/docs/integration/nodered-flows-analysis.md
nearxos f0d883b8c2 Remove obsolete INFORMATION_NEEDED.md and streamline README.md for clarity
- 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.
2026-02-08 17:09:30 +02:00

71 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 27 | (Unnamed / per-room or feature) |
| **Living Room**| Living roomspecific logic → **[Living Room flow doc](nodered-livingroom-flow.md)** |
| **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`. Your `codesys/src/NVL` docs 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](nodered-flows.json)
- **This analysis:** [nodered-flows-analysis.md](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`