node-red-contrib-huemagic 2.8.6 → 4.0.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.
Files changed (170) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/README.md +807 -766
  3. package/examples/Hue Bridge.json +189 -35
  4. package/examples/Hue Brightness.json +124 -14
  5. package/examples/Hue Buttons.json +88 -0
  6. package/examples/Hue Group.json +575 -63
  7. package/examples/Hue Light.json +805 -58
  8. package/examples/Hue Magic.json +69 -24
  9. package/examples/Hue Motion.json +110 -42
  10. package/examples/Hue Rules.json +105 -37
  11. package/examples/Hue Scene.json +145 -28
  12. package/examples/Hue Temperature.json +124 -14
  13. package/huemagic/animations/001-sunny.json +22 -22
  14. package/huemagic/animations/002-cloudy.json +46 -46
  15. package/huemagic/animations/003-nightsky.json +20 -20
  16. package/huemagic/animations/004-sunrise.json +54 -54
  17. package/huemagic/animations/005-sunset.json +46 -46
  18. package/huemagic/animations/006-fireplace.json +74 -74
  19. package/huemagic/animations/007-spring.json +31 -31
  20. package/huemagic/animations/008-autmn.json +23 -23
  21. package/huemagic/animations/009-winter.json +23 -23
  22. package/huemagic/animations/010-dirtyfog.json +23 -23
  23. package/huemagic/animations/011-lgbt.json +49 -50
  24. package/huemagic/animations/012-rasta.json +28 -29
  25. package/huemagic/animations/013-strobo.json +30 -31
  26. package/huemagic/animations/014-randomrainbow.json +30 -31
  27. package/huemagic/animations/015-sos.json +158 -159
  28. package/huemagic/animations/016-milkyway.json +83 -0
  29. package/huemagic/animations/017-beach.json +40 -0
  30. package/huemagic/animations/018-forest.json +43 -0
  31. package/huemagic/animations/019-christmas.json +30 -0
  32. package/huemagic/animations/020-superhero.json +56 -0
  33. package/huemagic/animations/021-neoncity.json +52 -0
  34. package/huemagic/animations/previews/001-sunny.gif +0 -0
  35. package/huemagic/animations/previews/002-cloudy.gif +0 -0
  36. package/huemagic/animations/previews/003-nightsky.gif +0 -0
  37. package/huemagic/animations/previews/004-sunrise.gif +0 -0
  38. package/huemagic/animations/previews/005-sunset.gif +0 -0
  39. package/huemagic/animations/previews/006-fireplace.gif +0 -0
  40. package/huemagic/animations/previews/007-spring.gif +0 -0
  41. package/huemagic/animations/previews/008-autmn.gif +0 -0
  42. package/huemagic/animations/previews/009-winter.gif +0 -0
  43. package/huemagic/animations/previews/010-dirtyfog.gif +0 -0
  44. package/huemagic/animations/previews/011-lgbt.gif +0 -0
  45. package/huemagic/animations/previews/012-rasta.gif +0 -0
  46. package/huemagic/animations/previews/013-strobo.gif +0 -0
  47. package/huemagic/animations/previews/014-randomrainbow.gif +0 -0
  48. package/huemagic/animations/previews/015-sos.gif +0 -0
  49. package/huemagic/animations/previews/016-milkyway.gif +0 -0
  50. package/huemagic/animations/previews/017-beach.gif +0 -0
  51. package/huemagic/animations/previews/018-forest.gif +0 -0
  52. package/huemagic/animations/previews/019-christmas.gif +0 -0
  53. package/huemagic/animations/previews/020-superhero.gif +0 -0
  54. package/huemagic/animations/previews/021-neoncity.gif +0 -0
  55. package/huemagic/hue-bridge-config.html +105 -61
  56. package/huemagic/hue-bridge-config.js +629 -320
  57. package/huemagic/hue-bridge.html +41 -21
  58. package/huemagic/hue-bridge.js +191 -398
  59. package/huemagic/hue-brightness.html +130 -49
  60. package/huemagic/hue-brightness.js +131 -35
  61. package/huemagic/hue-buttons.html +197 -0
  62. package/huemagic/hue-buttons.js +152 -0
  63. package/huemagic/hue-group.html +137 -60
  64. package/huemagic/hue-group.js +394 -368
  65. package/huemagic/hue-light.html +133 -59
  66. package/huemagic/hue-light.js +551 -337
  67. package/huemagic/hue-magic.html +91 -240
  68. package/huemagic/hue-magic.js +57 -27
  69. package/huemagic/hue-motion.html +128 -50
  70. package/huemagic/hue-motion.js +116 -87
  71. package/huemagic/hue-rules.html +121 -50
  72. package/huemagic/hue-rules.js +84 -64
  73. package/huemagic/hue-scene.html +96 -115
  74. package/huemagic/hue-scene.js +65 -96
  75. package/huemagic/hue-temperature.html +130 -49
  76. package/huemagic/hue-temperature.js +136 -32
  77. package/huemagic/icons/hue-bridge.png +0 -0
  78. package/huemagic/icons/hue-bridge.svg +3 -0
  79. package/huemagic/icons/hue-brightness.png +0 -0
  80. package/huemagic/icons/hue-brightness.svg +11 -0
  81. package/huemagic/icons/hue-buttons.png +0 -0
  82. package/huemagic/icons/hue-buttons.svg +4 -0
  83. package/huemagic/icons/hue-group.png +0 -0
  84. package/huemagic/icons/hue-group.svg +12 -0
  85. package/huemagic/icons/hue-light.png +0 -0
  86. package/huemagic/icons/hue-light.svg +3 -0
  87. package/huemagic/icons/hue-magic.png +0 -0
  88. package/huemagic/icons/hue-magic.svg +3 -0
  89. package/huemagic/icons/hue-motion.png +0 -0
  90. package/huemagic/icons/hue-motion.svg +9 -0
  91. package/huemagic/icons/hue-rules.png +0 -0
  92. package/huemagic/icons/hue-rules.svg +4 -0
  93. package/huemagic/icons/hue-scene.png +0 -0
  94. package/huemagic/icons/hue-scene.svg +5 -0
  95. package/huemagic/icons/hue-temperature.png +0 -0
  96. package/huemagic/icons/hue-temperature.svg +7 -0
  97. package/huemagic/locales/de/hue-bridge-config.html +17 -12
  98. package/huemagic/locales/de/hue-bridge-config.json +7 -5
  99. package/huemagic/locales/de/hue-bridge.html +64 -145
  100. package/huemagic/locales/de/hue-bridge.json +6 -17
  101. package/huemagic/locales/de/hue-brightness.html +52 -38
  102. package/huemagic/locales/de/hue-brightness.json +7 -2
  103. package/huemagic/locales/de/hue-buttons.html +58 -0
  104. package/huemagic/locales/de/{hue-button.json → hue-buttons.json} +8 -8
  105. package/huemagic/locales/de/hue-group.html +46 -122
  106. package/huemagic/locales/de/hue-group.json +4 -2
  107. package/huemagic/locales/de/hue-light.html +68 -116
  108. package/huemagic/locales/de/hue-light.json +5 -2
  109. package/huemagic/locales/de/hue-magic.html +65 -57
  110. package/huemagic/locales/de/hue-magic.json +2 -1
  111. package/huemagic/locales/de/hue-motion.html +48 -44
  112. package/huemagic/locales/de/hue-motion.json +6 -3
  113. package/huemagic/locales/de/hue-rules.html +68 -73
  114. package/huemagic/locales/de/hue-rules.json +5 -2
  115. package/huemagic/locales/de/hue-scene.html +23 -32
  116. package/huemagic/locales/de/hue-scene.json +5 -2
  117. package/huemagic/locales/de/hue-temperature.html +53 -36
  118. package/huemagic/locales/de/hue-temperature.json +7 -2
  119. package/huemagic/locales/en-US/hue-bridge-config.html +17 -12
  120. package/huemagic/locales/en-US/hue-bridge-config.json +5 -3
  121. package/huemagic/locales/en-US/hue-bridge.html +64 -145
  122. package/huemagic/locales/en-US/hue-bridge.json +5 -16
  123. package/huemagic/locales/en-US/hue-brightness.html +52 -38
  124. package/huemagic/locales/en-US/hue-brightness.json +10 -3
  125. package/huemagic/locales/en-US/hue-buttons.html +58 -0
  126. package/huemagic/locales/en-US/{hue-button.json → hue-buttons.json} +11 -5
  127. package/huemagic/locales/en-US/hue-group.html +46 -122
  128. package/huemagic/locales/en-US/hue-group.json +7 -3
  129. package/huemagic/locales/en-US/hue-light.html +68 -116
  130. package/huemagic/locales/en-US/hue-light.json +8 -3
  131. package/huemagic/locales/en-US/hue-magic.html +65 -57
  132. package/huemagic/locales/en-US/hue-magic.json +3 -1
  133. package/huemagic/locales/en-US/hue-motion.html +48 -44
  134. package/huemagic/locales/en-US/hue-motion.json +9 -4
  135. package/huemagic/locales/en-US/hue-rules.html +68 -73
  136. package/huemagic/locales/en-US/hue-rules.json +5 -2
  137. package/huemagic/locales/en-US/hue-scene.html +23 -32
  138. package/huemagic/locales/en-US/hue-scene.json +5 -2
  139. package/huemagic/locales/en-US/hue-temperature.html +53 -36
  140. package/huemagic/locales/en-US/hue-temperature.json +10 -3
  141. package/huemagic/utils/api.js +290 -0
  142. package/huemagic/utils/color.js +382 -0
  143. package/{utils → huemagic/utils}/merge.js +9 -6
  144. package/huemagic/utils/messages.js +447 -0
  145. package/package.json +11 -12
  146. package/examples/Hue Switch.json +0 -40
  147. package/examples/Hue Tap.json +0 -40
  148. package/huemagic/assets/anime.js +0 -8
  149. package/huemagic/hue-button.html +0 -119
  150. package/huemagic/hue-button.js +0 -94
  151. package/huemagic/hue-switch.html +0 -119
  152. package/huemagic/hue-switch.js +0 -113
  153. package/huemagic/hue-tap.html +0 -119
  154. package/huemagic/hue-tap.js +0 -74
  155. package/huemagic/icons/hue-button.png +0 -0
  156. package/huemagic/icons/hue-switch.png +0 -0
  157. package/huemagic/icons/hue-tap.png +0 -0
  158. package/huemagic/locales/de/hue-button.html +0 -50
  159. package/huemagic/locales/de/hue-switch.html +0 -50
  160. package/huemagic/locales/de/hue-switch.json +0 -31
  161. package/huemagic/locales/de/hue-tap.html +0 -41
  162. package/huemagic/locales/de/hue-tap.json +0 -23
  163. package/huemagic/locales/en-US/hue-button.html +0 -50
  164. package/huemagic/locales/en-US/hue-switch.html +0 -50
  165. package/huemagic/locales/en-US/hue-switch.json +0 -31
  166. package/huemagic/locales/en-US/hue-tap.html +0 -41
  167. package/huemagic/locales/en-US/hue-tap.json +0 -23
  168. package/utils/color.js +0 -9
  169. package/utils/messages.js +0 -658
  170. package/utils/rgb.js +0 -188
