d64d0f89239e9c4975a5e8162e7deff1775daf46
- Updated documentation to clarify the mapping of Zigbee buttons to specific (room, light) pairs using `switchBindings`. - Improved the Zigbee to NVL function to support both single-device and multi-device payloads, enhancing flexibility in handling actions. - Revised the room configuration to include detailed switch bindings and fallback mechanisms for device identification, streamlining the integration process. This update improves the usability and functionality of the Zigbee integration within Node-RED, facilitating better control of lighting systems.
Home Automation
How home automation works in this house: services and CODESYS connectivity.
How it works
- CODESYS (Raspberry Pi) runs the PLC: lights and water boiler via EtherCAT I/O.
- Node-RED runs automation logic and talks to CODESYS over UDP (network variables).
- MQTT broker (LXC) is the message bus.
- Zigbee2MQTT bridges Zigbee switches to MQTT.
- Home Assistant is the dashboard and can trigger automations.
Flow: Zigbee switch or HA → Node-RED → UDP → CODESYS → EtherCAT → relays/lights or boiler.
Project layout
kkelomatic_home/
├── codesys/ # CODESYS project and source (PLC logic, NVL)
├── docs/ # Documentation (architecture, services, Codesys)
└── scripts/ # parse-codesys-xml.py
Documentation
- Architecture & setup: docs/reference/architecture.md, setup.md
- Services: docs/integration/ — MQTT, Node-RED, Home Assistant, Zigbee2MQTT
- CODESYS: docs/codesys/codesys.md, codesys/src/NVL/README.md (connectivity)
CODESYS connectivity
- NVL_Out (PLC → Node-RED): light states + boiler status, UDP.
- NVL_In (Node-RED → PLC): light and boiler commands, UDP.
See codesys/src/NVL/README.md and nodered-payload.md for layout and ports.
Description
Languages
JavaScript
69.8%
Smalltalk
22%
Python
8.2%