node-red-contrib-huemagic 5.0.1 → 5.1.0
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/CHANGELOG.md +20 -1
- package/README.md +49 -3
- package/examples/Deutsch/Hue Bridge.json +98 -0
- package/examples/English/Hue Bridge.json +98 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +98 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +98 -0
- package/examples/Italiano/Hue Bridge.json +98 -0
- package/examples/Nederlands/Hue Bridge.json +98 -0
- package/examples/Polski/Hue Bridge.json +98 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +98 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +98 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +98 -0
- package/huemagic/hue-bridge-config.js +19 -5
- package/huemagic/hue-bridge.js +106 -0
- package/huemagic/hue-group.js +2 -3
- package/huemagic/hue-light.js +2 -3
- package/huemagic/locales/de/hue-bridge.html +19 -0
- package/huemagic/locales/de/hue-bridge.json +7 -1
- package/huemagic/locales/de/hue-group.html +1 -1
- package/huemagic/locales/de/hue-light.html +1 -1
- package/huemagic/locales/el/hue-bridge.html +19 -0
- package/huemagic/locales/el/hue-bridge.json +7 -1
- package/huemagic/locales/el/hue-group.html +1 -1
- package/huemagic/locales/el/hue-light.html +1 -1
- package/huemagic/locales/en/hue-bridge.html +19 -0
- package/huemagic/locales/en/hue-bridge.json +7 -1
- package/huemagic/locales/en/hue-group.html +1 -1
- package/huemagic/locales/en/hue-light.html +1 -1
- package/huemagic/locales/es/hue-bridge.html +19 -0
- package/huemagic/locales/es/hue-bridge.json +7 -1
- package/huemagic/locales/es/hue-group.html +1 -1
- package/huemagic/locales/es/hue-light.html +1 -1
- package/huemagic/locales/fr/hue-bridge.html +19 -0
- package/huemagic/locales/fr/hue-bridge.json +7 -1
- package/huemagic/locales/fr/hue-group.html +1 -1
- package/huemagic/locales/fr/hue-light.html +1 -1
- package/huemagic/locales/it/hue-bridge.html +19 -0
- package/huemagic/locales/it/hue-bridge.json +7 -1
- package/huemagic/locales/it/hue-group.html +1 -1
- package/huemagic/locales/it/hue-light.html +1 -1
- package/huemagic/locales/nl/hue-bridge.html +19 -0
- package/huemagic/locales/nl/hue-bridge.json +7 -1
- package/huemagic/locales/nl/hue-group.html +1 -1
- package/huemagic/locales/nl/hue-light.html +1 -1
- package/huemagic/locales/pl/hue-bridge.html +19 -0
- package/huemagic/locales/pl/hue-bridge.json +7 -1
- package/huemagic/locales/pl/hue-group.html +1 -1
- package/huemagic/locales/pl/hue-light.html +1 -1
- package/huemagic/locales/pt/hue-bridge.html +19 -0
- package/huemagic/locales/pt/hue-bridge.json +7 -1
- package/huemagic/locales/pt/hue-group.html +1 -1
- package/huemagic/locales/pt/hue-light.html +1 -1
- package/huemagic/locales/tr/hue-bridge.html +19 -0
- package/huemagic/locales/tr/hue-bridge.json +7 -1
- package/huemagic/locales/tr/hue-group.html +1 -1
- package/huemagic/locales/tr/hue-light.html +1 -1
- package/huemagic/utils/api.js +5 -5
- package/huemagic/utils/color.js +2 -2
- package/huemagic/utils/http.js +278 -0
- package/huemagic/utils/image.js +180 -0
- package/huemagic/utils/messages.js +161 -1
- package/huemagic/utils/syncbox.js +3 -3
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
-
### v5.0
|
|
5
|
+
### v5.1.0 (latest)
|
|
6
|
+
|
|
7
|
+
**New devices and features**
|
|
8
|
+
|
|
9
|
+
* The "Hue Bridge" node now reports the firmware state of every device behind the bridge under `msg.payload.softwareUpdates`, so a flow can react as soon as an update is waiting somewhere
|
|
10
|
+
* The "Hue Bridge" node now reports the location of the bridge under `msg.payload.location` — including the sunrise and sunset it calculates — and who is at home under `msg.payload.presence`
|
|
11
|
+
* The "Hue Bridge" node now reports the WiFi connection of a Hue Bridge Pro under `msg.payload.wifi`, including the signal strength
|
|
12
|
+
* The "Hue Bridge" node can start the device search of the bridge with `msg.payload.searchDevices` — optionally for certain serial numbers — and reports its state under `msg.payload.deviceSearch`
|
|
13
|
+
* The "Hue Bridge" node lists the entertainment areas of the bridge under `msg.payload.entertainmentAreas` and can start and stop them with `msg.payload.entertainment`
|
|
14
|
+
* The "Hue Bridge" node lists the service groups of a Hue Bridge Pro under `msg.payload.serviceGroups`
|
|
15
|
+
* The example flow of the "Hue Bridge" node shows the device search and the entertainment areas, in all ten languages
|
|
16
|
+
|
|
17
|
+
**Under the hood**
|
|
18
|
+
|
|
19
|
+
* The colors of an image are read by HueMagic itself instead of by `get-image-colors`, which dragged the abandoned `request` package and 108 other dependencies behind it. PNG, JPEG, GIF and SVG are read as before — from a path or from the web — and `npm audit` is clean again
|
|
20
|
+
* HueMagic speaks HTTP itself instead of through `axios`. The bridge and the sync box are still talked to directly, while the bridge discovery — and now also an image loaded from the web — go through `HTTPS_PROXY` / `HTTP_PROXY` and respect `NO_PROXY`
|
|
21
|
+
* All remaining dependencies were updated to their current releases
|
|
22
|
+
* HueMagic installs 21 instead of 133 packages, and `npm audit` reports no vulnerabilities
|
|
23
|
+
|
|
24
|
+
### v5.0.1
|
|
6
25
|
|
|
7
26
|
* The "Hue Buttons" node can now be given additional outputs, each one triggered by a range of buttons and a certain action — the start of a press, the end of a short press, the end of a long press once it lasted long enough, or repeatedly while a long press is still running. One switch can drive several flows without a Switch node behind it ([#455](https://github.com/Foddy/node-red-contrib-huemagic/pull/455)) (thx @FredBlo)
|
|
8
27
|
* The status of the "Hue Buttons" node now also shows how long a button was held down
|
package/README.md
CHANGED
|
@@ -13,7 +13,10 @@ HueMagic provides several input and output nodes for Node-RED and is the most in
|
|
|
13
13
|
* Automatic color temperature & brightness setting based on the current time
|
|
14
14
|
* Event-based status messages for all devices connected to the Hue Bridge
|
|
15
15
|
* Pairing of new devices without app enforcement (TouchLink)
|
|
16
|
+
* Searches for new devices the way the Hue app does, optionally by serial number
|
|
16
17
|
* Automatic firmware updates to the Hue Bridge and connected devices
|
|
18
|
+
* Reports pending firmware updates, the location, who is at home and the WiFi of a Hue Bridge Pro
|
|
19
|
+
* Lists and streams the entertainment areas of the bridge
|
|
17
20
|
* Activating / deactivating of sensors, rules & automations on the Hue Bridge
|
|
18
21
|
* Extended alarm and colorloop effects on light bulbs and whole groups
|
|
19
22
|
* A large selection of animations and the option to create custom animations
|
|
@@ -32,6 +35,7 @@ HueMagic provides several input and output nodes for Node-RED and is the most in
|
|
|
32
35
|
* Recalls scenes with their own transition time and brightness
|
|
33
36
|
* Calibrates temperature sensors and the darkness threshold of light level sensors
|
|
34
37
|
* Available in ten languages, including the complete node documentation
|
|
38
|
+
* Lean on dependencies: nine packages, no HTTP client and no known vulnerabilities
|
|
35
39
|
|
|
36
40
|
### Installation
|
|
37
41
|
HueMagic was written for **Node.js 18+** and **Node-RED v3+**. It supports the square-shaped Hue Bridge with the **firmware 1948086000+** or higher as well as the **Hue Bridge Pro**. You can install HueMagic directly via the [Node-RED Palette Manager](https://nodered.org/docs/user-guide/editor/palette/manager) or manually using [npm / yarn](https://nodered.org/docs/user-guide/runtime/adding-nodes).
|
|
@@ -90,6 +94,22 @@ You can couple new or old devices to the bridge using a "TouchLink scan" (e.g. a
|
|
|
90
94
|
|--|--|
|
|
91
95
|
| touchLink (boolean) | Couples old or new devices with the bridge |
|
|
92
96
|
|
|
97
|
+
### Search for new devices
|
|
98
|
+
|
|
99
|
+
The bridge can look for devices that have not been paired yet — the same search the Hue app performs. To do this, transfer the object `msg.payload` with the following content:
|
|
100
|
+
|
|
101
|
+
|Property|Description|
|
|
102
|
+
|--|--|
|
|
103
|
+
| searchDevices (boolean / array [string, ...] / object) | Starts the search for new devices. Pass an array of serial numbers (or an object with `searchCodes`) to look for exactly these devices |
|
|
104
|
+
|
|
105
|
+
### Start / stop an entertainment area
|
|
106
|
+
|
|
107
|
+
The bridge can hand an entertainment area over to a streaming application (e.g. the Hue Sync app) or take it back. To do this, transfer the object `msg.payload` with the following content:
|
|
108
|
+
|
|
109
|
+
|Property|Description|
|
|
110
|
+
|--|--|
|
|
111
|
+
| entertainment (object / string) | Expects `action` with `start` or `stop` and optionally `area` with the name or the ID of the entertainment area. With only one area on the bridge, `area` can be omitted |
|
|
112
|
+
|
|
93
113
|
### Get all devices and resources
|
|
94
114
|
|
|
95
115
|
With the "fetch" command you can output a list of specific devices that are currently connected to the bridge. To do this, transfer the object `msg.payload` with the following content:
|
|
@@ -149,6 +169,13 @@ The status reports of the "Hue Bridge" node are dynamic. Although they follow a
|
|
|
149
169
|
| users (array [object, ...]) | List of all users on the bridge (array with objects) |
|
|
150
170
|
| updated (string) | Time of the last update of the resource by HueMagic (ISO 8601) |
|
|
151
171
|
| model (object) | Contains the model information of the bridge under `id`, `manufacturer` and `name` |
|
|
172
|
+
| softwareUpdates (object) | Firmware state of the devices behind the bridge under `pending` (number of devices waiting for an update) and `devices` (list of these devices) |
|
|
173
|
+
| location (object) | Location of the bridge under `configured`, `sunriseTime`, `sunsetTime` and `dayType`, as far as the bridge knows it |
|
|
174
|
+
| presence (object) | Presence of the geofence clients under `atHome` (is anybody at home?) and `clients` (list of the clients with `id`, `name` and `atHome`) |
|
|
175
|
+
| wifi (object / boolean) | WiFi connection of the Hue Bridge Pro under `status`, `macAddress`, `signalStrength` and `signalValue`, or `false` on a bridge without WiFi |
|
|
176
|
+
| deviceSearch (object / boolean) | State of the device search under `status` and `searching`, or `false` if the bridge does not offer it |
|
|
177
|
+
| entertainmentAreas (array [object, ...]) | All entertainment areas of the bridge with `id`, `name`, `type`, `status`, `streaming` and the number of `lights` |
|
|
178
|
+
| serviceGroups (array [object, ...]) | Service groups of a Hue Bridge Pro with `id`, `name`, `archetype` and the `services` they bundle |
|
|
152
179
|
|
|
153
180
|
#### Fetch results under `msg.results` (optional)
|
|
154
181
|
|
|
@@ -286,7 +313,7 @@ In addition to simply switching it on and off, there are also many other options
|
|
|
286
313
|
| xyColor (object {x [float], y [float]}) | Color value in the XY color format in the form of an object |
|
|
287
314
|
| gradient (object {hex […]}) | An object with a supported color object (e.g. `hex`, `rgb`, ...) and several colors to set a gradient to supported lights. An optional `mode` spreads the colors as `interpolated_palette`, `interpolated_palette_mirrored`, `random_pixelated` or `segmented_palette` |
|
|
288
315
|
| mixColor (object) | A color to be mixed with the current light color. Can accept `color`, `hex`, `rgb` or `xyColor` objects and optionally `amount` (int) to indicate the mixing ratio in percent |
|
|
289
|
-
| image (string) | Path of an image (local or on the web) to set the current color of the light to the average color of the image |
|
|
316
|
+
| image (string) | Path of an image (local or on the web, PNG, JPEG, GIF or SVG) to set the current color of the light to the average color of the image |
|
|
290
317
|
| saturation (int) | Percentage of the saturation of the current color (beta) |
|
|
291
318
|
| colorTemp (int / string) | Value between 153 and 500 to set the color temperature of the light or the values `cold`, `normal`, `warm`, `hot` and `auto` - where `auto` is the color temperature based on the current time |
|
|
292
319
|
| incrementColorTemp (int / boolean) | Value by how much the color temperature should be warmer or `true` to make the color temperature warmer in steps of 50 |
|
|
@@ -393,7 +420,7 @@ In addition to simply switching it on and off, there are also many other options
|
|
|
393
420
|
| hex (string) | Color value in hexadecimal in the form of a string |
|
|
394
421
|
| rgb (array [0,0,0]) | Color value in RGB format in the form of an array |
|
|
395
422
|
| xyColor (object {x [float], y [float]}) | Color value in the XY color format in the form of an object |
|
|
396
|
-
| image (string) | Path of an image (local or on the web) to set the current color of the group to the average color of the image |
|
|
423
|
+
| image (string) | Path of an image (local or on the web, PNG, JPEG, GIF or SVG) to set the current color of the group to the average color of the image |
|
|
397
424
|
| colorTemp (int / string) | Value between 153 and 500 to set the color temperature of the group or the values `cold`, `normal`, `warm`, `hot` and `auto` - where `auto` is the color temperature based on the current time |
|
|
398
425
|
| transitionTime (float) | Transition time of the current setting in seconds. If `0` is passed, the group changes to the desired setting immediately. If you pass it to `3`, the group changes to the desired setting with a slight transition in the next 3 seconds |
|
|
399
426
|
| colorloop (float) | Plays a “colorloop” animation for the selected duration in seconds and then changes back to the group's original state |
|
|
@@ -1191,7 +1218,26 @@ If the status of the node has changed via a certain command, the entire command
|
|
|
1191
1218
|
|
|
1192
1219
|
# Changelog
|
|
1193
1220
|
|
|
1194
|
-
### v5.0
|
|
1221
|
+
### v5.1.0 (latest)
|
|
1222
|
+
|
|
1223
|
+
**New devices and features**
|
|
1224
|
+
|
|
1225
|
+
* The "Hue Bridge" node now reports the firmware state of every device behind the bridge under `msg.payload.softwareUpdates`, so a flow can react as soon as an update is waiting somewhere
|
|
1226
|
+
* The "Hue Bridge" node now reports the location of the bridge under `msg.payload.location` — including the sunrise and sunset it calculates — and who is at home under `msg.payload.presence`
|
|
1227
|
+
* The "Hue Bridge" node now reports the WiFi connection of a Hue Bridge Pro under `msg.payload.wifi`, including the signal strength
|
|
1228
|
+
* The "Hue Bridge" node can start the device search of the bridge with `msg.payload.searchDevices` — optionally for certain serial numbers — and reports its state under `msg.payload.deviceSearch`
|
|
1229
|
+
* The "Hue Bridge" node lists the entertainment areas of the bridge under `msg.payload.entertainmentAreas` and can start and stop them with `msg.payload.entertainment`
|
|
1230
|
+
* The "Hue Bridge" node lists the service groups of a Hue Bridge Pro under `msg.payload.serviceGroups`
|
|
1231
|
+
* The example flow of the "Hue Bridge" node shows the device search and the entertainment areas, in all ten languages
|
|
1232
|
+
|
|
1233
|
+
**Under the hood**
|
|
1234
|
+
|
|
1235
|
+
* The colors of an image are read by HueMagic itself instead of by `get-image-colors`, which dragged the abandoned `request` package and 108 other dependencies behind it. PNG, JPEG, GIF and SVG are read as before — from a path or from the web — and `npm audit` is clean again
|
|
1236
|
+
* HueMagic speaks HTTP itself instead of through `axios`. The bridge and the sync box are still talked to directly, while the bridge discovery — and now also an image loaded from the web — go through `HTTPS_PROXY` / `HTTP_PROXY` and respect `NO_PROXY`
|
|
1237
|
+
* All remaining dependencies were updated to their current releases
|
|
1238
|
+
* HueMagic installs 21 instead of 133 packages, and `npm audit` reports no vulnerabilities
|
|
1239
|
+
|
|
1240
|
+
### v5.0.1
|
|
1195
1241
|
|
|
1196
1242
|
* The "Hue Buttons" node can now be given additional outputs, each one triggered by a range of buttons and a certain action — the start of a press, the end of a short press, the end of a long press once it lasted long enough, or repeatedly while a long press is still running. One switch can drive several flows without a Switch node behind it ([#455](https://github.com/Foddy/node-red-contrib-huemagic/pull/455)) (thx @FredBlo)
|
|
1197
1243
|
* The status of the "Hue Buttons" node now also shows how long a button was held down
|
|
@@ -252,5 +252,103 @@
|
|
|
252
252
|
]
|
|
253
253
|
],
|
|
254
254
|
"icon": "node-red/alert.svg"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "c1a7f4b2d3e08a11",
|
|
258
|
+
"type": "comment",
|
|
259
|
+
"z": "bf04a073.be4428",
|
|
260
|
+
"name": "Nach neuen Geräten suchen",
|
|
261
|
+
"info": "",
|
|
262
|
+
"x": 140,
|
|
263
|
+
"y": 600,
|
|
264
|
+
"wires": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "b2c8e5a1f4d09b22",
|
|
268
|
+
"type": "inject",
|
|
269
|
+
"z": "bf04a073.be4428",
|
|
270
|
+
"name": "Gerätesuche starten",
|
|
271
|
+
"props": [
|
|
272
|
+
{
|
|
273
|
+
"p": "payload"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"repeat": "",
|
|
277
|
+
"crontab": "",
|
|
278
|
+
"once": false,
|
|
279
|
+
"onceDelay": 0.1,
|
|
280
|
+
"topic": "",
|
|
281
|
+
"payload": "{\"searchDevices\":true}",
|
|
282
|
+
"payloadType": "json",
|
|
283
|
+
"x": 150,
|
|
284
|
+
"y": 640,
|
|
285
|
+
"wires": [
|
|
286
|
+
[
|
|
287
|
+
"ea4668e7.fac4f"
|
|
288
|
+
]
|
|
289
|
+
],
|
|
290
|
+
"icon": "node-red-contrib-huemagic/hue-bridge.svg"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "d3e9f6b2a5c10c33",
|
|
294
|
+
"type": "comment",
|
|
295
|
+
"z": "bf04a073.be4428",
|
|
296
|
+
"name": "Entertainment-Bereiche",
|
|
297
|
+
"info": "",
|
|
298
|
+
"x": 130,
|
|
299
|
+
"y": 700,
|
|
300
|
+
"wires": []
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "e4f0a7c3b6d21d44",
|
|
304
|
+
"type": "inject",
|
|
305
|
+
"z": "bf04a073.be4428",
|
|
306
|
+
"name": "Entertainment-Bereich starten",
|
|
307
|
+
"props": [
|
|
308
|
+
{
|
|
309
|
+
"p": "payload"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"repeat": "",
|
|
313
|
+
"crontab": "",
|
|
314
|
+
"once": false,
|
|
315
|
+
"onceDelay": 0.1,
|
|
316
|
+
"topic": "",
|
|
317
|
+
"payload": "{\"entertainment\":{\"action\":\"start\"}}",
|
|
318
|
+
"payloadType": "json",
|
|
319
|
+
"x": 160,
|
|
320
|
+
"y": 740,
|
|
321
|
+
"wires": [
|
|
322
|
+
[
|
|
323
|
+
"ea4668e7.fac4f"
|
|
324
|
+
]
|
|
325
|
+
],
|
|
326
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "f5a1b8d4c7e32e55",
|
|
330
|
+
"type": "inject",
|
|
331
|
+
"z": "bf04a073.be4428",
|
|
332
|
+
"name": "Entertainment-Bereich stoppen",
|
|
333
|
+
"props": [
|
|
334
|
+
{
|
|
335
|
+
"p": "payload"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"repeat": "",
|
|
339
|
+
"crontab": "",
|
|
340
|
+
"once": false,
|
|
341
|
+
"onceDelay": 0.1,
|
|
342
|
+
"topic": "",
|
|
343
|
+
"payload": "{\"entertainment\":{\"action\":\"stop\"}}",
|
|
344
|
+
"payloadType": "json",
|
|
345
|
+
"x": 160,
|
|
346
|
+
"y": 780,
|
|
347
|
+
"wires": [
|
|
348
|
+
[
|
|
349
|
+
"ea4668e7.fac4f"
|
|
350
|
+
]
|
|
351
|
+
],
|
|
352
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
255
353
|
}
|
|
256
354
|
]
|
|
@@ -252,5 +252,103 @@
|
|
|
252
252
|
]
|
|
253
253
|
],
|
|
254
254
|
"icon": "node-red/alert.svg"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "c1a7f4b2d3e08a11",
|
|
258
|
+
"type": "comment",
|
|
259
|
+
"z": "bf04a073.be4428",
|
|
260
|
+
"name": "Search for new devices",
|
|
261
|
+
"info": "",
|
|
262
|
+
"x": 140,
|
|
263
|
+
"y": 600,
|
|
264
|
+
"wires": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "b2c8e5a1f4d09b22",
|
|
268
|
+
"type": "inject",
|
|
269
|
+
"z": "bf04a073.be4428",
|
|
270
|
+
"name": "Start the device search",
|
|
271
|
+
"props": [
|
|
272
|
+
{
|
|
273
|
+
"p": "payload"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"repeat": "",
|
|
277
|
+
"crontab": "",
|
|
278
|
+
"once": false,
|
|
279
|
+
"onceDelay": 0.1,
|
|
280
|
+
"topic": "",
|
|
281
|
+
"payload": "{\"searchDevices\":true}",
|
|
282
|
+
"payloadType": "json",
|
|
283
|
+
"x": 150,
|
|
284
|
+
"y": 640,
|
|
285
|
+
"wires": [
|
|
286
|
+
[
|
|
287
|
+
"ea4668e7.fac4f"
|
|
288
|
+
]
|
|
289
|
+
],
|
|
290
|
+
"icon": "node-red-contrib-huemagic/hue-bridge.svg"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "d3e9f6b2a5c10c33",
|
|
294
|
+
"type": "comment",
|
|
295
|
+
"z": "bf04a073.be4428",
|
|
296
|
+
"name": "Entertainment areas",
|
|
297
|
+
"info": "",
|
|
298
|
+
"x": 130,
|
|
299
|
+
"y": 700,
|
|
300
|
+
"wires": []
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "e4f0a7c3b6d21d44",
|
|
304
|
+
"type": "inject",
|
|
305
|
+
"z": "bf04a073.be4428",
|
|
306
|
+
"name": "Start entertainment area",
|
|
307
|
+
"props": [
|
|
308
|
+
{
|
|
309
|
+
"p": "payload"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"repeat": "",
|
|
313
|
+
"crontab": "",
|
|
314
|
+
"once": false,
|
|
315
|
+
"onceDelay": 0.1,
|
|
316
|
+
"topic": "",
|
|
317
|
+
"payload": "{\"entertainment\":{\"action\":\"start\"}}",
|
|
318
|
+
"payloadType": "json",
|
|
319
|
+
"x": 160,
|
|
320
|
+
"y": 740,
|
|
321
|
+
"wires": [
|
|
322
|
+
[
|
|
323
|
+
"ea4668e7.fac4f"
|
|
324
|
+
]
|
|
325
|
+
],
|
|
326
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "f5a1b8d4c7e32e55",
|
|
330
|
+
"type": "inject",
|
|
331
|
+
"z": "bf04a073.be4428",
|
|
332
|
+
"name": "Stop entertainment area",
|
|
333
|
+
"props": [
|
|
334
|
+
{
|
|
335
|
+
"p": "payload"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"repeat": "",
|
|
339
|
+
"crontab": "",
|
|
340
|
+
"once": false,
|
|
341
|
+
"onceDelay": 0.1,
|
|
342
|
+
"topic": "",
|
|
343
|
+
"payload": "{\"entertainment\":{\"action\":\"stop\"}}",
|
|
344
|
+
"payloadType": "json",
|
|
345
|
+
"x": 160,
|
|
346
|
+
"y": 780,
|
|
347
|
+
"wires": [
|
|
348
|
+
[
|
|
349
|
+
"ea4668e7.fac4f"
|
|
350
|
+
]
|
|
351
|
+
],
|
|
352
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
255
353
|
}
|
|
256
354
|
]
|
|
@@ -252,5 +252,103 @@
|
|
|
252
252
|
]
|
|
253
253
|
],
|
|
254
254
|
"icon": "node-red/alert.svg"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "c1a7f4b2d3e08a11",
|
|
258
|
+
"type": "comment",
|
|
259
|
+
"z": "bf04a073.be4428",
|
|
260
|
+
"name": "Buscar dispositivos nuevos",
|
|
261
|
+
"info": "",
|
|
262
|
+
"x": 140,
|
|
263
|
+
"y": 600,
|
|
264
|
+
"wires": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "b2c8e5a1f4d09b22",
|
|
268
|
+
"type": "inject",
|
|
269
|
+
"z": "bf04a073.be4428",
|
|
270
|
+
"name": "Iniciar la búsqueda de dispositivos",
|
|
271
|
+
"props": [
|
|
272
|
+
{
|
|
273
|
+
"p": "payload"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"repeat": "",
|
|
277
|
+
"crontab": "",
|
|
278
|
+
"once": false,
|
|
279
|
+
"onceDelay": 0.1,
|
|
280
|
+
"topic": "",
|
|
281
|
+
"payload": "{\"searchDevices\":true}",
|
|
282
|
+
"payloadType": "json",
|
|
283
|
+
"x": 150,
|
|
284
|
+
"y": 640,
|
|
285
|
+
"wires": [
|
|
286
|
+
[
|
|
287
|
+
"ea4668e7.fac4f"
|
|
288
|
+
]
|
|
289
|
+
],
|
|
290
|
+
"icon": "node-red-contrib-huemagic/hue-bridge.svg"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "d3e9f6b2a5c10c33",
|
|
294
|
+
"type": "comment",
|
|
295
|
+
"z": "bf04a073.be4428",
|
|
296
|
+
"name": "Zonas de entretenimiento",
|
|
297
|
+
"info": "",
|
|
298
|
+
"x": 130,
|
|
299
|
+
"y": 700,
|
|
300
|
+
"wires": []
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "e4f0a7c3b6d21d44",
|
|
304
|
+
"type": "inject",
|
|
305
|
+
"z": "bf04a073.be4428",
|
|
306
|
+
"name": "Iniciar la zona de entretenimiento",
|
|
307
|
+
"props": [
|
|
308
|
+
{
|
|
309
|
+
"p": "payload"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"repeat": "",
|
|
313
|
+
"crontab": "",
|
|
314
|
+
"once": false,
|
|
315
|
+
"onceDelay": 0.1,
|
|
316
|
+
"topic": "",
|
|
317
|
+
"payload": "{\"entertainment\":{\"action\":\"start\"}}",
|
|
318
|
+
"payloadType": "json",
|
|
319
|
+
"x": 160,
|
|
320
|
+
"y": 740,
|
|
321
|
+
"wires": [
|
|
322
|
+
[
|
|
323
|
+
"ea4668e7.fac4f"
|
|
324
|
+
]
|
|
325
|
+
],
|
|
326
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "f5a1b8d4c7e32e55",
|
|
330
|
+
"type": "inject",
|
|
331
|
+
"z": "bf04a073.be4428",
|
|
332
|
+
"name": "Detener la zona de entretenimiento",
|
|
333
|
+
"props": [
|
|
334
|
+
{
|
|
335
|
+
"p": "payload"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"repeat": "",
|
|
339
|
+
"crontab": "",
|
|
340
|
+
"once": false,
|
|
341
|
+
"onceDelay": 0.1,
|
|
342
|
+
"topic": "",
|
|
343
|
+
"payload": "{\"entertainment\":{\"action\":\"stop\"}}",
|
|
344
|
+
"payloadType": "json",
|
|
345
|
+
"x": 160,
|
|
346
|
+
"y": 780,
|
|
347
|
+
"wires": [
|
|
348
|
+
[
|
|
349
|
+
"ea4668e7.fac4f"
|
|
350
|
+
]
|
|
351
|
+
],
|
|
352
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
255
353
|
}
|
|
256
354
|
]
|
|
@@ -252,5 +252,103 @@
|
|
|
252
252
|
]
|
|
253
253
|
],
|
|
254
254
|
"icon": "node-red/alert.svg"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "c1a7f4b2d3e08a11",
|
|
258
|
+
"type": "comment",
|
|
259
|
+
"z": "bf04a073.be4428",
|
|
260
|
+
"name": "Rechercher de nouveaux appareils",
|
|
261
|
+
"info": "",
|
|
262
|
+
"x": 140,
|
|
263
|
+
"y": 600,
|
|
264
|
+
"wires": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "b2c8e5a1f4d09b22",
|
|
268
|
+
"type": "inject",
|
|
269
|
+
"z": "bf04a073.be4428",
|
|
270
|
+
"name": "Démarrer la recherche d'appareils",
|
|
271
|
+
"props": [
|
|
272
|
+
{
|
|
273
|
+
"p": "payload"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"repeat": "",
|
|
277
|
+
"crontab": "",
|
|
278
|
+
"once": false,
|
|
279
|
+
"onceDelay": 0.1,
|
|
280
|
+
"topic": "",
|
|
281
|
+
"payload": "{\"searchDevices\":true}",
|
|
282
|
+
"payloadType": "json",
|
|
283
|
+
"x": 150,
|
|
284
|
+
"y": 640,
|
|
285
|
+
"wires": [
|
|
286
|
+
[
|
|
287
|
+
"ea4668e7.fac4f"
|
|
288
|
+
]
|
|
289
|
+
],
|
|
290
|
+
"icon": "node-red-contrib-huemagic/hue-bridge.svg"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "d3e9f6b2a5c10c33",
|
|
294
|
+
"type": "comment",
|
|
295
|
+
"z": "bf04a073.be4428",
|
|
296
|
+
"name": "Zones de divertissement",
|
|
297
|
+
"info": "",
|
|
298
|
+
"x": 130,
|
|
299
|
+
"y": 700,
|
|
300
|
+
"wires": []
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "e4f0a7c3b6d21d44",
|
|
304
|
+
"type": "inject",
|
|
305
|
+
"z": "bf04a073.be4428",
|
|
306
|
+
"name": "Démarrer la zone de divertissement",
|
|
307
|
+
"props": [
|
|
308
|
+
{
|
|
309
|
+
"p": "payload"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"repeat": "",
|
|
313
|
+
"crontab": "",
|
|
314
|
+
"once": false,
|
|
315
|
+
"onceDelay": 0.1,
|
|
316
|
+
"topic": "",
|
|
317
|
+
"payload": "{\"entertainment\":{\"action\":\"start\"}}",
|
|
318
|
+
"payloadType": "json",
|
|
319
|
+
"x": 160,
|
|
320
|
+
"y": 740,
|
|
321
|
+
"wires": [
|
|
322
|
+
[
|
|
323
|
+
"ea4668e7.fac4f"
|
|
324
|
+
]
|
|
325
|
+
],
|
|
326
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "f5a1b8d4c7e32e55",
|
|
330
|
+
"type": "inject",
|
|
331
|
+
"z": "bf04a073.be4428",
|
|
332
|
+
"name": "Arrêter la zone de divertissement",
|
|
333
|
+
"props": [
|
|
334
|
+
{
|
|
335
|
+
"p": "payload"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"repeat": "",
|
|
339
|
+
"crontab": "",
|
|
340
|
+
"once": false,
|
|
341
|
+
"onceDelay": 0.1,
|
|
342
|
+
"topic": "",
|
|
343
|
+
"payload": "{\"entertainment\":{\"action\":\"stop\"}}",
|
|
344
|
+
"payloadType": "json",
|
|
345
|
+
"x": 160,
|
|
346
|
+
"y": 780,
|
|
347
|
+
"wires": [
|
|
348
|
+
[
|
|
349
|
+
"ea4668e7.fac4f"
|
|
350
|
+
]
|
|
351
|
+
],
|
|
352
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
255
353
|
}
|
|
256
354
|
]
|
|
@@ -252,5 +252,103 @@
|
|
|
252
252
|
]
|
|
253
253
|
],
|
|
254
254
|
"icon": "node-red/alert.svg"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "c1a7f4b2d3e08a11",
|
|
258
|
+
"type": "comment",
|
|
259
|
+
"z": "bf04a073.be4428",
|
|
260
|
+
"name": "Cercare nuovi dispositivi",
|
|
261
|
+
"info": "",
|
|
262
|
+
"x": 140,
|
|
263
|
+
"y": 600,
|
|
264
|
+
"wires": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "b2c8e5a1f4d09b22",
|
|
268
|
+
"type": "inject",
|
|
269
|
+
"z": "bf04a073.be4428",
|
|
270
|
+
"name": "Avviare la ricerca dei dispositivi",
|
|
271
|
+
"props": [
|
|
272
|
+
{
|
|
273
|
+
"p": "payload"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"repeat": "",
|
|
277
|
+
"crontab": "",
|
|
278
|
+
"once": false,
|
|
279
|
+
"onceDelay": 0.1,
|
|
280
|
+
"topic": "",
|
|
281
|
+
"payload": "{\"searchDevices\":true}",
|
|
282
|
+
"payloadType": "json",
|
|
283
|
+
"x": 150,
|
|
284
|
+
"y": 640,
|
|
285
|
+
"wires": [
|
|
286
|
+
[
|
|
287
|
+
"ea4668e7.fac4f"
|
|
288
|
+
]
|
|
289
|
+
],
|
|
290
|
+
"icon": "node-red-contrib-huemagic/hue-bridge.svg"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "d3e9f6b2a5c10c33",
|
|
294
|
+
"type": "comment",
|
|
295
|
+
"z": "bf04a073.be4428",
|
|
296
|
+
"name": "Aree entertainment",
|
|
297
|
+
"info": "",
|
|
298
|
+
"x": 130,
|
|
299
|
+
"y": 700,
|
|
300
|
+
"wires": []
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"id": "e4f0a7c3b6d21d44",
|
|
304
|
+
"type": "inject",
|
|
305
|
+
"z": "bf04a073.be4428",
|
|
306
|
+
"name": "Avviare l'area entertainment",
|
|
307
|
+
"props": [
|
|
308
|
+
{
|
|
309
|
+
"p": "payload"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"repeat": "",
|
|
313
|
+
"crontab": "",
|
|
314
|
+
"once": false,
|
|
315
|
+
"onceDelay": 0.1,
|
|
316
|
+
"topic": "",
|
|
317
|
+
"payload": "{\"entertainment\":{\"action\":\"start\"}}",
|
|
318
|
+
"payloadType": "json",
|
|
319
|
+
"x": 160,
|
|
320
|
+
"y": 740,
|
|
321
|
+
"wires": [
|
|
322
|
+
[
|
|
323
|
+
"ea4668e7.fac4f"
|
|
324
|
+
]
|
|
325
|
+
],
|
|
326
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "f5a1b8d4c7e32e55",
|
|
330
|
+
"type": "inject",
|
|
331
|
+
"z": "bf04a073.be4428",
|
|
332
|
+
"name": "Arrestare l'area entertainment",
|
|
333
|
+
"props": [
|
|
334
|
+
{
|
|
335
|
+
"p": "payload"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"repeat": "",
|
|
339
|
+
"crontab": "",
|
|
340
|
+
"once": false,
|
|
341
|
+
"onceDelay": 0.1,
|
|
342
|
+
"topic": "",
|
|
343
|
+
"payload": "{\"entertainment\":{\"action\":\"stop\"}}",
|
|
344
|
+
"payloadType": "json",
|
|
345
|
+
"x": 160,
|
|
346
|
+
"y": 780,
|
|
347
|
+
"wires": [
|
|
348
|
+
[
|
|
349
|
+
"ea4668e7.fac4f"
|
|
350
|
+
]
|
|
351
|
+
],
|
|
352
|
+
"icon": "node-red-contrib-huemagic/hue-group.svg"
|
|
255
353
|
}
|
|
256
354
|
]
|