node-red-contrib-dmx-for-ha 0.4.8 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +28 -0
- package/README.md +49 -0
- package/node-red-contrib-dmx-for-ha/LICENSE +28 -0
- package/node-red-contrib-dmx-for-ha/README.md +587 -0
- package/node-red-contrib-dmx-for-ha/docs/config_node_spec.md +236 -0
- package/node-red-contrib-dmx-for-ha/docs/dmx_node_env_reference.md +341 -0
- package/node-red-contrib-dmx-for-ha/docs/master_todo.md +428 -0
- package/node-red-contrib-dmx-for-ha/docs/node_contracts.md +278 -0
- package/node-red-contrib-dmx-for-ha/docs/nr_subflow_gotchas.md +258 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-button.html +326 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-button.js +284 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-config.html +270 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-config.js +99 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-dmx-group.html +387 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-dmx-group.js +410 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-dmx.html +618 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-dmx.js +808 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-pir.html +337 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-pir.js +306 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-relay.html +329 -0
- package/node-red-contrib-dmx-for-ha/nodes/ha-mqtt-relay.js +424 -0
- package/node-red-contrib-dmx-for-ha/package.json +39 -0
- package/node-red-contrib-dmx-for-ha/subflow/README.md +35 -0
- package/node-red-contrib-dmx-for-ha/subflow/button_node_v5.0.3.js +324 -0
- package/node-red-contrib-dmx-for-ha/subflow/dmx_group_node_v0.3.8.js +860 -0
- package/node-red-contrib-dmx-for-ha/subflow/dmx_node_v0.5.9.js +1994 -0
- package/node-red-contrib-dmx-for-ha/subflow/pir_node_v1.0.3.js +365 -0
- package/node-red-contrib-dmx-for-ha/subflow/relay_node_v4.0.2.js +553 -0
- package/node-red-contrib-dmx-for-ha/subflow/subflow_definitions.json +6154 -0
- package/nodes/ha-mqtt-button.html +1 -1
- package/nodes/ha-mqtt-button.js +8 -1
- package/nodes/ha-mqtt-config.html +16 -2
- package/nodes/ha-mqtt-config.js +4 -2
- package/nodes/ha-mqtt-dmx-group.html +1 -1
- package/nodes/ha-mqtt-dmx-group.js +5 -1
- package/nodes/ha-mqtt-dmx.html +1 -1
- package/nodes/ha-mqtt-dmx.js +6 -1
- package/nodes/ha-mqtt-pir.html +1 -1
- package/nodes/ha-mqtt-pir.js +5 -1
- package/nodes/ha-mqtt-relay.html +1 -1
- package/nodes/ha-mqtt-relay.js +5 -1
- package/package.json +2 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
GNU GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 29 June 2007
|
|
3
|
+
|
|
4
|
+
node-red-contrib-dmx-for-ha
|
|
5
|
+
Copyright (C) 2024-2026 DeSwaggy
|
|
6
|
+
|
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
|
8
|
+
it under the terms of the GNU General Public License as published by
|
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
(at your option) any later version.
|
|
11
|
+
|
|
12
|
+
This program is distributed in the hope that it will be useful,
|
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
GNU General Public License for more details.
|
|
16
|
+
|
|
17
|
+
You should have received a copy of the GNU General Public License
|
|
18
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Full licence text: https://www.gnu.org/licenses/gpl-3.0.txt
|
|
23
|
+
|
|
24
|
+
ADDITIONAL NOTE:
|
|
25
|
+
This package was built from 6+ years of real-world professional
|
|
26
|
+
installation experience. If you use it, improve it, or build on it —
|
|
27
|
+
please contribute your changes back to the community. That's the spirit
|
|
28
|
+
of this licence and the spirit in which it was written.
|
package/README.md
CHANGED
|
@@ -64,6 +64,16 @@ Most DMX implementations require either expensive proprietary hardware or comple
|
|
|
64
64
|
- Configurable DMX floor value — prevents low-value flicker on hardware that needs it
|
|
65
65
|
- Debug mode per node — 12hr auto-disable, safe to leave in production flows
|
|
66
66
|
|
|
67
|
+
## Licence
|
|
68
|
+
|
|
69
|
+
This package is licensed under **[GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt)**.
|
|
70
|
+
|
|
71
|
+
You are free to use, modify, and distribute this package. Any derivative works must be distributed under the same GPL v3 licence. This package may not be taken proprietary, rebranded as closed source, or distributed without crediting the original author.
|
|
72
|
+
|
|
73
|
+
This package was built from 6+ years of real-world professional installation experience. If you use it, improve it, or build on it — please contribute your changes back to the community.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
67
77
|
> **Note:** This is building automation DMX — fixtures, decoders, dimmers, relay switching. Not entertainment industry DMX (no movers, gobos, or fixture profiles). DMX is an open standard and this package works with any DMX controller that accepts MQTT payloads.
|
|
68
78
|
|
|
69
79
|
---
|
|
@@ -290,6 +300,45 @@ Entity IDs in HA are locked to the fixture ID and survive friendly name changes.
|
|
|
290
300
|
|
|
291
301
|
---
|
|
292
302
|
|
|
303
|
+
## Retain discovery — why the default is false
|
|
304
|
+
|
|
305
|
+
If you search "MQTT discovery retain" you will find HA community posts and documentation recommending `retain=true` for discovery messages. **This advice is correct for ESP and battery-powered IoT devices — but not for Node-RED.**
|
|
306
|
+
|
|
307
|
+
### Why ESP devices need retain=true
|
|
308
|
+
|
|
309
|
+
An ESP sensor runs independently of HA. When HA restarts or updates, the ESP device has no way of knowing — it thinks it already discovered itself and won't re-send the discovery payload. Without `retain=true`, the device disappears from HA permanently until the ESP reboots.
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
ESP device Home Assistant
|
|
313
|
+
────────── ──────────────
|
|
314
|
+
Sends discovery once → HA restarts
|
|
315
|
+
Doesn't know HA restarted Retained message restores device ✓
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Why Node-RED is different
|
|
319
|
+
|
|
320
|
+
Node-RED sits on the same server stack as HA. They are tightly coupled — if one goes down the other knows immediately via the websocket connection. When HA restarts, NR reconnects and re-discovers every device automatically. If NR goes down, HA *should* show nothing — because nothing is working.
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
Node-RED + Home Assistant (same server):
|
|
324
|
+
NR down → no devices in HA → client sees fault immediately ✓
|
|
325
|
+
HA restart → NR reconnects → re-discovers everything ✓
|
|
326
|
+
retain=true → ghost devices → client confused, support call ✗
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### The config node setting
|
|
330
|
+
|
|
331
|
+
The `Retain discovery` setting on the config node controls this behaviour:
|
|
332
|
+
|
|
333
|
+
| Setting | Behaviour | Recommended for |
|
|
334
|
+
|---|---|---|
|
|
335
|
+
| `false` (default) | Devices disappear if NR stops | Professional installs — clear fault indication |
|
|
336
|
+
| `true` | Devices persist if NR stops | Standalone IoT, voice assistant integrations where entity persistence matters |
|
|
337
|
+
|
|
338
|
+
**Default is `false`** — if a client opens their HA dashboard and sees no lights, they know something is wrong with Node-RED. This is the correct behaviour for a professionally installed system where NR and HA live on the same hardware.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
293
342
|
## MQTT topic formats
|
|
294
343
|
|
|
295
344
|
| Node | Topic |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
GNU GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 29 June 2007
|
|
3
|
+
|
|
4
|
+
node-red-contrib-dmx-for-ha
|
|
5
|
+
Copyright (C) 2024-2026 DeSwaggy
|
|
6
|
+
|
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
|
8
|
+
it under the terms of the GNU General Public License as published by
|
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
(at your option) any later version.
|
|
11
|
+
|
|
12
|
+
This program is distributed in the hope that it will be useful,
|
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
GNU General Public License for more details.
|
|
16
|
+
|
|
17
|
+
You should have received a copy of the GNU General Public License
|
|
18
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
Full licence text: https://www.gnu.org/licenses/gpl-3.0.txt
|
|
23
|
+
|
|
24
|
+
ADDITIONAL NOTE:
|
|
25
|
+
This package was built from 6+ years of real-world professional
|
|
26
|
+
installation experience. If you use it, improve it, or build on it —
|
|
27
|
+
please contribute your changes back to the community. That's the spirit
|
|
28
|
+
of this licence and the spirit in which it was written.
|