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.
- package/build/lib/HAPHostNode.js +59 -64
- package/build/lib/HAPServiceNode.js +91 -95
- package/build/lib/HAPServiceNode2.js +93 -97
- package/build/lib/Storage.d.ts +3 -3
- package/build/lib/Storage.js +2 -2
- package/build/lib/api.js +26 -29
- package/build/lib/hap/HAPCharacteristic.d.ts +1 -1
- package/build/lib/hap/HAPService.d.ts +1 -1
- package/build/lib/hap/eve-app/EveCharacteristics.d.ts +1 -1
- package/build/lib/hap/eve-app/EveCharacteristics.js +10 -10
- package/build/lib/types/CustomCharacteristicType.d.ts +1 -1
- package/build/lib/types/HAPHostConfigType.d.ts +4 -4
- package/build/lib/types/HAPHostNodeType.d.ts +4 -4
- package/build/lib/types/HAPService2ConfigType.d.ts +2 -2
- package/build/lib/types/HAPService2NodeType.d.ts +3 -3
- package/build/lib/types/HAPServiceConfigType.d.ts +3 -3
- package/build/lib/types/HAPServiceNodeType.d.ts +10 -10
- package/build/lib/types/HAPStatusConfigType.d.ts +1 -1
- package/build/lib/types/HAPStatusNodeType.d.ts +5 -5
- package/build/lib/types/NodeType.d.ts +1 -1
- package/build/lib/types/storage/SerializedHostType.d.ts +2 -2
- package/build/lib/utils/AccessoryUtils.js +15 -15
- package/build/lib/utils/BridgeUtils.js +5 -5
- package/build/lib/utils/CharacteristicUtils.js +6 -6
- package/build/lib/utils/CharacteristicUtils2.js +6 -6
- package/build/lib/utils/NodeStatusUtils.d.ts +2 -2
- package/build/lib/utils/NodeStatusUtils.js +2 -2
- package/build/lib/utils/ServiceUtils.js +39 -38
- package/build/lib/utils/ServiceUtils2.js +39 -37
- package/build/lib/utils/index.js +2 -2
- package/build/nodes/nrchkb.js +2 -2
- package/build/nodes/status.js +15 -16
- package/examples/demo/01 - ALL Demos single import.json +64 -318
- package/examples/demo/02 - Air Purifier.json +279 -328
- package/examples/demo/03 - Air Quality sensor with Battery.json +254 -282
- package/examples/demo/04 - Dimmable Bulb.json +172 -189
- package/examples/demo/05 - Color Bulb (HSV).json +195 -216
- package/examples/demo/06 - Fan (simple, 3 speeds).json +240 -265
- package/examples/demo/07 - Fan (with speed, oscillate, rotation direction).json +175 -192
- package/examples/demo/08 - CO2 detector.json +224 -255
- package/examples/demo/09 - CO (carbon monoxide) example.json +255 -290
- package/examples/demo/10 - Door window contact sensor.json +234 -265
- package/examples/demos (advanced)/01 - Television with inputs and speaker.json +541 -607
- package/examples/switch/01 - Plain Switch.json +7 -27
- package/package.json +83 -81
|
@@ -1,258 +1,227 @@
|
|
|
1
1
|
[
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
"
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
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
|
]
|