-
Notifications
You must be signed in to change notification settings - Fork 70
/
services.json
691 lines (685 loc) Β· 31.6 KB
/
services.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
{
"AirPurifier": {
"topic": [
{"name": "statusActive"},
{"name": "setActive"},
{"name": "statusCurrentAirPurifierState", "desc": "0 = INACTIVE, 1 = IDLE, 2 = PURIFYING_AIR"},
{"name": "statusTargetAirPurifierState", "desc": "0 = MANUAL, 1 = AUTO"},
{"name": "setTargetAirPurifierState", "desc": "0 = MANUAL, 1 = AUTO"},
{"name": "statusLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "setLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "statusSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "setLockSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "statusRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "setRotationSpeed", "optional": true, "desc": "Percentage 0-100"}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "rotationSpeedFactor", "type": "Number", "optional": true, "default": 1}
]
},
"AirQualitySensor": {
"topic": [
{"name": "statusAirQuality", "desc": "0 = UNKNOWN, 1 = EXCELLENT, 2 = GOOD, 3 = FAIR, 4 = INFERIOR, 5 = POOR"},
{"name": "statusOzoneDensity", "type": "Number", "optional": true},
{"name": "statusNitrogenDioxideDensity", "type": "Number", "optional": true},
{"name": "statusSulphurDioxideDensity", "type": "Number", "optional": true},
{"name": "statusPM2_5Density", "type": "Number", "optional": true},
{"name": "statusPM10Density", "type": "Number", "optional": true},
{"name": "statusVOCDensity", "type": "Number", "optional": true},
{"name": "statusCarbonMonoxideLevel", "type": "Number", "optional": true},
{"name": "statusCarbonDioxideLevel", "type": "Number", "optional": true},
{"name": "onLowBattery", "optional": true},
{"name": "onTampered", "optional": true},
{"name": "onActive", "optional": true},
{"name": "onFault", "optional": true}
],
"payload": [
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"BatteryService": {
"topic": [
{"name": "statusBatteryLevel", "desc": "Percentage 0-100"},
{"name": "statusChargingState", "desc": "0 = NOT_CHARGING, 1 = CHARGING, 2 = NOT_CHARGEABLE"},
{"name": "statusLowBattery", "desc": "0 = BATTERY_LEVEL_NORMAL, 1 = BATTERY_LEVEL_LOW"}
],
"payload": [
{"name": "onLowBattery"},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "minBatteryLevel", "type": "Number", "optional": true, "default": 0},
{"name": "maxBatteryLevel", "type": "Number", "optional": true, "default": 100}
]
},
"CameraRTSPStreamManagement": {
"topic": [],
"payload": [],
"config": [
{"name": "source", "optional": false, "type": "String", "default": "-re -i rtsp://myfancy_rtsp_stream"},
{"name": "stillImageSource", "optional": false, "type": "String", "default": "-i http://faster_still_image_grab_url/this_is_optional.jpg"},
{"name": "maxStreams", "optional": false, "type": "Number", "default": "2", "desc": "the maximum number of streams that will be generated for this camera"},
{"name": "maxWidth", "optional": false, "type": "Number", "default": "1280"},
{"name": "maxHeight", "optional": false, "type": "Number", "default": "720"},
{"name": "maxFPS", "optional": false, "type": "Number", "default": "10", "desc": "the maximum frame rate of the stream"},
{"name": "maxBitrate", "optional": false, "type": "Number", "default": "300", "desc": "the maximum bit rate of the stream in kbit/s"},
{"name": "vcodec", "optional": false, "type": "String", "default": "libx264", "desc": "If you're running on a RPi with the omx version of ffmpeg installed, you can change to \"h264_omx\" for hardware accelerated video codec"},
{"name": "audio", "optional": false, "type": "Boolean", "default": false, "desc": "can be set to true to enable audio streaming from camera. To use audio ffmpeg must be compiled with --enable-libfdk-aac, see https://github.com/KhaosT/homebridge-camera-ffmpeg/wiki"},
{"name": "packetSize", "optional": false, "type": "Number", "default": "1316", "desc": "If audio or video is choppy try a smaller value, set to a multiple of 188"},
{"name": "debug", "optional": false, "type": "Boolean", "default": false, "desc": "Show the output of ffmpeg in the log"},
{"name": "videoProcessor", "optional": false, "type": "String", "default": "ffmpeg"}
]
},
"CarbonDioxideSensor": {
"topic": [
{"name": "statusCarbonDioxideDetected"},
{"name": "statusCarbonDioxideLevel", "optional": true},
{"name": "statusCarbonDioxidePeakLevel", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onCarbonDioxideDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"CarbonMonoxideSensor": {
"topic": [
{"name": "statusCarbonMonoxideDetected"},
{"name": "statusCarbonMonoxideLevel", "optional": true},
{"name": "statusCarbonMonoxidePeakLevel", "optional": true},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onCarbonMonoxideDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"ContactSensor": {
"topic": [
{"name": "statusContactSensorState"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onContactDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"Door": {
"topic": [
{"name": "setTargetPosition"},
{"name": "statusTargetPosition", "optional": true},
{"name": "statusCurrentPosition", "optional": true},
{"name": "statusPositionState", "optional": true},
{"name": "statusObstruction", "optional": true},
{"name": "setHoldPosition", "optional": true}
],
"payload": [
{"name": "targetPositionFactor", "type": "Number", "optional": true},
{"name": "currentPositionFactor", "type": "Number", "optional": true},
{"name": "positionStatusDecreasing", "optional": true},
{"name": "positionStatusIncreasing", "optional": true},
{"name": "onObstructionDetected", "optional": true},
{"name": "holdPositionTrue", "optional": true, "default": true},
{"name": "holdPositionFalse", "optional": true, "default": false}
]
},
"Doorbell": {
"topic": [
{"name": "statusEvent"}
],
"payload": [
]
},
"Fan": {
"topic": [
{"name": "setOn"},
{"name": "statusOn", "optional": true},
{"name": "setRotationDirection", "optional": true},
{"name": "statusRotationDirection", "optional": true},
{"name": "setRotationSpeed", "optional": true},
{"name": "statusRotationSpeed", "optional": true}
],
"payload": [
{"name": "onTrue", "optional": true, "default": true},
{"name": "onFalse", "optional": true, "default": false},
{"name": "rotationDirectionCounterClockwise", "optional": true, "default": 1},
{"name": "rotationDirectionClockwise", "optional": true, "default": 0},
{"name": "rotationSpeedFactor", "type": "Number", "optional": true, "default": 1}
]
},
"Fanv2": {
"topic": [
{"name": "statusActive"},
{"name": "setActive"},
{"name": "statusCurrentFanState", "desc": "0 = INACTIVE, 1 = IDLE, 2 = PURIFYING_AIR"},
{"name": "statusTargetFanState", "desc": "0 = MANUAL, 1 = AUTO"},
{"name": "setTargetFanState", "desc": "0 = MANUAL, 1 = AUTO"},
{"name": "statusLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "setLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "statusSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "setLockSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "statusRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "setRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "statusRotationDirection", "optional": true, "desc": "0 = CLOCKWISE, 1 = COUNTER_CLOCKWISE"},
{"name": "setRotationDirection", "optional": true, "desc": "0 = CLOCKWISE, 1 = COUNTER_CLOCKWISE"}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "rotationSpeedFactor", "type": "Number", "optional": true, "default": 1}
]
},
"Faucet": {
"topic": [
{"name": "setActive"},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "faultTrue", "optional": true, "default": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"FilterMaintenance": {
"topic": [
{"name": "statusFilterChangeIndication"},
{"name": "statusFilterLifeLevel", "optional": true, "desc": "Percentage 0-100"},
{"name": "setResetFilterIndication", "optional": true}
],
"payload": []
},
"GarageDoorOpener": {
"topic": [
{"name": "setDoor"},
{"name": "statusDoor", "optional": true, "desc": "0 = OPEN, 1 = CLOSED; 2 = OPENING, 3 = CLOSING, 4 = STOPPED"},
{"name": "statusObstruction", "optional": true},
{"name": "setLock", "optional": true},
{"name": "statusLock", "optional": true}
],
"payload": [
{"name": "doorClosed", "optional": true},
{"name": "doorOpening", "optional": true},
{"name": "doorClosing", "optional": true},
{"name": "doorStopped", "optional": true},
{"name": "onObstructionDetected", "optional": true},
{"name": "lockUnsecured", "optional": true},
{"name": "lockSecured", "optional": true}
]
},
"HeaterCooler": {
"topic": [
{"name": "statusActive"},
{"name": "setActive"},
{"name": "statusCurrentTemperature"},
{"name": "statusCurrentHeaterCoolerState", "desc": "0 = INACTIVE, 1 = IDLE, 2 = HEATING, 3 = COOLING"},
{"name": "statusTargetHeaterCoolerState", "desc": "0 = AUTO, 1 = HEAT, 2 = COOL"},
{"name": "setTargetHeaterCoolerState", "desc": "0 = AUTO, 1 = HEAT, 2 = COOL"},
{"name": "statusLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "setLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "statusSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "setLockSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "statusRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "setRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "statusCoolingThresholdTemperature", "optional": true},
{"name": "setCoolingThresholdTemperature", "optional": true},
{"name": "statusHeatingThresholdTemperature", "optional": true},
{"name": "setHeatingThresholdTemperature", "optional": true}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "rotationSpeedFactor", "type": "Number", "optional": true, "default": 1}
],
"config": [
{"name": "TemperatureDisplayUnits", "enum": ["CELSIUS", "FAHRENHEIT"]}
],
"props": [
{"name": "CurrentTemperature", "minValue": 0, "maxValue": 100}
]
},
"HumidifierDehumidifier": {
"topic": [
{"name": "statusActive"},
{"name": "setActive"},
{"name": "statusCurrentTemperature"},
{"name": "statusWaterLevel", "desc": "Percentage 0-100"},
{"name": "statusCurrentHumidifierDehumidifierState", "desc": "0 = INACTIVE, 1 = IDLE, 2 = HUMIDIFYING, 3 = DEHUMIDIFYING"},
{"name": "statusTargetHumidifierDehumidifierState", "desc": "0 = HUMIDIFIER_OR_DEHUMIDIFIER, 1 = HUMIDIFIER, 2 = DEHUMIDIFIER"},
{"name": "setTargetHumidifierDehumidifierState", "desc": "0 = HUMIDIFIER_OR_DEHUMIDIFIER, 1 = HUMIDIFIER, 2 = DEHUMIDIFIER"},
{"name": "statusLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "setLockPhysicalControls", "optional": true, "desc": "0 = CONTROL_LOCK_DISABLED, 1 = CONTROL_LOCK_ENABLED"},
{"name": "statusSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "setLockSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "statusRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "setRotationSpeed", "optional": true, "desc": "Percentage 0-100"},
{"name": "statusRelativeHumidityDehumidifierThreshold", "optional": true},
{"name": "setRelativeHumidityDehumidifierThreshold", "optional": true},
{"name": "statusRelativeHumidityHumidifierThreshold", "optional": true},
{"name": "setRelativeHumidityHumidifierThreshold", "optional": true}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "rotationSpeedFactor", "type": "Number", "optional": true, "default": 1},
{"name": "waterLevelFactor", "type": "Number", "optional": true, "default": 1}
]
},
"HumiditySensor": {
"topic": [
{"name": "statusHumidity"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"IrrigationSystem": {
"topic": [
{"name": "setActive"},
{"name": "statusActive"},
{"name": "statusFault", "optional": true},
{"name": "statusInUse"},
{"name": "statusRemainingDuration"},
{"name": "statusProgramMode"}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "faultTrue", "optional": true, "default": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"},
{"name": "inUseTrue", "optional": true, "default": true}
]
},
"LeakSensor": {
"topic": [
{"name": "statusLeakDetected"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onLeakDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"Lightbulb": {
"topic": [
{"name": "setOn"},
{"name": "statusOn", "optional": true},
{"name": "setBrightness", "optional": true},
{"name": "statusBrightness", "optional": true},
{"name": "setHue", "optional": true},
{"name": "statusHue", "optional": true},
{"name": "setSaturation", "optional": true},
{"name": "statusSaturation", "optional": true},
{"name": "setColorTemperature", "optional": true},
{"name": "statusColorTemperature", "optional": true},
{"name": "statusRGB", "optional": true},
{"name": "setRGB", "optional": true}
],
"payload": [
{"name": "onTrue"},
{"name": "onFalse"},
{"name": "brightnessFactor", "type": "Number", "optional": true, "default": 1},
{"name": "hueFactor", "type": "Number", "optional": true, "default": 1},
{"name": "saturationFactor", "type": "Number", "optional": true, "default": 1}
]
},
"LightSensor": {
"topic": [
{"name": "statusAmbientLightLevel", "desc": "0.0001 - 100000"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "ambientLightLevelFactor", "optional": true, "default": 1},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"LockManagement": {
"topic": [
{"name": "setLockControlPoint"},
{"name": "statusVersion"},
{"name": "statusVersion", "optional": true},
{"name": "statusLogs", "optional": true},
{"name": "setAudioFeedback", "optional": true},
{"name": "statusAudioFeedback", "optional": true},
{"name": "setLockManagementAutoSecurityTimeout", "optional": true, "desc": "Seconds"},
{"name": "statusLockManagementAutoSecurityTimeout", "optional": true, "desc": "Seconds"},
{"name": "setAdministratorOnlyAccess", "optional": true},
{"name": "statusAdministratorOnlyAccess", "optional": true},
{"name": "statusLockLastKnownAction", "optional": true, "desc": "0 = SECURED_PHYSICALLY_INTERIOR, 1 = UNSECURED_PHYSICALLY_INTERIOR, 2 = SECURED_PHYSICALLY_EXTERIOR, 3 = UNSECURED_PHYSICALLY_EXTERIOR, 4 = SECURED_BY_KEYPAD, 5 = UNSECURED_BY_KEYPAD, 6 = SECURED_REMOTELY, 7 = UNSECURED_REMOTELY, 8 = SECURED_BY_AUTO_SECURE_TIMEOUT"},
{"name": "statusCurrentDoorState", "optional": true, "desc": "0 = OPEN, 1 = CLOSED; 2 = OPENING, 3 = CLOSING, 4 = STOPPED"},
{"name": "statusMotionDetected", "optional": true}
],
"payload": [
{"name": "doorClosed", "optional": true},
{"name": "doorOpening", "optional": true},
{"name": "doorClosing", "optional": true},
{"name": "doorStopped", "optional": true}
]
},
"LockMechanism": {
"topic": [
{"name": "setLock"},
{"name": "statusLock", "optional": true}
],
"payload": [
{"name": "lockSecured"},
{"name": "lockUnsecured"},
{"name": "lockJammed", "optional": true},
{"name": "lockUnknown", "optional": true}
]
},
"Microphone": {
"topic": [
{"name": "setMute"},
{"name": "statusMute", "optional": true},
{"name": "setVolume", "optional": true},
{"name": "statusVolume", "optional": true}
],
"payload": [
{"name": "muteTrue"},
{"name": "muteFalse"},
{"name": "volumeFactor", "type": "Number", "optional": true, "default": 1}
]
},
"MotionSensor": {
"topic": [
{"name": "statusMotionDetected"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onMotionDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"OccupancySensor": {
"topic": [
{"name": "statusOccupancyDetected"},
{"name": "statusLowBattery", "optional": true}
],
"payload": [
{"name": "onOccupancyDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"}
]
},
"Outlet": {
"topic": [
{"name": "setOn"},
{"name": "statusOn", "optional": true},
{"name": "statusOutletInUse"}
],
"payload": [
{"name": "onFalse"},
{"name": "onTrue"},
{"name": "onOutletInUse"}
]
},
"SecuritySystem": {
"topic": [
{"name": "setSecuritySystemTargetState", "desc": "0 = STAY_ARM, 1 = AWAY_ARM, 2 = NIGHT_ARM, 3 = DISARM"},
{"name": "statusSecuritySystemCurrentState", "optional": true, "desc": "0 = STAY_ARM, 1 = AWAY_ARM, 2 = NIGHT_ARM, 3 = DISARMED, 4 = ALARM_TRIGGERED"},
{"name": "statusSecuritySystemAlarmType", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"Slat": {
"topic": [
{"name": "statusCurrentSlatState", "desc": "0 = FIXED, 1 = JAMMED, 2 = SWINGING"},
{"name": "statusCurrentTiltAngle", "optional": true},
{"name": "statusTargetTiltAngle", "optional": true},
{"name": "setTargetTiltAngle", "optional": true},
{"name": "statusSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"},
{"name": "setSwingMode", "optional": true, "desc": "0 = SWING_DISABLED, 1 = SWING_ENABLED"}
],
"payload": [],
"config": [
{"name": "SlatType", "enum": ["HORIZONTAL", "VERTICAL"]}
]
},
"SmokeSensor": {
"topic": [
{"name": "statusSmokeDetected"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{"name": "onSmokeDetected"},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
]
},
"Speaker": {
"topic": [
{"name": "setMute"},
{"name": "statusMute", "optional": true},
{"name": "setVolume", "optional": true},
{"name": "statusVolume", "optional": true}
],
"payload": [
{"name": "muteTrue"},
{"name": "muteFalse"},
{"name": "volumeFactor", "type": "Number", "default": 1}
]
},
"StatelessProgrammableSwitch": {
"topic": [
{"name": "statusEvent", "desc": "0 = SINGLE_PRESS, 1 = DOUBLE_PRESS, 2 = LONG_PRESS"}
],
"payload": [
]
},
"Switch": {
"topic": [
{"name": "setOn"},
{"name": "statusOn", "optional": true}
],
"payload": [
{"name": "onFalse"},
{"name": "onTrue"}
]
},
"TemperatureSensor": {
"topic": [
{"name": "statusTemperature"},
{"name": "statusLowBattery", "optional": true},
{"name": "statusTampered", "optional": true},
{"name": "statusActive", "optional": true},
{"name": "statusFault", "optional": true}
],
"payload": [
{
"name": "fahrenheit",
"type": "Boolean",
"desc": "Set to true if your sensor publishes values in degree fahrenheit",
"default": false
},
{"name": "onLowBattery", "optional": true},
{"name": "invertLowBattery", "optional": true, "default": false, "type": "Boolean"},
{"name": "onTampered", "optional": true},
{"name": "invertTampered", "optional": true, "default": false, "type": "Boolean"},
{"name": "onActive", "optional": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "onFault", "optional": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"}
],
"props": [
{"name": "CurrentTemperature", "minValue": -100, "maxValue": 100}
]
},
"Thermostat": {
"topic": [
{"name": "setTargetTemperature"},
{"name": "statusTargetTemperature", "optional": true},
{"name": "statusCurrentTemperature"},
{"name": "setTargetHeatingCoolingState", "optional": true, "desc": "0 = off, 1 = heat, 2 = cool"},
{"name": "statusTargetHeatingCoolingState", "optional": true, "desc": "0 = off, 1 = heat, 2 = cool"},
{"name": "statusCurrentHeatingCoolingState", "optional": true, "desc": "0 = off, 1 = heat, 2 = cool"},
{"name": "setTargetRelativeHumidity", "optional": true},
{"name": "statusTargetRelativeHumidity", "optional": true},
{"name": "statusCurrentRelativeHumidity", "optional": true},
{"name": "setCoolingThresholdTemperature", "optional": true},
{"name": "statusCoolingThresholdTemperature", "optional": true},
{"name": "setHeatingThresholdTemperature", "optional": true},
{"name": "statusHeatingThresholdTemperature", "optional": true}
],
"payload": [
],
"config": [
{"name": "TemperatureDisplayUnits", "enum": ["CELSIUS", "FAHRENHEIT"]}
],
"props": [
{"name": "TargetHeatingCoolingState", "validValues": ["OFF", "HEAT", "COOL", "AUTO"]},
{"name": "TargetTemperature", "minValue": 4, "maxValue": 38}
]
},
"Valve": {
"topic": [
{"name": "setActive"},
{"name": "statusActive"},
{"name": "statusFault", "optional": true},
{"name": "statusInUse"},
{"name": "statusRemainingDuration", "optional": true},
{"name": "setDuration", "optional": true}
],
"payload": [
{"name": "activeTrue", "optional": true, "default": true},
{"name": "invertActive", "optional": true, "default": false, "type": "Boolean"},
{"name": "faultTrue", "optional": true, "default": true},
{"name": "invertFault", "optional": true, "default": false, "type": "Boolean"},
{"name": "inUseTrue", "optional": true, "default": true}
],
"config": [
{"name": "ValveType", "optional": true, "default": "0", "enum": ["GENERIC_VALVE", "IRRIGATION", "SHOWER_HEAD", "WATER_FAUCET"]}
]
},
"Window": {
"topic": [
{"name": "setTargetPosition"},
{"name": "statusTargetPosition", "optional": true},
{"name": "statusCurrentPosition", "optional": true},
{"name": "statusPositionState", "optional": true},
{"name": "statusObstruction", "optional": true}
],
"payload": [
{"name": "targetPositionFactor", "type": "Number", "optional": true, "default": 1},
{"name": "currentPositionFactor", "type": "Number", "optional": true, "default": 1},
{"name": "positionStatusDecreasing", "optional": true},
{"name": "positionStatusIncreasing", "optional": true},
{"name": "onObstructionDetected", "optional": true}
]
},
"WindowCovering": {
"topic": [
{"name": "setTargetPosition"},
{"name": "statusTargetPosition", "optional": true},
{"name": "statusCurrentPosition", "optional": true},
{"name": "statusPositionState", "optional": true},
{"name": "statusTargetHorizontalTiltAngle", "optional": true},
{"name": "setTargetHorizontalTiltAngle", "optional": true},
{"name": "statusTargetVerticalTiltAngle", "optional": true},
{"name": "setTargetVerticalTiltAngle", "optional": true},
{"name": "statusCurrentHorizontalTiltAngle", "optional": true},
{"name": "statusCurrentVerticalTiltAngle", "optional": true}
],
"payload": [
{"name": "targetPositionFactor", "type": "Number", "optional": true, "default": 1},
{"name": "currentPositionFactor", "type": "Number", "optional": true, "default": 1},
{"name": "positionStatusDecreasing", "optional": true},
{"name": "positionStatusIncreasing", "optional": true}
]
}
}