node-red-contrib-homekit-bridged 2.0.0-dev.0 → 2.0.0-dev.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 (45) hide show
  1. package/build/lib/HAPHostNode.js +59 -64
  2. package/build/lib/HAPServiceNode.js +91 -95
  3. package/build/lib/HAPServiceNode2.js +93 -97
  4. package/build/lib/Storage.d.ts +3 -3
  5. package/build/lib/Storage.js +2 -2
  6. package/build/lib/api.js +26 -29
  7. package/build/lib/hap/HAPCharacteristic.d.ts +1 -1
  8. package/build/lib/hap/HAPService.d.ts +1 -1
  9. package/build/lib/hap/eve-app/EveCharacteristics.d.ts +1 -1
  10. package/build/lib/hap/eve-app/EveCharacteristics.js +10 -10
  11. package/build/lib/types/CustomCharacteristicType.d.ts +1 -1
  12. package/build/lib/types/HAPHostConfigType.d.ts +4 -4
  13. package/build/lib/types/HAPHostNodeType.d.ts +4 -4
  14. package/build/lib/types/HAPService2ConfigType.d.ts +2 -2
  15. package/build/lib/types/HAPService2NodeType.d.ts +3 -3
  16. package/build/lib/types/HAPServiceConfigType.d.ts +3 -3
  17. package/build/lib/types/HAPServiceNodeType.d.ts +10 -10
  18. package/build/lib/types/HAPStatusConfigType.d.ts +1 -1
  19. package/build/lib/types/HAPStatusNodeType.d.ts +5 -5
  20. package/build/lib/types/NodeType.d.ts +1 -1
  21. package/build/lib/types/storage/SerializedHostType.d.ts +2 -2
  22. package/build/lib/utils/AccessoryUtils.js +15 -15
  23. package/build/lib/utils/BridgeUtils.js +5 -5
  24. package/build/lib/utils/CharacteristicUtils.js +6 -6
  25. package/build/lib/utils/CharacteristicUtils2.js +6 -6
  26. package/build/lib/utils/NodeStatusUtils.d.ts +2 -2
  27. package/build/lib/utils/NodeStatusUtils.js +2 -2
  28. package/build/lib/utils/ServiceUtils.js +39 -38
  29. package/build/lib/utils/ServiceUtils2.js +39 -37
  30. package/build/lib/utils/index.js +2 -2
  31. package/build/nodes/nrchkb.js +2 -2
  32. package/build/nodes/status.js +15 -16
  33. package/examples/demo/01 - ALL Demos single import.json +64 -318
  34. package/examples/demo/02 - Air Purifier.json +279 -328
  35. package/examples/demo/03 - Air Quality sensor with Battery.json +254 -282
  36. package/examples/demo/04 - Dimmable Bulb.json +172 -189
  37. package/examples/demo/05 - Color Bulb (HSV).json +195 -216
  38. package/examples/demo/06 - Fan (simple, 3 speeds).json +240 -265
  39. package/examples/demo/07 - Fan (with speed, oscillate, rotation direction).json +175 -192
  40. package/examples/demo/08 - CO2 detector.json +224 -255
  41. package/examples/demo/09 - CO (carbon monoxide) example.json +255 -290
  42. package/examples/demo/10 - Door window contact sensor.json +234 -265
  43. package/examples/demos (advanced)/01 - Television with inputs and speaker.json +541 -607
  44. package/examples/switch/01 - Plain Switch.json +7 -27
  45. package/package.json +83 -81
