homebridge-easy-mqtt 1.3.0-beta.2 → 1.3.0-beta.3
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 +2 -1
- package/README.md +137 -106
- package/config.schema.json +370 -6
- package/dist/accessory/security.js +2 -2
- package/dist/accessory/security.js.map +1 -1
- package/dist/accessory/sensor/carbonDioxide.d.ts +8 -0
- package/dist/accessory/sensor/carbonDioxide.js +15 -0
- package/dist/accessory/sensor/carbonDioxide.js.map +1 -0
- package/dist/accessory/sensor/carbonMonoxide.d.ts +8 -0
- package/dist/accessory/sensor/carbonMonoxide.js +15 -0
- package/dist/accessory/sensor/carbonMonoxide.js.map +1 -0
- package/dist/accessory/sensor/contact.d.ts +9 -0
- package/dist/accessory/sensor/contact.js +17 -0
- package/dist/accessory/sensor/contact.js.map +1 -0
- package/dist/accessory/sensor/humidity.d.ts +8 -0
- package/dist/accessory/sensor/humidity.js +13 -0
- package/dist/accessory/sensor/humidity.js.map +1 -0
- package/dist/accessory/sensor/leak.d.ts +8 -0
- package/dist/accessory/sensor/leak.js +13 -0
- package/dist/accessory/sensor/leak.js.map +1 -0
- package/dist/accessory/sensor/motion.d.ts +8 -0
- package/dist/accessory/sensor/motion.js +13 -0
- package/dist/accessory/sensor/motion.js.map +1 -0
- package/dist/accessory/sensor/occupancy.d.ts +8 -0
- package/dist/accessory/sensor/occupancy.js +13 -0
- package/dist/accessory/sensor/occupancy.js.map +1 -0
- package/dist/accessory/sensor/sensor.d.ts +9 -0
- package/dist/accessory/sensor/sensor.js +36 -0
- package/dist/accessory/sensor/sensor.js.map +1 -0
- package/dist/accessory/sensor/smoke.d.ts +8 -0
- package/dist/accessory/sensor/smoke.js +13 -0
- package/dist/accessory/sensor/smoke.js.map +1 -0
- package/dist/accessory/{temperatureSensor.d.ts → sensor/temperature.d.ts} +4 -4
- package/dist/accessory/{temperatureSensor.js → sensor/temperature.js} +9 -9
- package/dist/accessory/sensor/temperature.js.map +1 -0
- package/dist/homebridge/platform.js +33 -1
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/ui.js +1 -1
- package/dist/i18n/en.d.ts +74 -8
- package/dist/i18n/en.js +137 -71
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +74 -8
- package/dist/i18n/template.d.ts +74 -8
- package/dist/model/enums.d.ts +20 -0
- package/dist/model/enums.js +20 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +69 -30
- package/package.json +1 -1
- package/dist/accessory/temperatureSensor.js.map +0 -1
package/config.schema.json
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"type": {
|
|
22
22
|
"type": "string",
|
|
23
23
|
"title": "${config.title.type}",
|
|
24
|
-
"enum": [ "Lightbulb", "LockMechanism", "Outlet", "SecuritySystem", "Switch", "TemperatureSensor"],
|
|
25
|
-
"enumNames": ["${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}"],
|
|
24
|
+
"enum": [ "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "HumiditySensor", "LeakSensor", "Lightbulb", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "Switch", "TemperatureSensor"],
|
|
25
|
+
"enumNames": ["${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}"],
|
|
26
26
|
"required": true
|
|
27
27
|
},
|
|
28
28
|
"manufacturer": {
|
|
@@ -175,10 +175,6 @@
|
|
|
175
175
|
"type": "string",
|
|
176
176
|
"title": "${config.title.topicGetOutletInUse}"
|
|
177
177
|
},
|
|
178
|
-
"topicGetCurrentTemperature": {
|
|
179
|
-
"type": "string",
|
|
180
|
-
"title": "${config.title.topicGetCurrentTemperature}"
|
|
181
|
-
},
|
|
182
178
|
"topicGetCurrentSecurityState": {
|
|
183
179
|
"type": "string",
|
|
184
180
|
"title": "${config.title.topicGetCurrentSecurityState}"
|
|
@@ -199,6 +195,58 @@
|
|
|
199
195
|
"type": "string",
|
|
200
196
|
"title": "${config.title.topicGetStatusFault}"
|
|
201
197
|
},
|
|
198
|
+
"topicGetCarbonMonoxideDetected": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"title": "${config.title.topicGetCarbonMonoxideDetected}"
|
|
201
|
+
},
|
|
202
|
+
"topicGetCarbonMonoxideLevel": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"title": "${config.title.topicGetCarbonMonoxideLevel}"
|
|
205
|
+
},
|
|
206
|
+
"topicGetCarbonMonoxidePeakLevel": {
|
|
207
|
+
"type": "string",
|
|
208
|
+
"title": "${config.title.topicGetCarbonMonoxidePeakLevel}"
|
|
209
|
+
},
|
|
210
|
+
"topicGetCarbonDioxideDetected": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"title": "${config.title.topicGetCarbonDioxideDetected}"
|
|
213
|
+
},
|
|
214
|
+
"topicGetCarbonDioxideLevel": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"title": "${config.title.topicGetCarbonDioxideLevel}"
|
|
217
|
+
},
|
|
218
|
+
"topicGetCarbonDioxidePeakLevel": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"title": "${config.title.topicGetCarbonDioxidePeakLevel}"
|
|
221
|
+
},
|
|
222
|
+
"topicGetContactSensorState": {
|
|
223
|
+
"type": "string",
|
|
224
|
+
"title": "${config.title.topicGetContactSensorState}"
|
|
225
|
+
},
|
|
226
|
+
"topicGetCurrentRelativeHumidity": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"title": "${config.title.topicGetCurrentRelativeHumidity}"
|
|
229
|
+
},
|
|
230
|
+
"topicGetLeakDetected": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"title": "${config.title.topicGetLeakDetected}"
|
|
233
|
+
},
|
|
234
|
+
"topicGetMotionDetected": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"title": "${config.title.topicGetMotionDetected}"
|
|
237
|
+
},
|
|
238
|
+
"topicGetOccupancyDetected": {
|
|
239
|
+
"type": "string",
|
|
240
|
+
"title": "${config.title.topicGetOccupancyDetected}"
|
|
241
|
+
},
|
|
242
|
+
"topicGetSmokeDetected": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"title": "${config.title.topicGetSmokeDetected}"
|
|
245
|
+
},
|
|
246
|
+
"topicGetCurrentTemperature": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"title": "${config.title.topicGetCurrentTemperature}"
|
|
249
|
+
},
|
|
202
250
|
"valueBatteryLow": {
|
|
203
251
|
"type": "string",
|
|
204
252
|
"title": "${config.title.valueBatteryLow}"
|
|
@@ -259,6 +307,34 @@
|
|
|
259
307
|
"type": "string",
|
|
260
308
|
"title": "${config.title.valueFault}"
|
|
261
309
|
},
|
|
310
|
+
"valueCarbonMonoxideDetected": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"title": "${config.title.valueCarbonMonoxideDetected}"
|
|
313
|
+
},
|
|
314
|
+
"valueCarbonDioxideDetected": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"title": "${config.title.valueCarbonDioxideDetected}"
|
|
317
|
+
},
|
|
318
|
+
"valueContactDetected": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"title": "${config.title.valueContactDetected}"
|
|
321
|
+
},
|
|
322
|
+
"valueLeakDetected": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"title": "${config.title.valueLeakDetected}"
|
|
325
|
+
},
|
|
326
|
+
"valueMotionDetected": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"title": "${config.title.valueMotionDetected}"
|
|
329
|
+
},
|
|
330
|
+
"valueOccupancyDetected": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"title": "${config.title.valueOccupancyDetected}"
|
|
333
|
+
},
|
|
334
|
+
"valueSmokeDetected": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"title": "${config.title.valueSmokeDetected}"
|
|
337
|
+
},
|
|
262
338
|
"disableLogging": {
|
|
263
339
|
"type": "boolean",
|
|
264
340
|
"title": "${config.title.disableLogging}"
|
|
@@ -519,6 +595,160 @@
|
|
|
519
595
|
}
|
|
520
596
|
]
|
|
521
597
|
},
|
|
598
|
+
{
|
|
599
|
+
"type": "fieldset",
|
|
600
|
+
"notitle": true,
|
|
601
|
+
"condition": {
|
|
602
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'CarbonDioxideSensor';"
|
|
603
|
+
},
|
|
604
|
+
"items": [
|
|
605
|
+
{
|
|
606
|
+
"type": "div",
|
|
607
|
+
"displayFlex": true,
|
|
608
|
+
"flex-direction": "row",
|
|
609
|
+
"items": [
|
|
610
|
+
{
|
|
611
|
+
"key": "accessories[].topicGetCarbonDioxideDetected",
|
|
612
|
+
"flex": "0 0 50%"
|
|
613
|
+
}
|
|
614
|
+
]
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"type": "div",
|
|
618
|
+
"displayFlex": true,
|
|
619
|
+
"flex-direction": "row",
|
|
620
|
+
"items": [
|
|
621
|
+
{
|
|
622
|
+
"key": "accessories[].topicGetCarbonDioxideLevel",
|
|
623
|
+
"flex": "0 0 50%"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"key": "accessories[].topicGetCarbonDioxidePeakLevel",
|
|
627
|
+
"flex": "0 0 50%"
|
|
628
|
+
}
|
|
629
|
+
]
|
|
630
|
+
}
|
|
631
|
+
]
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"type": "fieldset",
|
|
635
|
+
"notitle": true,
|
|
636
|
+
"condition": {
|
|
637
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'CarbonMonoxideSensor';"
|
|
638
|
+
},
|
|
639
|
+
"items": [
|
|
640
|
+
{
|
|
641
|
+
"type": "div",
|
|
642
|
+
"displayFlex": true,
|
|
643
|
+
"flex-direction": "row",
|
|
644
|
+
"items": [
|
|
645
|
+
{
|
|
646
|
+
"key": "accessories[].topicGetCarbonMonoxideDetected",
|
|
647
|
+
"flex": "0 0 50%"
|
|
648
|
+
}
|
|
649
|
+
]
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"type": "div",
|
|
653
|
+
"displayFlex": true,
|
|
654
|
+
"flex-direction": "row",
|
|
655
|
+
"items": [
|
|
656
|
+
{
|
|
657
|
+
"key": "accessories[].topicGetCarbonMonoxideLevel",
|
|
658
|
+
"flex": "0 0 50%"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"key": "accessories[].topicGetCarbonMonoxidePeakLevel",
|
|
662
|
+
"flex": "0 0 50%"
|
|
663
|
+
}
|
|
664
|
+
]
|
|
665
|
+
}
|
|
666
|
+
]
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"type": "div",
|
|
670
|
+
"displayFlex": true,
|
|
671
|
+
"flex-direction": "row",
|
|
672
|
+
"condition": {
|
|
673
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'ContactSensor';"
|
|
674
|
+
},
|
|
675
|
+
"items": [
|
|
676
|
+
{
|
|
677
|
+
"key": "accessories[].topicGetContactSensorState",
|
|
678
|
+
"flex": "0 0 50%"
|
|
679
|
+
}
|
|
680
|
+
]
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"type": "div",
|
|
684
|
+
"displayFlex": true,
|
|
685
|
+
"flex-direction": "row",
|
|
686
|
+
"condition": {
|
|
687
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'HumiditySensor';"
|
|
688
|
+
},
|
|
689
|
+
"items": [
|
|
690
|
+
{
|
|
691
|
+
"key": "accessories[].topicGetCurrentRelativeHumidity",
|
|
692
|
+
"flex": "0 0 50%"
|
|
693
|
+
}
|
|
694
|
+
]
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"type": "div",
|
|
698
|
+
"displayFlex": true,
|
|
699
|
+
"flex-direction": "row",
|
|
700
|
+
"condition": {
|
|
701
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'LeakSensor';"
|
|
702
|
+
},
|
|
703
|
+
"items": [
|
|
704
|
+
{
|
|
705
|
+
"key": "accessories[].topicGetLeakDetected",
|
|
706
|
+
"flex": "0 0 50%"
|
|
707
|
+
}
|
|
708
|
+
]
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"type": "div",
|
|
712
|
+
"displayFlex": true,
|
|
713
|
+
"flex-direction": "row",
|
|
714
|
+
"condition": {
|
|
715
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'MotionSensor';"
|
|
716
|
+
},
|
|
717
|
+
"items": [
|
|
718
|
+
{
|
|
719
|
+
"key": "accessories[].topicGetMotionDetected",
|
|
720
|
+
"flex": "0 0 50%"
|
|
721
|
+
}
|
|
722
|
+
]
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"type": "div",
|
|
726
|
+
"displayFlex": true,
|
|
727
|
+
"flex-direction": "row",
|
|
728
|
+
"condition": {
|
|
729
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'OccupancySensor';"
|
|
730
|
+
},
|
|
731
|
+
"items": [
|
|
732
|
+
{
|
|
733
|
+
"key": "accessories[].topicGetOccupancyDetected",
|
|
734
|
+
"flex": "0 0 50%"
|
|
735
|
+
}
|
|
736
|
+
]
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"type": "div",
|
|
740
|
+
"displayFlex": true,
|
|
741
|
+
"flex-direction": "row",
|
|
742
|
+
"condition": {
|
|
743
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'SmokeSensor';"
|
|
744
|
+
},
|
|
745
|
+
"items": [
|
|
746
|
+
{
|
|
747
|
+
"key": "accessories[].topicGetSmokeDetected",
|
|
748
|
+
"flex": "0 0 50%"
|
|
749
|
+
}
|
|
750
|
+
]
|
|
751
|
+
},
|
|
522
752
|
{
|
|
523
753
|
"type": "div",
|
|
524
754
|
"displayFlex": true,
|
|
@@ -538,6 +768,24 @@
|
|
|
538
768
|
}
|
|
539
769
|
]
|
|
540
770
|
},
|
|
771
|
+
{
|
|
772
|
+
"type": "div",
|
|
773
|
+
"displayFlex": true,
|
|
774
|
+
"flex-direction": "row",
|
|
775
|
+
"condition": {
|
|
776
|
+
"functionBody": "const type = model.accessories?.[arguments[1]]?.info?.type; return type !== undefined && type.endsWith('Sensor');"
|
|
777
|
+
},
|
|
778
|
+
"items": [
|
|
779
|
+
{
|
|
780
|
+
"key": "accessories[].topicGetStatusFault",
|
|
781
|
+
"flex": "0 0 50%"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"key": "accessories[].topicGetStatusTampered",
|
|
785
|
+
"flex": "0 0 50%"
|
|
786
|
+
}
|
|
787
|
+
]
|
|
788
|
+
},
|
|
541
789
|
{
|
|
542
790
|
"type": "div",
|
|
543
791
|
"displayFlex": true,
|
|
@@ -678,6 +926,122 @@
|
|
|
678
926
|
}
|
|
679
927
|
]
|
|
680
928
|
},
|
|
929
|
+
{
|
|
930
|
+
"type": "div",
|
|
931
|
+
"displayFlex": true,
|
|
932
|
+
"flex-direction": "row",
|
|
933
|
+
"condition": {
|
|
934
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'CarbonDioxideSensor';"
|
|
935
|
+
},
|
|
936
|
+
"items": [
|
|
937
|
+
{
|
|
938
|
+
"key": "accessories[].valueCarbonDioxideDetected",
|
|
939
|
+
"flex": "0 0 25%"
|
|
940
|
+
}
|
|
941
|
+
]
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"type": "div",
|
|
945
|
+
"displayFlex": true,
|
|
946
|
+
"flex-direction": "row",
|
|
947
|
+
"condition": {
|
|
948
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'CarbonMonoxideSensor';"
|
|
949
|
+
},
|
|
950
|
+
"items": [
|
|
951
|
+
{
|
|
952
|
+
"key": "accessories[].valueCarbonMonoxideDetected",
|
|
953
|
+
"flex": "0 0 25%"
|
|
954
|
+
}
|
|
955
|
+
]
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"type": "div",
|
|
959
|
+
"displayFlex": true,
|
|
960
|
+
"flex-direction": "row",
|
|
961
|
+
"condition": {
|
|
962
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'ContactSensor';"
|
|
963
|
+
},
|
|
964
|
+
"items": [
|
|
965
|
+
{
|
|
966
|
+
"key": "accessories[].valueContactDetected",
|
|
967
|
+
"flex": "0 0 25%"
|
|
968
|
+
}
|
|
969
|
+
]
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"type": "div",
|
|
973
|
+
"displayFlex": true,
|
|
974
|
+
"flex-direction": "row",
|
|
975
|
+
"condition": {
|
|
976
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'LeakSensor';"
|
|
977
|
+
},
|
|
978
|
+
"items": [
|
|
979
|
+
{
|
|
980
|
+
"key": "accessories[].valueLeakDetected",
|
|
981
|
+
"flex": "0 0 25%"
|
|
982
|
+
}
|
|
983
|
+
]
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"type": "div",
|
|
987
|
+
"displayFlex": true,
|
|
988
|
+
"flex-direction": "row",
|
|
989
|
+
"condition": {
|
|
990
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'MotionSensor';"
|
|
991
|
+
},
|
|
992
|
+
"items": [
|
|
993
|
+
{
|
|
994
|
+
"key": "accessories[].valueMotionDetected",
|
|
995
|
+
"flex": "0 0 25%"
|
|
996
|
+
}
|
|
997
|
+
]
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"type": "div",
|
|
1001
|
+
"displayFlex": true,
|
|
1002
|
+
"flex-direction": "row",
|
|
1003
|
+
"condition": {
|
|
1004
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'OccupancySensor';"
|
|
1005
|
+
},
|
|
1006
|
+
"items": [
|
|
1007
|
+
{
|
|
1008
|
+
"key": "accessories[].valueOccupancyDetected",
|
|
1009
|
+
"flex": "0 0 25%"
|
|
1010
|
+
}
|
|
1011
|
+
]
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
"type": "div",
|
|
1015
|
+
"displayFlex": true,
|
|
1016
|
+
"flex-direction": "row",
|
|
1017
|
+
"condition": {
|
|
1018
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'SmokeSensor';"
|
|
1019
|
+
},
|
|
1020
|
+
"items": [
|
|
1021
|
+
{
|
|
1022
|
+
"key": "accessories[].valueSmokeDetected",
|
|
1023
|
+
"flex": "0 0 25%"
|
|
1024
|
+
}
|
|
1025
|
+
]
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"type": "div",
|
|
1029
|
+
"displayFlex": true,
|
|
1030
|
+
"flex-direction": "row",
|
|
1031
|
+
"condition": {
|
|
1032
|
+
"functionBody": "const type = model.accessories?.[arguments[1]]?.info?.type; return type !== undefined && type.endsWith('Sensor');"
|
|
1033
|
+
},
|
|
1034
|
+
"items": [
|
|
1035
|
+
{
|
|
1036
|
+
"key": "accessories[].valueFault",
|
|
1037
|
+
"flex": "0 0 25%"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"key": "accessories[].valueTampered",
|
|
1041
|
+
"flex": "0 0 25%"
|
|
1042
|
+
}
|
|
1043
|
+
]
|
|
1044
|
+
},
|
|
681
1045
|
{
|
|
682
1046
|
"type": "div",
|
|
683
1047
|
"displayFlex": true,
|
|
@@ -21,8 +21,8 @@ export class SecuritySystemAccessory extends BaseAccessory {
|
|
|
21
21
|
this.setupCharacteristic(CharacteristicKey.SecuritySystemCurrentState, Characteristic.SecuritySystemCurrentState.DISARMED, 'topicGetCurrentSecurityState', this.onCurrentStateUpdate.bind(this), true)?.setProps({ validValues: validCurrentStates.map((key) => this.STATE_MAP.get(key)) });
|
|
22
22
|
const validTargetStates = validCurrentStates.filter((key) => key !== 'valueAlarmTriggered');
|
|
23
23
|
this.setupCharacteristic(CharacteristicKey.SecuritySystemTargetState, Characteristic.SecuritySystemTargetState.DISARM, 'topicGetTargetSecurityState', this.onTargetStateUpdate.bind(this), true, 'topicSetTargetSecurityState', this.onSetTargetState.bind(this))?.setProps({ validValues: validTargetStates.map((key) => this.STATE_MAP.get(key)) });
|
|
24
|
-
this.setupCharacteristic(CharacteristicKey.StatusTampered, 0, 'topicGetStatusTampered', this.bindOnUpdateNumericBoolean(CharacteristicKey.StatusTampered, 'valueTampered', strings.
|
|
25
|
-
this.setupCharacteristic(CharacteristicKey.StatusFault, 0, 'topicGetStatusFault', this.bindOnUpdateNumericBoolean(CharacteristicKey.StatusFault, 'valueFault', strings.
|
|
24
|
+
this.setupCharacteristic(CharacteristicKey.StatusTampered, 0, 'topicGetStatusTampered', this.bindOnUpdateNumericBoolean(CharacteristicKey.StatusTampered, 'valueTampered', strings.error.isTampered, strings.error.notTampered), false);
|
|
25
|
+
this.setupCharacteristic(CharacteristicKey.StatusFault, 0, 'topicGetStatusFault', this.bindOnUpdateNumericBoolean(CharacteristicKey.StatusFault, 'valueFault', strings.error.hasFault, strings.error.noFault), false);
|
|
26
26
|
}
|
|
27
27
|
getAccessoryService() {
|
|
28
28
|
return this.accessory.getService(this.Service.SecuritySystem) || this.accessory.addService(this.Service.SecuritySystem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EAAO,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,OAAO,uBAAwB,SAAQ,aAAmC;IAE7D,SAAS,CAA0C;IAEpE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA4B,EAAE,GAAQ;QACxI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC;YACvB,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACpE,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACpE,CAAC,eAAe,EAAE,cAAc,CAAC,0BAA0B,CAAC,SAAS,CAAC;YACtE,CAAC,aAAa,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACnE,CAAC,qBAAqB,EAAE,cAAc,CAAC,0BAA0B,CAAC,eAAe,CAAC;SACnF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QACzH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,EACvH,8BAA8B,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAC3E,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAExF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;QAE5F,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,cAAc,CAAC,yBAAyB,CAAC,MAAM,EACnH,6BAA6B,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EACxE,6BAA6B,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,EAAE,wBAAwB,EACpF,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, CO2SensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class CO2SensorAccessory extends SensorAccessory<CO2SensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: CO2SensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SensorAccessory } from './sensor.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey } from '../../model/enums.js';
|
|
4
|
+
export class CO2SensorAccessory extends SensorAccessory {
|
|
5
|
+
constructor(Service, Characteristic, accessory, config, log) {
|
|
6
|
+
super(Service, Characteristic, accessory, config, log);
|
|
7
|
+
this.setupCharacteristic(CharacteristicKey.CarbonDioxideDetected, 0, 'topicGetCarbonDioxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonDioxideDetected, 'valueCarbonDioxideDetected', strings.sensor.carbonDioxide.active, strings.sensor.carbonDioxide.inactive), true);
|
|
8
|
+
this.setupCharacteristic(CharacteristicKey.CarbonDioxideLevel, 0, 'topicGetCarbonDioxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxideLevel, strings.sensor.carbonDioxide.level), false);
|
|
9
|
+
this.setupCharacteristic(CharacteristicKey.CarbonDioxidePeakLevel, 0, 'topicGetCarbonDioxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxidePeakLevel, strings.sensor.carbonDioxide.peakLevel), false);
|
|
10
|
+
}
|
|
11
|
+
getAccessoryService() {
|
|
12
|
+
return this.accessory.getService(this.Service.CarbonDioxideSensor) || this.accessory.addService(this.Service.CarbonDioxideSensor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=carbonDioxide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carbonDioxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonDioxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,OAAO,kBAAmB,SAAQ,eAAgC;IAEtE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAuB,EAAE,GAAQ;QACnI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,EAAE,+BAA+B,EAClG,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,qBAAqB,EACvC,4BAA4B,EAC5B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC7E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAC9D,4BAA4B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3I,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EAClE,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACzJ,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpI,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, COSensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class COSensorAccessory extends SensorAccessory<COSensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: COSensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SensorAccessory } from './sensor.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey } from '../../model/enums.js';
|
|
4
|
+
export class COSensorAccessory extends SensorAccessory {
|
|
5
|
+
constructor(Service, Characteristic, accessory, config, log) {
|
|
6
|
+
super(Service, Characteristic, accessory, config, log);
|
|
7
|
+
this.setupCharacteristic(CharacteristicKey.CarbonMonoxideDetected, 0, 'topicGetCarbonMonoxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonMonoxideDetected, 'valueCarbonMonoxideDetected', strings.sensor.carbonMonoxide.active, strings.sensor.carbonMonoxide.inactive), true);
|
|
8
|
+
this.setupCharacteristic(CharacteristicKey.CarbonMonoxideLevel, 0, 'topicGetCarbonMonoxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxideLevel, strings.sensor.carbonMonoxide.level), false);
|
|
9
|
+
this.setupCharacteristic(CharacteristicKey.CarbonMonoxidePeakLevel, 0, 'topicGetCarbonMonoxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxidePeakLevel, strings.sensor.carbonMonoxide.peakLevel), false);
|
|
10
|
+
}
|
|
11
|
+
getAccessoryService() {
|
|
12
|
+
return this.accessory.getService(this.Service.CarbonMonoxideSensor) || this.accessory.addService(this.Service.CarbonMonoxideSensor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=carbonMonoxide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carbonMonoxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonMonoxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,OAAO,iBAAkB,SAAQ,eAA+B;IAEpE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAsB,EAAE,GAAQ;QAClI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EAAE,gCAAgC,EACpG,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,sBAAsB,EACxC,6BAA6B,EAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC/E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,EAC/D,6BAA6B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9I,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EACnE,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5J,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtI,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, ContactSensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class ContactSensorAccessory extends SensorAccessory<ContactSensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: ContactSensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
private onContactStateUpdate;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SensorAccessory } from './sensor.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey } from '../../model/enums.js';
|
|
4
|
+
export class ContactSensorAccessory extends SensorAccessory {
|
|
5
|
+
constructor(Service, Characteristic, accessory, config, log) {
|
|
6
|
+
super(Service, Characteristic, accessory, config, log);
|
|
7
|
+
this.setupCharacteristic(CharacteristicKey.ContactSensorState, 0, 'topicGetContactSensorState', this.onContactStateUpdate.bind(this), true);
|
|
8
|
+
}
|
|
9
|
+
getAccessoryService() {
|
|
10
|
+
return this.accessory.getService(this.Service.ContactSensor) || this.accessory.addService(this.Service.ContactSensor);
|
|
11
|
+
}
|
|
12
|
+
async onContactStateUpdate(topic, value) {
|
|
13
|
+
const numeric = value === this.getPrimitiveValue('valueContactDetected') ? 0 : 1;
|
|
14
|
+
this.onUpdate(CharacteristicKey.ContactSensorState, numeric, numeric ? strings.sensor.contact.inactive : strings.sensor.contact.active);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../src/accessory/sensor/contact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,OAAO,sBAAuB,SAAQ,eAAoC;IAE9E,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA2B,EAAE,GAAQ;QACvI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAC9D,4BAA4B,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAqB;QACrE,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1I,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, HumiditySensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class HumiditySensorAccessory extends SensorAccessory<HumiditySensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: HumiditySensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SensorAccessory } from './sensor.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey } from '../../model/enums.js';
|
|
4
|
+
export class HumiditySensorAccessory extends SensorAccessory {
|
|
5
|
+
constructor(Service, Characteristic, accessory, config, log) {
|
|
6
|
+
super(Service, Characteristic, accessory, config, log);
|
|
7
|
+
this.setupCharacteristic(CharacteristicKey.CurrentRelativeHumidity, 0, 'topicGetCurrentRelativeHumidity', this.bindOnUpdateNumeric(CharacteristicKey.CurrentRelativeHumidity, strings.sensor.humidity.update), true);
|
|
8
|
+
}
|
|
9
|
+
getAccessoryService() {
|
|
10
|
+
return this.accessory.getService(this.Service.HumiditySensor) || this.accessory.addService(this.Service.HumiditySensor);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=humidity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humidity.js","sourceRoot":"","sources":["../../../src/accessory/sensor/humidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,OAAO,uBAAwB,SAAQ,eAAqC;IAEhF,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA4B,EAAE,GAAQ;QACxI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EAAE,iCAAiC,EACtG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/G,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1H,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, LeakSensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class LeakSensorAccessory extends SensorAccessory<LeakSensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: LeakSensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SensorAccessory } from './sensor.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey } from '../../model/enums.js';
|
|
4
|
+
export class LeakSensorAccessory extends SensorAccessory {
|
|
5
|
+
constructor(Service, Characteristic, accessory, config, log) {
|
|
6
|
+
super(Service, Characteristic, accessory, config, log);
|
|
7
|
+
this.setupCharacteristic(CharacteristicKey.LeakDetected, 0, 'topicGetLeakDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.LeakDetected, 'valueLeakDetected', strings.sensor.leak.active, strings.sensor.leak.inactive), true);
|
|
8
|
+
}
|
|
9
|
+
getAccessoryService() {
|
|
10
|
+
return this.accessory.getService(this.Service.LeakSensor) || this.accessory.addService(this.Service.LeakSensor);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=leak.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leak.js","sourceRoot":"","sources":["../../../src/accessory/sensor/leak.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,OAAO,mBAAoB,SAAQ,eAAiC;IAExE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAwB,EAAE,GAAQ;QACpI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,sBAAsB,EAChF,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,YAAY,EAC9B,mBAAmB,EACnB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3D,IAAI,CAAC,CAAC;IACV,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClH,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
+
import { SensorAccessory } from './sensor.js';
|
|
3
|
+
import { CharacteristicType, MotionSensorConfig, ServiceType } from '../../model/types.js';
|
|
4
|
+
import { Log } from '../../tools/log.js';
|
|
5
|
+
export declare class MotionSensorAccessory extends SensorAccessory<MotionSensorConfig> {
|
|
6
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: MotionSensorConfig, log: Log);
|
|
7
|
+
protected getAccessoryService(): Service;
|
|
8
|
+
}
|