@@ -1,61 +1,178 @@
1
1
  [
2
2
  {
3
- "id": "e3a959fd.39da6",
3
+ "id": "16cd74edb3f2c03d",
4
4
  "type": "tab",
5
5
  "label": "Hue Scene (example)",
6
6
  "disabled": false,
7
7
  "info": "Example use of the Hue Scene node"
8
8
  },
9
9
  {
10
- "id": "a1e00b08.a8bf38",
10
+ "id": "ef6d38e72af773f7",
11
+ "type": "comment",
12
+ "z": "16cd74edb3f2c03d",
13
+ "name": "FIRST STEPS (double click me)",
14
+ "info": "Click on the \"Hue Scene\" nodes and select both your bridge and a scene from the list. If you have not yet set up a bridge, you will be asked to set one up before you can finish configuring the node.\n\nAs soon as the node is connected to your bridge and you have deployed the changes in Node-RED, the node can receive and execute your commands. The \"Hue Scene\" node can optionally also be connected to one or more groups in order to execute a scene on a specific group.\n\nIf you would like to receive more information about this node, the possible commands and output values, then click on it once in your flow and navigate to the Node-RED book icon (top right corner).",
15
+ "x": 150,
16
+ "y": 40,
17
+ "wires": [],
18
+ "icon": "font-awesome/fa-question-circle"
19
+ },
20
+ {
21
+ "id": "9212dea7c3727082",
22
+ "type": "comment",
23
+ "z": "16cd74edb3f2c03d",
24
+ "name": "Activate predefined scene on predefined group",
25
+ "info": "",
26
+ "x": 200,
27
+ "y": 120,
28
+ "wires": []
29
+ },
30
+ {
31
+ "id": "a42551dfa1115aa2",
11
32
  "type": "inject",
12
- "z": "e3a959fd.39da6",
33
+ "z": "16cd74edb3f2c03d",
13
34
  "name": "Activate",
35
+ "props": [
36
+ {
37
+ "p": "payload"
38
+ }
39
+ ],
40
+ "repeat": "",
41
+ "crontab": "",
42
+ "once": false,
43
+ "onceDelay": 0.1,
14
44
  "topic": "",
15
45
  "payload": "true",
16
46
  "payloadType": "bool",
47
+ "x": 120,
48
+ "y": 160,
49
+ "wires": [
50
+ [
51
+ "928cb8d82cdf8977"
52
+ ]
53
+ ],
54
+ "icon": "font-awesome/fa-circle"
55
+ },
56
+ {
57
+ "id": "928cb8d82cdf8977",
58
+ "type": "hue-scene",
59
+ "z": "16cd74edb3f2c03d",
60
+ "x": 550,
61
+ "y": 160,
62
+ "wires": [
63
+ []
64
+ ]
65
+ },
66
+ {
67
+ "id": "2f1b9a5cd1ebfe07",
68
+ "type": "comment",
69
+ "z": "16cd74edb3f2c03d",
70
+ "name": "Activate predefined scene on specific groups",
71
+ "info": "",
72
+ "x": 190,
73
+ "y": 220,
74
+ "wires": []
75
+ },
76
+ {
77
+ "id": "fe2561642d86c7a2",
78
+ "type": "inject",
79
+ "z": "16cd74edb3f2c03d",
80
+ "name": "Activate on wired group",
81
+ "props": [
82
+ {
83
+ "p": "payload"
84
+ }
85
+ ],
17
86
  "repeat": "",
18
87
  "crontab": "",
19
88
  "once": false,
20
89
  "onceDelay": 0.1,
90
+ "topic": "",
91
+ "payload": "true",
92
+ "payloadType": "bool",
21
93
  "x": 160,
22
- "y": 60,
94
+ "y": 260,
23
95
  "wires": [
24
96
  [
25
- "b6988edd.8d6e3"
97
+ "fd51b418323a798b"
26
98
  ]
27
99
  ],
28
- "icon": "font-awesome/fa-power-off"
100
+ "icon": "font-awesome/fa-circle"
29
101
  },
30
102
  {
31
- "id": "d481c97b.56f63",
32
- "type": "debug",
33
- "z": "e3a959fd.39da6",
34
- "name": "Information",
35
- "active": true,
36
- "tosidebar": true,
37
- "console": false,
38
- "tostatus": false,
39
- "complete": "payload",
40
- "targetType": "msg",
103
+ "id": "fd51b418323a798b",
104
+ "type": "hue-scene",
105
+ "z": "16cd74edb3f2c03d",
41
106
  "x": 550,
42
- "y": 60,
43
- "wires": [],
44
- "icon": "font-awesome/fa-info-circle"
107
+ "y": 260,
108
+ "wires": [
109
+ [
110
+ "d73af7394dd870e1"
111
+ ]
112
+ ]
45
113
  },
46
114
  {
47
- "id": "b6988edd.8d6e3",
48
- "type": "hue-scene",
49
- "z": "e3a959fd.39da6",
50
- "name": "",
51
- "sceneid": "",
115
+ "id": "d73af7394dd870e1",
116
+ "type": "hue-group",
117
+ "z": "16cd74edb3f2c03d",
52
118
  "skipevents": false,
53
- "x": 350,
54
- "y": 60,
119
+ "initevents": false,
120
+ "x": 770,
121
+ "y": 260,
122
+ "wires": [
123
+ []
124
+ ]
125
+ },
126
+ {
127
+ "id": "91046bac5ac2b796",
128
+ "type": "inject",
129
+ "z": "16cd74edb3f2c03d",
130
+ "name": "Activate on wired group + custom group",
131
+ "props": [
132
+ {
133
+ "p": "payload"
134
+ }
135
+ ],
136
+ "repeat": "",
137
+ "crontab": "",
138
+ "once": false,
139
+ "onceDelay": 0.1,
140
+ "topic": "",
141
+ "payload": "{\"group\":\"{ENTER_ADDITIONAL_GROUP_ID_HERE}\"}",
142
+ "payloadType": "json",
143
+ "x": 220,
144
+ "y": 300,
55
145
  "wires": [
56
146
  [
57
- "d481c97b.56f63"
147
+ "fd51b418323a798b"
58
148
  ]
59
- ]
149
+ ],
150
+ "icon": "font-awesome/fa-circle"
151
+ },
152
+ {
153
+ "id": "8afa0a3ca466788a",
154
+ "type": "inject",
155
+ "z": "16cd74edb3f2c03d",
156
+ "name": "Activate on wired group + custom groups",
157
+ "props": [
158
+ {
159
+ "p": "payload"
160
+ }
161
+ ],
162
+ "repeat": "",
163
+ "crontab": "",
164
+ "once": false,
165
+ "onceDelay": 0.1,
166
+ "topic": "",
167
+ "payload": "{\"group\":[\"{ENTER_GROUP_ID_NO1_HERE}\",\"{ENTER_GROUP_ID_NO2_HERE}\"]}",
168
+ "payloadType": "json",
169
+ "x": 220,
170
+ "y": 340,
171
+ "wires": [
172
+ [
173
+ "fd51b418323a798b"
174
+ ]
175
+ ],
176
+ "icon": "font-awesome/fa-circle"
60
177
  }