@@ -1,258 +1,227 @@
1
1
  [
2
- {
3
- "id": "ab48426e.25466",
4
- "type": "group",
5
- "z": "60b06629.a2ebd",
6
- "name": "CO2 Sensor: input only sensor",
7
- "style": {
8
- "stroke": "#999999",
9
- "fill": "none",
10
- "label": true,
11
- "label-position": "nw",
12
- "color": "#a4a4a4"
13
- },
14
- "nodes": [
15
- "88892b4.8a61bd8",
16
- "3611c654.8a42f2",
17
- "62cafcb0.8ade9c",
18
- "a0171cdb.f209b",
19
- "6f7de764.a6a688",
20
- "8758b463.afb0f",
21
- "69e8161b.74b7a",
22
- "40010b09.c73cdc"
23
- ],
24
- "x": 14,
25
- "y": 839,
26
- "w": 752,
27
- "h": 202,
28
- "info": "# CO2 Sensor\n\nThere are three inputs to this example, one for each level of Carbon Dioxide in the air. Options are:\n\n**0 ppm:** this will assume no CO2 <br/>\n**Safe level:** this will assume a level between 1 and 999 ppm, inclusive <br/>\n**Dangerous level:** this will assume a level between 1,000 and 100,000, inclusive; this will also trigger an alert"
2
+ {
3
+ "id": "ab48426e.25466",
4
+ "type": "group",
5
+ "z": "60b06629.a2ebd",
6
+ "name": "CO2 Sensor: input only sensor",
7
+ "style": {
8
+ "stroke": "#999999",
9
+ "fill": "none",
10
+ "label": true,
11
+ "label-position": "nw",
12
+ "color": "#a4a4a4"
29
13
  },
30
- {
31
- "id": "88892b4.8a61bd8",
32
- "type": "homekit-service",
33
- "z": "60b06629.a2ebd",
34
- "g": "ab48426e.25466",
35
- "isParent": true,
36
- "bridge": "409001a1.3e7a78",
37
- "parentService": "",
38
- "name": "CO2 Sensor",
39
- "serviceName": "CarbonDioxideSensor",
40
- "topic": "",
41
- "filter": false,
42
- "manufacturer": "Default Manufacturer",
43
- "model": "Carbon",
44
- "serialNo": "Default Serial Number",
45
- "firmwareRev": "22",
46
- "hardwareRev": "11",
47
- "cameraConfigVideoProcessor": "",
48
- "cameraConfigSource": "",
49
- "cameraConfigStillImageSource": "",
50
- "cameraConfigMaxStreams": "",
51
- "cameraConfigMaxWidth": "",
52
- "cameraConfigMaxHeight": "",
53
- "cameraConfigMaxFPS": "",
54
- "cameraConfigMaxBitrate": "",
55
- "cameraConfigVideoCodec": "",
56
- "cameraConfigAudioCodec": "",
57
- "cameraConfigAudio": false,
58
- "cameraConfigPacketSize": "",
59
- "cameraConfigVerticalFlip": false,
60
- "cameraConfigHorizontalFlip": false,
61
- "cameraConfigMapVideo": "",
62
- "cameraConfigMapAudio": "",
63
- "cameraConfigVideoFilter": "",
64
- "cameraConfigAdditionalCommandLine": "",
65
- "cameraConfigDebug": false,
66
- "cameraConfigSnapshotOutput": "disabled",
67
- "cameraConfigInterfaceName": "",
68
- "characteristicProperties": "{\n \"CarbonDioxideLevel\" : true,\n \"CarbonDioxidePeakLevel\": true,\n \"StatusActive\" : true\n}",
69
- "outputs": 2,
70
- "x": 670,
71
- "y": 880,
72
- "wires": [
73
- [],
74
- []
75
- ]
76
- },
77
- {
78
- "id": "3611c654.8a42f2",
79
- "type": "function",
80
- "z": "60b06629.a2ebd",
81
- "g": "ab48426e.25466",
82
- "name": "Random values, peak value",
83
- "func": "// Reset all values to 0 if 0ppm input\nif(msg.payload === 0){\n context.set('lastPeak',0);\n newMsg = {\n payload: {\n \"CarbonDioxideLevel\":0,\n \"CarbonDioxidePeakLevel\":0,\n \"CarbonDioxideDetected\":0\n }\n };\n return newMsg;\n}\n\n// Initialize vars\nvar CurrentLevel = 0;\nvar lastPeak = context.get('lastPeak');\n\n// Set random safe or dangerous levels\nif(msg.payload === \"Safe\"){\n CurrentLevel = Math.floor(Math.random() * (999 - 1 + 1) + 1);\n}\nif(msg.payload === \"Danger\"){\n CurrentLevel = Math.floor(Math.random() * (100000 - 1000 + 1) + 1000);\n}\n\n// Formulate output message\nvar newMsg = {\n payload: {\n \"CarbonDioxideLevel\" : CurrentLevel,\n \"CarbonDioxideDetected\" : 0\n }\n};\n\n// Set new peak level\nif(CurrentLevel > lastPeak){\n lastPeak = CurrentLevel;\n context.set('lastPeak',CurrentLevel);\n newMsg.payload.CarbonDioxidePeakLevel = CurrentLevel;\n}\n\n// Set warning if dangerous\nif (CurrentLevel >= 1000) {\n newMsg.payload.CarbonDioxideDetected = 1;\n} \n\nreturn newMsg;",
84
- "outputs": 1,
85
- "noerr": 0,
86
- "initialize": "// Code added here will be run once\n// whenever the node is deployed.\ncontext.set('lastPeak',0);\n",
87
- "finalize": "",
88
- "x": 400,
89
- "y": 880,
90
- "wires": [
91
- [
92
- "88892b4.8a61bd8"
93
- ]
94
- ]
95
- },
96
- {
97
- "id": "62cafcb0.8ade9c",
98
- "type": "inject",
99
- "z": "60b06629.a2ebd",
100
- "g": "ab48426e.25466",
101
- "name": "Active",
102
- "repeat": "",
103
- "crontab": "",
104
- "once": false,
105
- "onceDelay": 0.1,
106
- "topic": "",
107
- "payload": "{\"StatusActive\":true}",
108
- "payloadType": "json",
109
- "x": 470,
110
- "y": 920,
111
- "wires": [
112
- [
113
- "88892b4.8a61bd8"
114
- ]
115
- ]
116
- },
117
- {
118
- "id": "a0171cdb.f209b",
119
- "type": "inject",
120
- "z": "60b06629.a2ebd",
121
- "g": "ab48426e.25466",
122
- "name": "Inactive",
123
- "repeat": "",
124
- "crontab": "",
125
- "once": false,
126
- "onceDelay": 0.1,
127
- "topic": "",
128
- "payload": "{\"StatusActive\":false}",
129
- "payloadType": "json",
130
- "x": 470,
131
- "y": 960,
132
- "wires": [
133
- [
134
- "88892b4.8a61bd8"
135
- ]
136
- ]
137
- },
138
- {
139
- "id": "6f7de764.a6a688",
140
- "type": "inject",
141
- "z": "60b06629.a2ebd",
142
- "g": "ab48426e.25466",
143
- "name": "NO RESPONSE",
144
- "repeat": "",
145
- "crontab": "",
146
- "once": false,
147
- "onceDelay": 0.1,
148
- "topic": "",
149
- "payload": "{\"CarbonDioxideLevel\":\"NO_RESPONSE\"}",
150
- "payloadType": "json",
151
- "x": 440,
152
- "y": 1000,
153
- "wires": [
154
- [
155
- "88892b4.8a61bd8"
156
- ]
157
- ]
158
- },
159
- {
160
- "id": "8758b463.afb0f",
161
- "type": "inject",
162
- "z": "60b06629.a2ebd",
163
- "g": "ab48426e.25466",
164
- "name": "0 ppm",
165
- "props": [
166
- {
167
- "p": "payload"
168
- }
169
- ],
170
- "repeat": "",
171
- "crontab": "",
172
- "once": false,
173
- "onceDelay": 0.1,
174
- "topic": "",
175
- "payload": "0",
176
- "payloadType": "num",
177
- "x": 110,
178
- "y": 880,
179
- "wires": [
180
- [
181
- "3611c654.8a42f2"
182
- ]
183
- ]
184
- },
185
- {
186
- "id": "69e8161b.74b7a",
187
- "type": "inject",
188
- "z": "60b06629.a2ebd",
189
- "g": "ab48426e.25466",
190
- "name": "Safe Level",
191
- "props": [
192
- {
193
- "p": "payload"
194
- }
195
- ],
196
- "repeat": "",
197
- "crontab": "",
198
- "once": false,
199
- "onceDelay": 0.1,
200
- "topic": "",
201
- "payload": "Safe",
202
- "payloadType": "str",
203
- "x": 120,
204
- "y": 920,
205
- "wires": [
206
- [
207
- "3611c654.8a42f2"
208
- ]
209
- ]
210
- },
211
- {
212
- "id": "40010b09.c73cdc",
213
- "type": "inject",
214
- "z": "60b06629.a2ebd",
215
- "g": "ab48426e.25466",
216
- "name": "Dangerous level",
217
- "props": [
218
- {
219
- "p": "payload"
220
- }
221
- ],
222
- "repeat": "",
223
- "crontab": "",
224
- "once": false,
225
- "onceDelay": 0.1,
226
- "topic": "",
227
- "payload": "Danger",
228
- "payloadType": "str",
229
- "x": 140,
230
- "y": 960,
231
- "wires": [
232
- [
233
- "3611c654.8a42f2"
234
- ]
235
- ]
236
- },
237
- {
238
- "id": "409001a1.3e7a78",
239
- "type": "homekit-bridge",
240
- "z": "",
241
- "bridgeName": "Demo 1",
242
- "pinCode": "153-10-538",
243
- "port": "",
244
- "allowInsecureRequest": false,
245
- "manufacturer": "NRCHKB",
246
- "model": "Demo",
247
- "serialNo": "1.1.2",
248
- "customMdnsConfig": false,
249
- "mdnsMulticast": true,
250
- "mdnsInterface": "",
251
- "mdnsPort": "",
252
- "mdnsIp": "",
253
- "mdnsTtl": "",
254
- "mdnsLoopback": true,
255
- "mdnsReuseAddr": true,
256
- "allowMessagePassthrough": true
257
- }
14
+ "nodes": [
15
+ "88892b4.8a61bd8",
16
+ "3611c654.8a42f2",
17
+ "62cafcb0.8ade9c",
18
+ "a0171cdb.f209b",
19
+ "6f7de764.a6a688",
20
+ "8758b463.afb0f",
21
+ "69e8161b.74b7a",
22
+ "40010b09.c73cdc"
23
+ ],
24
+ "x": 14,
25
+ "y": 839,
26
+ "w": 752,
27
+ "h": 202,
28
+ "info": "# CO2 Sensor\n\nThere are three inputs to this example, one for each level of Carbon Dioxide in the air. Options are:\n\n**0 ppm:** this will assume no CO2 <br/>\n**Safe level:** this will assume a level between 1 and 999 ppm, inclusive <br/>\n**Dangerous level:** this will assume a level between 1,000 and 100,000, inclusive; this will also trigger an alert"
29
+ },
30
+ {
31
+ "id": "88892b4.8a61bd8",
32
+ "type": "homekit-service",
33
+ "z": "60b06629.a2ebd",
34
+ "g": "ab48426e.25466",
35
+ "isParent": true,
36
+ "bridge": "409001a1.3e7a78",
37
+ "parentService": "",
38
+ "name": "CO2 Sensor",
39
+ "serviceName": "CarbonDioxideSensor",
40
+ "topic": "",
41
+ "filter": false,
42
+ "manufacturer": "Default Manufacturer",
43
+ "model": "Carbon",
44
+ "serialNo": "Default Serial Number",
45
+ "firmwareRev": "22",
46
+ "hardwareRev": "11",
47
+ "cameraConfigVideoProcessor": "",
48
+ "cameraConfigSource": "",
49
+ "cameraConfigStillImageSource": "",
50
+ "cameraConfigMaxStreams": "",
51
+ "cameraConfigMaxWidth": "",
52
+ "cameraConfigMaxHeight": "",
53
+ "cameraConfigMaxFPS": "",
54
+ "cameraConfigMaxBitrate": "",
55
+ "cameraConfigVideoCodec": "",
56
+ "cameraConfigAudioCodec": "",
57
+ "cameraConfigAudio": false,
58
+ "cameraConfigPacketSize": "",
59
+ "cameraConfigVerticalFlip": false,
60
+ "cameraConfigHorizontalFlip": false,
61
+ "cameraConfigMapVideo": "",
62
+ "cameraConfigMapAudio": "",
63
+ "cameraConfigVideoFilter": "",
64
+ "cameraConfigAdditionalCommandLine": "",
65
+ "cameraConfigDebug": false,
66
+ "cameraConfigSnapshotOutput": "disabled",
67
+ "cameraConfigInterfaceName": "",
68
+ "characteristicProperties": "{\n \"CarbonDioxideLevel\" : true,\n \"CarbonDioxidePeakLevel\": true,\n \"StatusActive\" : true\n}",
69
+ "outputs": 2,
70
+ "x": 670,
71
+ "y": 880,
72
+ "wires": [[], []]
73
+ },
74
+ {
75
+ "id": "3611c654.8a42f2",
76
+ "type": "function",
77
+ "z": "60b06629.a2ebd",
78
+ "g": "ab48426e.25466",
79
+ "name": "Random values, peak value",
80
+ "func": "// Reset all values to 0 if 0ppm input\nif(msg.payload === 0){\n context.set('lastPeak',0);\n newMsg = {\n payload: {\n \"CarbonDioxideLevel\":0,\n \"CarbonDioxidePeakLevel\":0,\n \"CarbonDioxideDetected\":0\n }\n };\n return newMsg;\n}\n\n// Initialize vars\nvar CurrentLevel = 0;\nvar lastPeak = context.get('lastPeak');\n\n// Set random safe or dangerous levels\nif(msg.payload === \"Safe\"){\n CurrentLevel = Math.floor(Math.random() * (999 - 1 + 1) + 1);\n}\nif(msg.payload === \"Danger\"){\n CurrentLevel = Math.floor(Math.random() * (100000 - 1000 + 1) + 1000);\n}\n\n// Formulate output message\nvar newMsg = {\n payload: {\n \"CarbonDioxideLevel\" : CurrentLevel,\n \"CarbonDioxideDetected\" : 0\n }\n};\n\n// Set new peak level\nif(CurrentLevel > lastPeak){\n lastPeak = CurrentLevel;\n context.set('lastPeak',CurrentLevel);\n newMsg.payload.CarbonDioxidePeakLevel = CurrentLevel;\n}\n\n// Set warning if dangerous\nif (CurrentLevel >= 1000) {\n newMsg.payload.CarbonDioxideDetected = 1;\n} \n\nreturn newMsg;",
81
+ "outputs": 1,
82
+ "noerr": 0,
83
+ "initialize": "// Code added here will be run once\n// whenever the node is deployed.\ncontext.set('lastPeak',0);\n",
84
+ "finalize": "",
85
+ "x": 400,
86
+ "y": 880,
87
+ "wires": [["88892b4.8a61bd8"]]
88
+ },
89
+ {
90
+ "id": "62cafcb0.8ade9c",
91
+ "type": "inject",
92
+ "z": "60b06629.a2ebd",
93
+ "g": "ab48426e.25466",
94
+ "name": "Active",
95
+ "repeat": "",
96
+ "crontab": "",
97
+ "once": false,
98
+ "onceDelay": 0.1,
99
+ "topic": "",
100
+ "payload": "{\"StatusActive\":true}",
101
+ "payloadType": "json",
102
+ "x": 470,
103
+ "y": 920,
104
+ "wires": [["88892b4.8a61bd8"]]
105
+ },
106
+ {
107
+ "id": "a0171cdb.f209b",
108
+ "type": "inject",
109
+ "z": "60b06629.a2ebd",
110
+ "g": "ab48426e.25466",
111
+ "name": "Inactive",
112
+ "repeat": "",
113
+ "crontab": "",
114
+ "once": false,
115
+ "onceDelay": 0.1,
116
+ "topic": "",
117
+ "payload": "{\"StatusActive\":false}",
118
+ "payloadType": "json",
119
+ "x": 470,
120
+ "y": 960,
121
+ "wires": [["88892b4.8a61bd8"]]
122
+ },
123
+ {
124
+ "id": "6f7de764.a6a688",
125
+ "type": "inject",
126
+ "z": "60b06629.a2ebd",
127
+ "g": "ab48426e.25466",
128
+ "name": "NO RESPONSE",
129
+ "repeat": "",
130
+ "crontab": "",
131
+ "once": false,
132
+ "onceDelay": 0.1,
133
+ "topic": "",
134
+ "payload": "{\"CarbonDioxideLevel\":\"NO_RESPONSE\"}",
135
+ "payloadType": "json",
136
+ "x": 440,
137
+ "y": 1000,
138
+ "wires": [["88892b4.8a61bd8"]]
139
+ },
140
+ {
141
+ "id": "8758b463.afb0f",
142
+ "type": "inject",
143
+ "z": "60b06629.a2ebd",
144
+ "g": "ab48426e.25466",
145
+ "name": "0 ppm",
146
+ "props": [
147
+ {
148
+ "p": "payload"
149
+ }
150
+ ],
151
+ "repeat": "",
152
+ "crontab": "",
153
+ "once": false,
154
+ "onceDelay": 0.1,
155
+ "topic": "",
156
+ "payload": "0",
157
+ "payloadType": "num",
158
+ "x": 110,
159
+ "y": 880,
160
+ "wires": [["3611c654.8a42f2"]]
161
+ },
162
+ {
163
+ "id": "69e8161b.74b7a",
164
+ "type": "inject",
165
+ "z": "60b06629.a2ebd",
166
+ "g": "ab48426e.25466",
167
+ "name": "Safe Level",
168
+ "props": [
169
+ {
170
+ "p": "payload"
171
+ }
172
+ ],
173
+ "repeat": "",
174
+ "crontab": "",
175
+ "once": false,
176
+ "onceDelay": 0.1,
177
+ "topic": "",
178
+ "payload": "Safe",
179
+ "payloadType": "str",
180
+ "x": 120,
181
+ "y": 920,
182
+ "wires": [["3611c654.8a42f2"]]
183
+ },
184
+ {
185
+ "id": "40010b09.c73cdc",
186
+ "type": "inject",
187
+ "z": "60b06629.a2ebd",
188
+ "g": "ab48426e.25466",
189
+ "name": "Dangerous level",
190
+ "props": [
191
+ {
192
+ "p": "payload"
193
+ }
194
+ ],
195
+ "repeat": "",
196
+ "crontab": "",
197
+ "once": false,
198
+ "onceDelay": 0.1,
199
+ "topic": "",
200
+ "payload": "Danger",
201
+ "payloadType": "str",
202
+ "x": 140,
203
+ "y": 960,
204
+ "wires": [["3611c654.8a42f2"]]
205
+ },
206
+ {
207
+ "id": "409001a1.3e7a78",
208
+ "type": "homekit-bridge",
209
+ "z": "",
210
+ "bridgeName": "Demo 1",
211
+ "pinCode": "153-10-538",
212
+ "port": "",
213
+ "allowInsecureRequest": false,
214
+ "manufacturer": "NRCHKB",
215
+ "model": "Demo",
216
+ "serialNo": "1.1.2",
217
+ "customMdnsConfig": false,
218
+ "mdnsMulticast": true,
219
+ "mdnsInterface": "",
220
+ "mdnsPort": "",
221
+ "mdnsIp": "",
222
+ "mdnsTtl": "",
223
+ "mdnsLoopback": true,
224
+ "mdnsReuseAddr": true,
225
+ "allowMessagePassthrough": true
226
+ }
258
227
  ]