- Added node-red/config_files/flows_cred.json to .gitignore to prevent committing sensitive credentials. - Updated documentation references to the new location of room-config.js in node-red/config_files/ for clarity. - Removed the obsolete room-config.js file, centralizing configuration management. This update enhances security and improves the organization of Node-RED configuration files, ensuring better management of room settings.
3.6 KiB
Node-RED flow check report (live vs repo)
Checked live flows on 10.20.30.12 (Feb 2026). Summary below.
Updated (match repo) – Living Room tab
| Node name | Status | Note |
|---|---|---|
| HA to NVL | Updated | Uses roomConfig, entityToRoom |
| Zigbee to NVL | Updated | Uses switchBindings, multi-device payload, v.payload.action |
| Clear zigbee edge | Updated | Supports Array.isArray(msg.zigbeeClear) |
| STATE TO NVL | Updated | Uses global.get('roomConfig').roomNames |
| NVL to HA Sync | Updated | Uses roomConfig.lightEntityMap |
You have duplicate nodes in the same tab: some of these names exist twice (or three times), and one copy is old. The flow may be wired to the old instances.
Not updated / needs action
1. Load room config – empty
- Current: The "Load room config" function node contains only
return msg;(12 chars). - Effect:
global.get('roomConfig')is never set fromroom-config.js, so other nodes may use fallbacks or wrong data. - Fix: Paste the full loader code into the "Load room config" function node. Code to paste is in node-red/room-config-loader.js (see below).
2. Duplicate nodes in Living Room
Same tab contains both updated and old versions:
- HA to NVL: 1 updated, 1 old
- Zigbee to NVL: 2 updated, 1 old
- Clear zigbee edge: 1 updated, 1 old
- NVL to HA Sync: 1 updated, 1 old
- NVL SEND: 1 node, old (hardcoded
roomNames = ['cmd_livingroom'])
If your flow is connected to the old nodes, behaviour will not match the repo. Ensure:
- Zigbee/HA → updated "Zigbee to NVL" / "HA to NVL" → updated "STATE TO NVL" (or replace "NVL SEND" with STATE TO NVL and wire that) → nvl-send.
- Delay → updated "Clear zigbee edge" (the one that has
Array.isArray(msg.zigbeeClear)).
3. Flow 7
All relevant function nodes there are old (fixed livingRoom, no roomConfig). Update them if you use that tab, or leave as-is if unused.
Code to paste: Load room config
Paste this into the Load room config function node (and connect an Inject “once after 0.5 s” to it):
// Delete cached version so changes to the file are picked up on redeploy
delete require.cache[require.resolve('/root/.node-red/room-config.js')];
const ROOM_CONFIG = require('/root/.node-red/room-config.js');
global.set('roomConfig', ROOM_CONFIG);
node.warn('[Load room config] loaded: ' + ROOM_CONFIG.roomNames.length + ' rooms, ' + ROOM_CONFIG.lightEntityMap.length + ' light mappings');
return null;
Full file: node-red/room-config-loader.js.
room-config.js on server
/root/.node-red/room-config.js is present and contains roomNames, switchBindings, etc. Upload from repo when you change config:
scp node-red/config_files/room-config.js root@nodered.paraskeva.net:/root/.node-red/room-config.js
Checklist
- Paste Load room config code (above) into the "Load room config" node and deploy.
- In Living Room, confirm wires go to the updated HA to NVL / Zigbee to NVL / Clear zigbee edge (not the old duplicates).
- Use STATE TO NVL (roomConfig) in the NVL path, or replace NVL SEND content with state-to-nvl-send-payload.js.
- Optionally remove or disable the old duplicate nodes in Living Room to avoid confusion.
- After changing
room-config.js, upload it and redeploy (or restart Node-RED).