61
178
  ]
@@ -1,39 +1,149 @@
1
1
  [
2
2
  {
3
- "id": "d081bb24.81a8d",
3
+ "id": "4e9f59149660a0d5",
4
4
  "type": "tab",
5
5
  "label": "Hue Temperature (example)",
6
6
  "disabled": false,
7
7
  "info": "Example use of the Hue Temperature node"
8
8
  },
9
9
  {
10
- "id": "a9304ae0.8a9bf",
10
+ "id": "3a0ce323d25bbb89",
11
+ "type": "comment",
12
+ "z": "4e9f59149660a0d5",
13
+ "name": "FIRST STEPS (double click me)",
14
+ "info": "Click on the \"Hue Temperature\" node and select both your bridge and a sensor from the list. If you have not yet set up a bridge, you will be asked to set one up before you can finish configuring the node.\n\nAs soon as the node is connected to your bridge and the sensor and you have deployed the changes in Node-RED, the node can receive and execute your commands. The \"Hue Temperature\" node automatically outputs a message as soon as the status of the sensor on the bridge has been updated (temperature change). You will receive the updated status and all of its information in the message that is issued.\n\nIf you would like to receive more information about this node, the possible commands and output values, then click on it once in your flow and navigate to the Node-RED book icon (top right corner).",
15
+ "x": 150,
16
+ "y": 40,
17
+ "wires": [],
18
+ "icon": "font-awesome/fa-question-circle"
19
+ },
20
+ {
21
+ "id": "0ebb67a61954b5d7",
11
22
  "type": "debug",
12
- "z": "d081bb24.81a8d",
23
+ "z": "4e9f59149660a0d5",
13
24
  "name": "Information",
14
25
  "active": true,
15
26
  "tosidebar": true,
16
27
  "console": false,
17
28
  "tostatus": false,
18
- "complete": "payload",
19
- "targetType": "msg",
20
- "x": 450,
21
- "y": 60,
29
+ "complete": "true",
30
+ "targetType": "full",
31
+ "statusVal": "",
32
+ "statusType": "auto",
33
+ "x": 690,
34
+ "y": 160,
22
35
  "wires": [],
23
36
  "icon": "font-awesome/fa-info-circle"
24
37
  },
25
38
  {
26
- "id": "8fae232b.888b5",
39
+ "id": "61bd0f6cab995030",
40
+ "type": "comment",
41
+ "z": "4e9f59149660a0d5",
42
+ "name": "Get the current status",
43
+ "info": "",
44
+ "x": 120,
45
+ "y": 120,
46
+ "wires": []
47
+ },
48
+ {
49
+ "id": "266a95ec791a4434",
50
+ "type": "inject",
51
+ "z": "4e9f59149660a0d5",
52
+ "name": "Status",
53
+ "props": [
54
+ {
55
+ "p": "payload"
56
+ }
57
+ ],
58
+ "repeat": "",
59
+ "crontab": "",
60
+ "once": false,
61
+ "onceDelay": 0.1,
62
+ "topic": "",
63
+ "payload": "{\"status\":true}",
64
+ "payloadType": "json",
65
+ "x": 110,
66
+ "y": 160,
67
+ "wires": [
68
+ [
69
+ "20a19938c9eb011c"
70
+ ]
71
+ ],
72
+ "icon": "node-red/alert.svg"
73
+ },
74
+ {
75
+ "id": "64d6a759a6ee3c70",
76
+ "type": "comment",
77
+ "z": "4e9f59149660a0d5",
78
+ "name": "Turn on / off the device",
79
+ "info": "",
80
+ "x": 120,
81
+ "y": 220,
82
+ "wires": []
83
+ },
84
+ {
85
+ "id": "ede50c625f3d6870",
86
+ "type": "inject",
87
+ "z": "4e9f59149660a0d5",
88
+ "name": "Turn on",
89
+ "props": [
90
+ {
91
+ "p": "payload"
92
+ }
93
+ ],
94
+ "repeat": "",
95
+ "crontab": "",
96
+ "once": false,
97
+ "onceDelay": 0.1,
98
+ "topic": "",
99
+ "payload": "true",
100
+ "payloadType": "bool",
101
+ "x": 110,
102
+ "y": 260,
103
+ "wires": [
104
+ [
105
+ "20a19938c9eb011c"
106
+ ]
107
+ ],
108
+ "icon": "font-awesome/fa-circle"
109
+ },
110
+ {
111
+ "id": "e8cf23462e2c1f9a",
112
+ "type": "inject",
113
+ "z": "4e9f59149660a0d5",
114
+ "name": "Turn off",
115
+ "props": [
116
+ {
117
+ "p": "payload"
118
+ }
119
+ ],
120
+ "repeat": "",
121
+ "crontab": "",
122
+ "once": false,
123
+ "onceDelay": 0.1,
124
+ "topic": "",
125
+ "payload": "false",
126
+ "payloadType": "bool",
127
+ "x": 110,
128
+ "y": 300,
129
+ "wires": [
130
+ [
131
+ "20a19938c9eb011c"
132
+ ]
133
+ ],
134
+ "icon": "font-awesome/fa-circle-o"
135
+ },
136
+ {
137
+ "id": "20a19938c9eb011c",
27
138
  "type": "hue-temperature",
28
- "z": "d081bb24.81a8d",
29
- "name": "",
30
- "sensorid": "",
139
+ "z": "4e9f59149660a0d5",
31
140
  "skipevents": false,
32
- "x": 170,
33
- "y": 60,
141
+ "initevents": false,
142
+ "x": 500,
143
+ "y": 160,
34
144
  "wires": [
35
145
  [
36
- "a9304ae0.8a9bf"
146
+ "0ebb67a61954b5d7"
37
147
  ]
38
148
  ]
39
149
  }
@@ -1,24 +1,24 @@
1
1
  {
2
- "info": {
3
- "name": "Sunny",
4
- "author": "HueMagic"
5
- },
6
- "steps": [
7
- {
8
- "delay": 0,
9
- "animation": {
10
- "hex": "#ffd500",
11
- "brightness": 100,
12
- "transitionTime": 5
13
- }
14
- },
15
- {
16
- "delay": 10000,
17
- "animation": {
18
- "hex": "#fbcd00",
19
- "brightness": 100,
20
- "transitionTime": 30
21
- }
22
- }
23
- ]
2
+ "info": {
3
+ "name": "Sunny",
4
+ "author": "HueMagic"
5
+ },
6
+ "steps": [
7
+ {
8
+ "delay": 0,
9
+ "animation": {
10
+ "hex": "#ffd500",
11
+ "brightness": 100,
12
+ "transitionTime": 5
13
+ }
14
+ },
15
+ {
16
+ "delay": 10000,
17
+ "animation": {
18
+ "hex": "#fbcd00",
19
+ "brightness": 100,
20
+ "transitionTime": 30
21
+ }
22
+ }
23
+ ]
24
24
  }
@@ -1,48 +1,48 @@
1
1
  {
2
- "info": {
3
- "name": "Cloudy",
4
- "author": "HueMagic"
5
- },
6
- "steps": [
7
- {
8
- "delay": 0,
9
- "animation": {
10
- "hex": "#eef2f5",
11
- "brightness": 90,
12
- "transitionTime": 3
13
- }
14
- },
15
- {
16
- "delay": 5000,
17
- "animation": {
18
- "hex": "#dee8ef",
19
- "brightness": 100,
20
- "transitionTime": 3
21
- }
22
- },
23
- {
24
- "delay": 2000,
25
- "animation": {
26
- "hex": "#e4ebf1",
27
- "brightness": 80,
28
- "transitionTime": 1
29
- }
30
- },
31
- {
32
- "delay": 10000,
33
- "animation": {
34
- "hex": "#d0e2ec",
35
- "brightness": 100,
36
- "transitionTime": 6
37
- }
38
- },
39
- {
40
- "delay": 3000,
41
- "animation": {
42
- "hex": "#d6e4ed",
43
- "brightness": 100,
44
- "transitionTime": 2
45
- }
46
- }
47
- ]
2
+ "info": {
3
+ "name": "Cloudy",
4
+ "author": "HueMagic"
5
+ },
6
+ "steps": [
7
+ {
8
+ "delay": 0,
9
+ "animation": {
10
+ "hex": "#eef2f5",
11
+ "brightness": 90,
12
+ "transitionTime": 3
13
+ }
14
+ },
15
+ {
16
+ "delay": 5000,
17
+ "animation": {
18
+ "hex": "#dee8ef",
19
+ "brightness": 100,
20
+ "transitionTime": 3
21
+ }
22
+ },
23
+ {
24
+ "delay": 2000,
25
+ "animation": {
26
+ "hex": "#e4ebf1",
27
+ "brightness": 80,
28
+ "transitionTime": 1
29
+ }
30
+ },
31
+ {
32
+ "delay": 10000,
33
+ "animation": {
34
+ "hex": "#d0e2ec",
35
+ "brightness": 100,
36
+ "transitionTime": 6
37
+ }
38
+ },
39
+ {
40
+ "delay": 3000,
41
+ "animation": {
42
+ "hex": "#d6e4ed",
43
+ "brightness": 100,
44
+ "transitionTime": 2
45
+ }
46
+ }
47
+ ]
48
48
  }
@@ -1,22 +1,22 @@
1
1
  {
2
- "info": {
3
- "name": "Night Sky",
4
- "author": "HueMagic"
5
- },
6
- "steps": [
7
- {
8
- "delay": 0,
9
- "animation": {
10
- "hex": "#0029ff",
11
- "transitionTime": 15
12
- }
13
- },
14
- {
15
- "delay": 0,
16
- "animation": {
17
- "hex": "#6ca9ff",
18
- "transitionTime": 15
19
- }
20
- }
21
- ]
2
+ "info": {
3
+ "name": "Night Sky",
4
+ "author": "HueMagic"
5
+ },
6
+ "steps": [
7
+ {
8
+ "delay": 0,
9
+ "animation": {
10
+ "hex": "#0029ff",
11
+ "transitionTime": 15
12
+ }
13
+ },
14
+ {
15
+ "delay": 0,
16
+ "animation": {
17
+ "hex": "#6ca9ff",
18
+ "transitionTime": 15
19
+ }
20
+ }
21
+ ]
22
22
  }
@@ -1,56 +1,56 @@
1
1
  {
2
- "info": {
3
- "name": "Sunrise",
4
- "author": "HueMagic"
5
- },
6
- "steps": [
7
- {
8
- "delay": 0,
9
- "animation": {
10
- "hex": "#001263",
11
- "brightness": 1,
12
- "transitionTime": 0
13
- }
14
- },
15
- {
16
- "delay": 0,
17
- "animation": {
18
- "hex": "#2d4096",
19
- "brightness": 20,
20
- "transitionTime": 120
21
- }
22
- },
23
- {
24
- "delay": 0,
25
- "animation": {
26
- "hex": "#c7433a",
27
- "brightness": 40,
28
- "transitionTime": 120
29
- }
30
- },
31
- {
32
- "delay": 0,
33
- "animation": {
34
- "hex": "#ff861c",
35
- "brightness": 60,
36
- "transitionTime": 120
37
- }
38
- },
39
- {
40
- "delay": 0,
41
- "animation": {
42
- "hex": "#fdd423",
43
- "brightness": 100,
44
- "transitionTime": 120
45
- }
46
- },
47
- {
48
- "delay": 240000,
49
- "animation": {
50
- "hex": "#fdd423",
51
- "brightness": 100,
52
- "transitionTime": 0
53
- }
54
- }
55
- ]
2
+ "info": {
3
+ "name": "Sunrise",
4
+ "author": "HueMagic"
5
+ },
6
+ "steps": [
7
+ {
8
+ "delay": 0,
9
+ "animation": {
10
+ "hex": "#001263",
11
+ "brightness": 1,
12
+ "transitionTime": 0
13
+ }
14
+ },
15
+ {
16
+ "delay": 0,
17
+ "animation": {
18
+ "hex": "#2d4096",
19
+ "brightness": 20,
20
+ "transitionTime": 120
21
+ }
22
+ },
23
+ {
24
+ "delay": 0,
25
+ "animation": {
26
+ "hex": "#c7433a",
27
+ "brightness": 40,
28
+ "transitionTime": 120
29
+ }
30
+ },
31
+ {
32
+ "delay": 0,
33
+ "animation": {
34
+ "hex": "#ff861c",
35
+ "brightness": 60,
36
+ "transitionTime": 120
37
+ }
38
+ },
39
+ {
40
+ "delay": 0,
41
+ "animation": {
42
+ "hex": "#fdd423",
43
+ "brightness": 100,
44
+ "transitionTime": 120
45
+ }
46
+ },
47
+ {
48
+ "delay": 240000,
49
+ "animation": {
50
+ "hex": "#fdd423",
51
+ "brightness": 100,
52
+ "transitionTime": 0
53
+ }
54
+ }
55
+ ]
56
56
  }