homebridge-easy-mqtt 1.4.0-beta.15 → 1.4.0-beta.17
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 +4 -7
- package/README.md +20 -0
- package/config.schema.json +191 -4
- package/dist/accessory/abstract/common.d.ts +1 -1
- package/dist/accessory/abstract/common.js +2 -1
- package/dist/accessory/abstract/common.js.map +1 -1
- package/dist/accessory/abstract/helper.js +5 -2
- package/dist/accessory/abstract/helper.js.map +1 -1
- package/dist/accessory/addons/filter.js +2 -2
- package/dist/accessory/addons/filter.js.map +1 -1
- package/dist/accessory/climate/{fan.d.ts → fan2.d.ts} +3 -3
- package/dist/accessory/climate/{fan.js → fan2.js} +19 -19
- package/dist/accessory/climate/fan2.js.map +1 -0
- package/dist/accessory/climate/purifier.js +1 -1
- package/dist/accessory/climate/purifier.js.map +1 -1
- package/dist/accessory/climate/thermostat.js +3 -3
- package/dist/accessory/climate/thermostat.js.map +1 -1
- package/dist/accessory/sensor/air.d.ts +14 -0
- package/dist/accessory/sensor/air.js +94 -0
- package/dist/accessory/sensor/air.js.map +1 -0
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/i18n/en.d.ts +32 -2
- package/dist/i18n/en.js +32 -2
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts +32 -2
- package/dist/i18n/i18n.d.ts +32 -2
- package/dist/i18n/ro.d.ts +32 -2
- package/dist/i18n/template.d.ts +32 -2
- package/dist/model/enums.d.ts +9 -1
- package/dist/model/enums.js +8 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +16 -1
- package/package.json +1 -1
- package/dist/accessory/climate/fan.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.4.0-beta.
|
|
5
|
+
## 1.4.0-beta.16 (2025-09-26)
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
-
-
|
|
9
|
-
- MQTT options JSON can now also include publish options, such as `retain`
|
|
8
|
+
- `Air Purifier`, `Air Quality Sensor`, `Fanv2`, `GarageDoorOpener`, `HeaterCooler`, `LightSensor`, and `Valve`
|
|
10
9
|
- Broker, username, and password can be set via environment variables ([documentation](https://github.com/mpatfield/homebridge-easy-mqtt#environment-variables))
|
|
11
10
|
- Publish arbitrary MQTT messages on connect ([documentation] (https://github.com/mpatfield/homebridge-easy-mqtt#mqtt-onconnect))
|
|
12
11
|
- Traduceri în limba română. Mulțumesc, [@rursache](https://github.com/sponsors/rursache)!
|
|
@@ -14,13 +13,11 @@ All notable changes to homebridge-dummy will be documented in this file.
|
|
|
14
13
|
### Changed
|
|
15
14
|
- ⚠️ All accessory states are now saved across plugin/Homebridge restarts
|
|
16
15
|
- If you want to keep the old behavior, select the `Reset on Restart` option for each accessory you want to reset
|
|
16
|
+
- MQTT `options` JSON can now also include publish options, such as `retain`, in addition to client options
|
|
17
17
|
- Optimized MQTT connections by sharing across multiple accessories when possible
|
|
18
|
-
- Previously, every accessory had its own connection
|
|
18
|
+
- Previously, every accessory always had its own connection
|
|
19
19
|
- Better field validation in config UI (Thank you, [@justjam2013](https://github.com/sponsors/justjam2013) for teaching me this!)
|
|
20
20
|
|
|
21
|
-
### Fixed
|
|
22
|
-
- Config UI rendering issue when migrating deprecated fields
|
|
23
|
-
|
|
24
21
|
### Notes
|
|
25
22
|
Would you like to see Homebridge Easy MQTT in your language? Please consider [getting involved](https://github.com/mpatfield/homebridge-easy-mqtt/issues/4). No coding experience required!
|
|
26
23
|
|
package/README.md
CHANGED
|
@@ -26,6 +26,7 @@ This plugin is designed to be a simple replacement for the fantastic [homebridge
|
|
|
26
26
|
**HomebridgeEasyMQTT** currently supports the following accessory types but will be expanded over time as more use cases are requested. If there is an accessory type you'd like to see supported, please [create an issue in GitHub](https://github.com/mpatfield/homebridge-easy-mqtt/issues/new/choose).
|
|
27
27
|
|
|
28
28
|
- `AirPurifier`
|
|
29
|
+
- `AirQualitySensor`
|
|
29
30
|
- `CarbonDioxideSensor`
|
|
30
31
|
- `CarbonMonoxideSensor`
|
|
31
32
|
- `ContactSensor`
|
|
@@ -176,6 +177,25 @@ These values are used for both determining current state and, where appropriate,
|
|
|
176
177
|
|
|
177
178
|
### Sensors
|
|
178
179
|
|
|
180
|
+
#### AirQualitySensor
|
|
181
|
+
- `topicGetAirQuality*` - Get air quality
|
|
182
|
+
- `topicGetNitrogenDioxideDensity` - Get nitrogen dioxide density in µg/m³
|
|
183
|
+
- `topicGetOzoneDensity` - Get ozone density in µg/m³
|
|
184
|
+
- `topicGetPM2_5Density` - Get PM2.5 density in µg/m³
|
|
185
|
+
- `topicGetPM10Density` - Get PM10 density in µg/m³
|
|
186
|
+
- `topicGetSulphurDioxideDensity` - Get sulphur dioxide density in µg/m³
|
|
187
|
+
- `topicGetVOCDensity` - Get VOC density in µg/m³
|
|
188
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
189
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
190
|
+
- `valueAQExcellent` - Air quality excellent
|
|
191
|
+
- `valueAQGood` - Air quality good
|
|
192
|
+
- `valueAQFair` - Air quality fair
|
|
193
|
+
- `valueAQInferior` - Air quality inferior
|
|
194
|
+
- `valueAQPoor` - Air quality poor
|
|
195
|
+
- `valueAQUnknown` - Air quality unknown
|
|
196
|
+
- `valueFault` - Accessory has a fault
|
|
197
|
+
- `valueTampered` - Accessory has been tampered with
|
|
198
|
+
|
|
179
199
|
#### CarbonDioxideSensor
|
|
180
200
|
- `topicGetCarbonDioxideDetected*` - Whether or not the sensor has detected carbon dioxide
|
|
181
201
|
- `topicGetCarbonDioxideLevel` - The current carbon dioxide level
|
package/config.schema.json
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"type": {
|
|
22
22
|
"type": "string",
|
|
23
23
|
"title": "${config.title.type}",
|
|
24
|
-
"enum": [ "AirPurifier", "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "Fanv2", "GarageDoorOpener", "HeaterCooler", "HumiditySensor", "LeakSensor", "Lightbulb", "LightSensor", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "Switch", "TemperatureSensor", "Thermostat", "Valve"],
|
|
25
|
-
"enumNames": ["${config.enumNames.airPurifier}", "${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.
|
|
24
|
+
"enum": [ "AirPurifier", "AirQualitySensor", "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "Fanv2", "GarageDoorOpener", "HeaterCooler", "HumiditySensor", "LeakSensor", "Lightbulb", "LightSensor", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "Switch", "TemperatureSensor", "Thermostat", "Valve"],
|
|
25
|
+
"enumNames": ["${config.enumNames.airPurifier}", "${config.enumNames.airQualitySensor}", "${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.fanv2}", "${config.enumNames.garageDoorOpener}", "${config.enumNames.heaterCooler}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lightSensor}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}", "${config.enumNames.thermostat}", "${config.enumNames.valve}"],
|
|
26
26
|
"required": true
|
|
27
27
|
},
|
|
28
28
|
"group": {
|
|
@@ -458,6 +458,34 @@
|
|
|
458
458
|
"type": "string",
|
|
459
459
|
"title": "${config.title.topicSetTargetFanState}"
|
|
460
460
|
},
|
|
461
|
+
"topicGetAirQuality": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"title": "${config.title.topicGetAirQuality}"
|
|
464
|
+
},
|
|
465
|
+
"topicGetNitrogenDioxideDensity": {
|
|
466
|
+
"type": "string",
|
|
467
|
+
"title": "${config.title.topicGetNitrogenDioxideDensity}"
|
|
468
|
+
},
|
|
469
|
+
"topicGetOzoneDensity": {
|
|
470
|
+
"type": "string",
|
|
471
|
+
"title": "${config.title.topicGetOzoneDensity}"
|
|
472
|
+
},
|
|
473
|
+
"topicGetPM10Density": {
|
|
474
|
+
"type": "string",
|
|
475
|
+
"title": "${config.title.topicGetPM10Density}"
|
|
476
|
+
},
|
|
477
|
+
"topicGetPM2_5Density": {
|
|
478
|
+
"type": "string",
|
|
479
|
+
"title": "${config.title.topicGetPM2_5Density}"
|
|
480
|
+
},
|
|
481
|
+
"topicGetSulphurDioxideDensity": {
|
|
482
|
+
"type": "string",
|
|
483
|
+
"title": "${config.title.topicGetSulphurDioxideDensity}"
|
|
484
|
+
},
|
|
485
|
+
"topicGetVOCDensity": {
|
|
486
|
+
"type": "string",
|
|
487
|
+
"title": "${config.title.topicGetVOCDensity}"
|
|
488
|
+
},
|
|
461
489
|
"valueBatteryLow": {
|
|
462
490
|
"type": "string",
|
|
463
491
|
"title": "${config.title.valueBatteryLow}"
|
|
@@ -666,6 +694,30 @@
|
|
|
666
694
|
"type": "string",
|
|
667
695
|
"title": "${config.title.valueModeBlowing}"
|
|
668
696
|
},
|
|
697
|
+
"valueAQExcellent": {
|
|
698
|
+
"type": "string",
|
|
699
|
+
"title": "${config.title.valueAQExcellent}"
|
|
700
|
+
},
|
|
701
|
+
"valueAQFair": {
|
|
702
|
+
"type": "string",
|
|
703
|
+
"title": "${config.title.valueAQFair}"
|
|
704
|
+
},
|
|
705
|
+
"valueAQGood": {
|
|
706
|
+
"type": "string",
|
|
707
|
+
"title": "${config.title.valueAQGood}"
|
|
708
|
+
},
|
|
709
|
+
"valueAQInferior": {
|
|
710
|
+
"type": "string",
|
|
711
|
+
"title": "${config.title.valueAQInferior}"
|
|
712
|
+
},
|
|
713
|
+
"valueAQPoor": {
|
|
714
|
+
"type": "string",
|
|
715
|
+
"title": "${config.title.valueAQPoor}"
|
|
716
|
+
},
|
|
717
|
+
"valueAQUnknown": {
|
|
718
|
+
"type": "string",
|
|
719
|
+
"title": "${config.title.valueAQUnknown}"
|
|
720
|
+
},
|
|
669
721
|
"resetOnRestart": {
|
|
670
722
|
"type": "boolean",
|
|
671
723
|
"title": "${config.title.resetOnRestart}"
|
|
@@ -692,6 +744,29 @@
|
|
|
692
744
|
"required": ["topicGetOn", "topicSetOn", "valueOn", "valueOff"]
|
|
693
745
|
}
|
|
694
746
|
},
|
|
747
|
+
{
|
|
748
|
+
"if": {
|
|
749
|
+
"properties": {
|
|
750
|
+
"info": {
|
|
751
|
+
"properties": {
|
|
752
|
+
"type" : {
|
|
753
|
+
"const": "AirQualitySensor"
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
},
|
|
759
|
+
"then": {
|
|
760
|
+
"required": ["topicGetAirQuality"],
|
|
761
|
+
"anyOf": [
|
|
762
|
+
{ "required": ["valueAQExcellent"] },
|
|
763
|
+
{ "required": ["valueAQFair"] },
|
|
764
|
+
{ "required": ["valueAQGood"] },
|
|
765
|
+
{ "required": ["valueAQInferior"] },
|
|
766
|
+
{ "required": ["valueAQPoor"] }
|
|
767
|
+
]
|
|
768
|
+
}
|
|
769
|
+
},
|
|
695
770
|
{
|
|
696
771
|
"if": {
|
|
697
772
|
"properties": {
|
|
@@ -1792,6 +1867,71 @@
|
|
|
1792
1867
|
}
|
|
1793
1868
|
]
|
|
1794
1869
|
},
|
|
1870
|
+
{
|
|
1871
|
+
"type": "fieldset",
|
|
1872
|
+
"notitle": true,
|
|
1873
|
+
"condition": {
|
|
1874
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'AirQualitySensor';"
|
|
1875
|
+
},
|
|
1876
|
+
"items": [
|
|
1877
|
+
{
|
|
1878
|
+
"type": "div",
|
|
1879
|
+
"displayFlex": true,
|
|
1880
|
+
"flex-direction": "row",
|
|
1881
|
+
"items": [
|
|
1882
|
+
{
|
|
1883
|
+
"key": "accessories[].topicGetAirQuality",
|
|
1884
|
+
"flex": "0 0 50%"
|
|
1885
|
+
}
|
|
1886
|
+
]
|
|
1887
|
+
},
|
|
1888
|
+
{
|
|
1889
|
+
"type": "div",
|
|
1890
|
+
"displayFlex": true,
|
|
1891
|
+
"flex-direction": "row",
|
|
1892
|
+
"items": [
|
|
1893
|
+
{
|
|
1894
|
+
"key": "accessories[].topicGetNitrogenDioxideDensity",
|
|
1895
|
+
"flex": "0 0 50%"
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
"key": "accessories[].topicGetOzoneDensity",
|
|
1899
|
+
"flex": "0 0 50%"
|
|
1900
|
+
}
|
|
1901
|
+
]
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
"type": "div",
|
|
1905
|
+
"displayFlex": true,
|
|
1906
|
+
"flex-direction": "row",
|
|
1907
|
+
"items": [
|
|
1908
|
+
{
|
|
1909
|
+
"key": "accessories[].topicGetPM2_5Density",
|
|
1910
|
+
"flex": "0 0 50%"
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
"key": "accessories[].topicGetPM10Density",
|
|
1914
|
+
"flex": "0 0 50%"
|
|
1915
|
+
}
|
|
1916
|
+
]
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"type": "div",
|
|
1920
|
+
"displayFlex": true,
|
|
1921
|
+
"flex-direction": "row",
|
|
1922
|
+
"items": [
|
|
1923
|
+
{
|
|
1924
|
+
"key": "accessories[].topicGetSulphurDioxideDensity",
|
|
1925
|
+
"flex": "0 0 50%"
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
"key": "accessories[].topicGetVOCDensity",
|
|
1929
|
+
"flex": "0 0 50%"
|
|
1930
|
+
}
|
|
1931
|
+
]
|
|
1932
|
+
}
|
|
1933
|
+
]
|
|
1934
|
+
},
|
|
1795
1935
|
{
|
|
1796
1936
|
"type": "fieldset",
|
|
1797
1937
|
"notitle": true,
|
|
@@ -2415,7 +2555,7 @@
|
|
|
2415
2555
|
"type": "fieldset",
|
|
2416
2556
|
"notitle": true,
|
|
2417
2557
|
"condition": {
|
|
2418
|
-
"functionBody": "return ['AirPurifier', 'Fanv2, 'HeaterCooler'].includes(model.accessories?.[arguments[1]]?.info?.type);"
|
|
2558
|
+
"functionBody": "return ['AirPurifier', 'Fanv2', 'HeaterCooler'].includes(model.accessories?.[arguments[1]]?.info?.type);"
|
|
2419
2559
|
},
|
|
2420
2560
|
"items": [
|
|
2421
2561
|
{
|
|
@@ -2562,7 +2702,7 @@
|
|
|
2562
2702
|
"type": "fieldset",
|
|
2563
2703
|
"notitle": true,
|
|
2564
2704
|
"condition": {
|
|
2565
|
-
"functionBody": "return ['AirPurifier', 'Fanv2, 'HeaterCooler'].includes(model.accessories?.[arguments[1]]?.info?.type);"
|
|
2705
|
+
"functionBody": "return ['AirPurifier', 'Fanv2', 'HeaterCooler'].includes(model.accessories?.[arguments[1]]?.info?.type);"
|
|
2566
2706
|
},
|
|
2567
2707
|
"items": [
|
|
2568
2708
|
{
|
|
@@ -2860,6 +3000,53 @@
|
|
|
2860
3000
|
}
|
|
2861
3001
|
]
|
|
2862
3002
|
},
|
|
3003
|
+
{
|
|
3004
|
+
"type": "fieldset",
|
|
3005
|
+
"notitle": true,
|
|
3006
|
+
"condition": {
|
|
3007
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'AirQualitySensor';"
|
|
3008
|
+
},
|
|
3009
|
+
"items": [
|
|
3010
|
+
{
|
|
3011
|
+
"type": "div",
|
|
3012
|
+
"displayFlex": true,
|
|
3013
|
+
"flex-direction": "row",
|
|
3014
|
+
"items": [
|
|
3015
|
+
{
|
|
3016
|
+
"key": "accessories[].valueAQExcellent",
|
|
3017
|
+
"flex": "0 0 25%"
|
|
3018
|
+
},
|
|
3019
|
+
{
|
|
3020
|
+
"key": "accessories[].valueAQGood",
|
|
3021
|
+
"flex": "0 0 25%"
|
|
3022
|
+
},
|
|
3023
|
+
{
|
|
3024
|
+
"key": "accessories[].valueAQFair",
|
|
3025
|
+
"flex": "0 0 25%"
|
|
3026
|
+
}
|
|
3027
|
+
]
|
|
3028
|
+
},
|
|
3029
|
+
{
|
|
3030
|
+
"type": "div",
|
|
3031
|
+
"displayFlex": true,
|
|
3032
|
+
"flex-direction": "row",
|
|
3033
|
+
"items": [
|
|
3034
|
+
{
|
|
3035
|
+
"key": "accessories[].valueAQInferior",
|
|
3036
|
+
"flex": "0 0 25%"
|
|
3037
|
+
},
|
|
3038
|
+
{
|
|
3039
|
+
"key": "accessories[].valueAQPoor",
|
|
3040
|
+
"flex": "0 0 25%"
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
"key": "accessories[].valueAQUnknown",
|
|
3044
|
+
"flex": "0 0 25%"
|
|
3045
|
+
}
|
|
3046
|
+
]
|
|
3047
|
+
}
|
|
3048
|
+
]
|
|
3049
|
+
},
|
|
2863
3050
|
{
|
|
2864
3051
|
"type": "div",
|
|
2865
3052
|
"displayFlex": true,
|
|
@@ -28,7 +28,7 @@ export declare abstract class Common<C extends Assertable> {
|
|
|
28
28
|
protected getRawValue(property: keyof C, assert?: boolean): string | undefined;
|
|
29
29
|
protected getPrimitiveValue(property: keyof C, assert?: boolean): PrimitiveTypes | undefined;
|
|
30
30
|
protected addTopicHandlers(topicHandlers: TopicHandler[]): void;
|
|
31
|
-
protected setupCharacteristic(characteristicKey: CharacteristicKey, defaultValue: CharacteristicValue, getTopicKey: keyof C, onUpdateHandler: OnUpdateHandler, assertGetTopic
|
|
31
|
+
protected setupCharacteristic(characteristicKey: CharacteristicKey, defaultValue: CharacteristicValue, getTopicKey: keyof C, onUpdateHandler: OnUpdateHandler, assertGetTopic: boolean, setTopicKey?: keyof C | undefined, onSetHandler?: CharacteristicSetHandler | undefined): Characteristic | undefined;
|
|
32
32
|
private setupCharacteristicOnGet;
|
|
33
33
|
protected setupCharacteristicOnSet(characteristicKey: CharacteristicKey, setTopicKey?: keyof C | undefined, onSetHandler?: CharacteristicSetHandler | undefined): void;
|
|
34
34
|
protected bindOnUpdateNumeric(charKey: CharacteristicKey, logTemplate: string): OnUpdateHandler;
|
|
@@ -37,12 +37,13 @@ export class Common {
|
|
|
37
37
|
addTopicHandlers(topicHandlers) {
|
|
38
38
|
this.topicHandlers.push(...topicHandlers);
|
|
39
39
|
}
|
|
40
|
-
setupCharacteristic(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic
|
|
40
|
+
setupCharacteristic(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic, setTopicKey = undefined, onSetHandler = undefined) {
|
|
41
41
|
const characteristic = this.setupCharacteristicOnGet(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic);
|
|
42
42
|
if (!characteristic) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
this.setupCharacteristicOnSet(characteristicKey, setTopicKey, onSetHandler);
|
|
46
|
+
return characteristic;
|
|
46
47
|
}
|
|
47
48
|
setupCharacteristicOnGet(characteristicKey, defaultValue, getTopicKey, onUpdateHandler, assertGetTopic = false) {
|
|
48
49
|
if (!getTopicKey.toString().startsWith('topic')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAqB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,EAAO,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAc,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAOvD,MAAM,OAAgB,MAAM;IAOR;IALV,WAAW,GAA2B,SAAS,CAAC;IAExC,aAAa,GAAmB,EAAE,CAAC;IAEnD,YACkB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAeJ,IAAc,UAAU;QAEtB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAES,MAAM,CAAC,GAAG,IAAiB;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAES,WAAW,CAAC,QAAiB,EAAE,SAAkB,IAAI;QAE7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,wDAAwD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAuB,CAAC;IACrD,CAAC;IAES,iBAAiB,CAAC,QAAiB,EAAE,SAAkB,IAAI;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAES,gBAAgB,CAAC,aAA6B;QACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAC5C,CAAC;IAES,mBAAmB,CAC3B,iBAAoC,EAAE,YAAiC,EACvE,WAAoB,EAAE,eAAgC,EAAE,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@ import { AccessoryType } from '../../model/enums.js';
|
|
|
3
3
|
import { GarageDoorAccessory } from '../garage.js';
|
|
4
4
|
import { LockMechanismAccessory } from '../lock.js';
|
|
5
5
|
import { SecuritySystemAccessory } from '../security.js';
|
|
6
|
+
import { FanV2Accessory } from '../climate/fan2.js';
|
|
6
7
|
import { HeaterCoolerAccessory } from '../climate/heaterCooler.js';
|
|
7
8
|
import { PurifierAccessory } from '../climate/purifier.js';
|
|
8
9
|
import { ThermostatAccessory } from '../climate/thermostat.js';
|
|
9
10
|
import { LightbulbAccessory } from '../onoff/lightbulb.js';
|
|
10
11
|
import { OutletAccessory } from '../onoff/outlet.js';
|
|
11
12
|
import { SwitchAccessory } from '../onoff/switch.js';
|
|
13
|
+
import { AirSensorAccessory } from '../sensor/air.js';
|
|
12
14
|
import { CO2SensorAccessory } from '../sensor/carbonDioxide.js';
|
|
13
15
|
import { COSensorAccessory } from '../sensor/carbonMonoxide.js';
|
|
14
16
|
import { ContactSensorAccessory } from '../sensor/contact.js';
|
|
@@ -21,7 +23,6 @@ import { SmokeSensorAccessory } from '../sensor/smoke.js';
|
|
|
21
23
|
import { TemperatureSensorAccessory } from '../sensor/temperature.js';
|
|
22
24
|
import { ValveAccessory } from '../valve.js';
|
|
23
25
|
import { PLUGIN_NAME } from '../../homebridge/settings.js';
|
|
24
|
-
import { FanAccessory } from '../climate/fan.js';
|
|
25
26
|
export function createIdentifier(info) {
|
|
26
27
|
return info.id ?? `${PLUGIN_NAME}:${info.type}:${info.name}`;
|
|
27
28
|
}
|
|
@@ -29,6 +30,8 @@ export function createAccessory(Service, Characteristic, platformAccessory, acce
|
|
|
29
30
|
switch (accessoryConfig.info.type) {
|
|
30
31
|
case AccessoryType.AirPurifier:
|
|
31
32
|
return new PurifierAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
33
|
+
case AccessoryType.AirQualitySensor:
|
|
34
|
+
return new AirSensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
32
35
|
case AccessoryType.CarbonDioxideSensor:
|
|
33
36
|
return new CO2SensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
34
37
|
case AccessoryType.CarbonMonoxideSensor:
|
|
@@ -36,7 +39,7 @@ export function createAccessory(Service, Characteristic, platformAccessory, acce
|
|
|
36
39
|
case AccessoryType.ContactSensor:
|
|
37
40
|
return new ContactSensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
38
41
|
case AccessoryType.Fanv2:
|
|
39
|
-
return new
|
|
42
|
+
return new FanV2Accessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
40
43
|
case AccessoryType.GarageDoorOpener:
|
|
41
44
|
return new GarageDoorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
42
45
|
case AccessoryType.HeaterCooler:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ export class FilterMaintenance extends Addon {
|
|
|
10
10
|
}
|
|
11
11
|
constructor(service, parentAccessory, config) {
|
|
12
12
|
super(parentAccessory, service, config);
|
|
13
|
-
this.setupCharacteristic(CharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this));
|
|
14
|
-
this.setupCharacteristic(CharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(CharacteristicKey.FilterLifeLevel, strings.filter.level));
|
|
13
|
+
this.setupCharacteristic(CharacteristicKey.FilterChangeIndication, this.Characteristic.FilterChangeIndication.FILTER_OK, 'topicGetFilterChangeIndication', this.onChangeIndicationUpdate.bind(this), false);
|
|
14
|
+
this.setupCharacteristic(CharacteristicKey.FilterLifeLevel, 100, 'topicGetFilterLifeLevel', this.bindOnUpdateNumeric(CharacteristicKey.FilterLifeLevel, strings.filter.level), false);
|
|
15
15
|
this.setupCharacteristicOnSet(CharacteristicKey.ResetFilterIndication, 'topicResetFilterIndication', this.onResetIndication.bind(this));
|
|
16
16
|
}
|
|
17
17
|
async onChangeIndicationUpdate(topic, value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/accessory/addons/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,OAAO,iBAAkB,SAAQ,KAA8B;IAEnE,MAAM,CAAC,aAAa,CAClB,OAAoB,EACpB,eAAmD,EACnD,MAA+B;QAE/B,MAAM,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,iBAAiB,GACrB,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtH,OAAO,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,YACE,OAAgB,EAChB,eAAmD,EACnD,MAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACrH,gCAAgC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/accessory/addons/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,OAAO,iBAAkB,SAAQ,KAA8B;IAEnE,MAAM,CAAC,aAAa,CAClB,OAAoB,EACpB,eAAmD,EACnD,MAA+B;QAE/B,MAAM,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,iBAAiB,GACrB,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtH,OAAO,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,YACE,OAAgB,EAChB,eAAmD,EACnD,MAA+B;QAE/B,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EACrH,gCAAgC,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAErF,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAC7D,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAEvH,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1I,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,KAAqB;QAEzE,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,UAAU,CAAC,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7I,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { PlatformAccessory } from 'homebridge';
|
|
2
2
|
import { ActiveClimateAccessory } from './active.js';
|
|
3
3
|
import { AccessoryType } from '../../model/enums.js';
|
|
4
|
-
import { CharacteristicType, ServiceType,
|
|
4
|
+
import { CharacteristicType, ServiceType, FanV2Config } from '../../model/types.js';
|
|
5
5
|
import { Log } from '../../tools/log.js';
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class FanV2Accessory extends ActiveClimateAccessory<FanV2Config> {
|
|
7
7
|
private readonly CURRENT_STATE_MAP;
|
|
8
8
|
private readonly TARGET_STATE_MAP;
|
|
9
|
-
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config:
|
|
9
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: FanV2Config, log: Log, isGrouped: boolean);
|
|
10
10
|
protected getAccessoryType(): AccessoryType;
|
|
11
11
|
private onCurrentStateUpdate;
|
|
12
12
|
private onTargetStateUpdate;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ActiveClimateAccessory } from './active.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
3
|
import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
|
|
4
|
-
export class
|
|
4
|
+
export class FanV2Accessory extends ActiveClimateAccessory {
|
|
5
5
|
CURRENT_STATE_MAP;
|
|
6
6
|
TARGET_STATE_MAP;
|
|
7
7
|
constructor(Service, Characteristic, accessory, config, log, isGrouped) {
|
|
@@ -12,24 +12,24 @@ export class FanAccessory extends ActiveClimateAccessory {
|
|
|
12
12
|
['valueModeBlowing', Characteristic.CurrentFanState.BLOWING_AIR],
|
|
13
13
|
]);
|
|
14
14
|
this.TARGET_STATE_MAP = new Map([
|
|
15
|
-
['valueModeAuto', Characteristic.TargetFanState.AUTO],
|
|
16
15
|
['valueModeManual', Characteristic.TargetFanState.MANUAL],
|
|
16
|
+
['valueModeAuto', Characteristic.TargetFanState.AUTO],
|
|
17
17
|
]);
|
|
18
18
|
const validCurrentStates = Array.from(this.CURRENT_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
|
|
19
|
-
if (validCurrentStates.length === 0) {
|
|
20
|
-
this.log.error(strings.
|
|
19
|
+
if (config.topicGetCurrentFanState !== undefined && validCurrentStates.length === 0) {
|
|
20
|
+
this.log.error(strings.fanv2.noCurrentStateValues, this.name);
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
this.setupCharacteristic(CharacteristicKey.CurrentFanState, this.CURRENT_STATE_MAP.get(validCurrentStates[0]), 'topicGetCurrentFanState', this.onCurrentStateUpdate.bind(this), false)
|
|
24
24
|
?.setProps({ validValues: validCurrentStates.map((key) => this.CURRENT_STATE_MAP.get(key)) });
|
|
25
25
|
const validTargetStates = Array.from(this.TARGET_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
|
|
26
|
-
if (validTargetStates.length === 0) {
|
|
27
|
-
this.log.error(strings.
|
|
26
|
+
if (config.topicGetTargetFanState !== undefined && validTargetStates.length === 0) {
|
|
27
|
+
this.log.error(strings.fanv2.noTargetStateValues, this.name);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
this.setupCharacteristic(CharacteristicKey.TargetFanState, this.TARGET_STATE_MAP.get(validTargetStates[0]), 'topicGetTargetFanState', this.onTargetStateUpdate.bind(this), false, 'topicSetTargetFanState', this.onSetTargetState.bind(this))
|
|
31
31
|
?.setProps({ validValues: validTargetStates.map((key) => this.TARGET_STATE_MAP.get(key)) });
|
|
32
|
-
this.setupCharacteristic(CharacteristicKey.RotationDirection, Characteristic.RotationDirection.CLOCKWISE, 'topicGetRotationDirection', this.bindOnUpdateNumericBoolean(CharacteristicKey.RotationDirection, 'valueDirectionCounterClockwise', strings.
|
|
32
|
+
this.setupCharacteristic(CharacteristicKey.RotationDirection, Characteristic.RotationDirection.CLOCKWISE, 'topicGetRotationDirection', this.bindOnUpdateNumericBoolean(CharacteristicKey.RotationDirection, 'valueDirectionCounterClockwise', strings.fanv2.clockwise, strings.fanv2.counterClockwise), false, 'topicSetRotationDirection', this.onSetDirection.bind(this));
|
|
33
33
|
}
|
|
34
34
|
getAccessoryType() {
|
|
35
35
|
return AccessoryType.Fanv2;
|
|
@@ -60,7 +60,7 @@ export class FanAccessory extends ActiveClimateAccessory {
|
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
const clockwise = value === this.Characteristic.RotationDirection.CLOCKWISE;
|
|
63
|
-
const logString = clockwise ? strings.
|
|
63
|
+
const logString = clockwise ? strings.fanv2.setDirectionClockwise : strings.fanv2.setDirectionCounterClockwise;
|
|
64
64
|
const publish = clockwise ? this.config.valueDirectionClockwise : this.config.valueDirectionCounterClockwise;
|
|
65
65
|
this.onSet(CharacteristicKey.RotationDirection, value, publish, 'topicSetRotationDirection', logString);
|
|
66
66
|
}
|
|
@@ -72,7 +72,7 @@ export class FanAccessory extends ActiveClimateAccessory {
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
if (primative === undefined) {
|
|
75
|
-
this.log.error(strings.
|
|
75
|
+
this.log.error(strings.fanv2.badValue, this.name, `'${value}'`);
|
|
76
76
|
}
|
|
77
77
|
return primative;
|
|
78
78
|
}
|
|
@@ -85,7 +85,7 @@ export class FanAccessory extends ActiveClimateAccessory {
|
|
|
85
85
|
case this.getPrimitiveValue('valueModeBlowing', false):
|
|
86
86
|
return this.CURRENT_STATE_MAP.get('valueModeBlowing');
|
|
87
87
|
}
|
|
88
|
-
this.logIfDesired(strings.
|
|
88
|
+
this.logIfDesired(strings.fanv2.unknownValue, `'${value}'`);
|
|
89
89
|
}
|
|
90
90
|
toTargetCVState(value) {
|
|
91
91
|
switch (value) {
|
|
@@ -94,29 +94,29 @@ export class FanAccessory extends ActiveClimateAccessory {
|
|
|
94
94
|
case this.getPrimitiveValue('valueModeManual', false):
|
|
95
95
|
return this.TARGET_STATE_MAP.get('valueModeManual');
|
|
96
96
|
}
|
|
97
|
-
this.logIfDesired(strings.
|
|
97
|
+
this.logIfDesired(strings.fanv2.unknownValue, `'${value}'`);
|
|
98
98
|
}
|
|
99
99
|
stateStringForCurrentCV(state) {
|
|
100
100
|
switch (state) {
|
|
101
101
|
case this.Characteristic.CurrentFanState.INACTIVE:
|
|
102
|
-
return strings.
|
|
102
|
+
return strings.fanv2.stateInactive;
|
|
103
103
|
case this.Characteristic.CurrentFanState.IDLE:
|
|
104
|
-
return strings.
|
|
104
|
+
return strings.fanv2.stateIdle;
|
|
105
105
|
case this.Characteristic.CurrentFanState.BLOWING_AIR:
|
|
106
|
-
return strings.
|
|
106
|
+
return strings.fanv2.stateBlowing;
|
|
107
107
|
default:
|
|
108
|
-
return strings.
|
|
108
|
+
return strings.fanv2.stateUnknown;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
stateStringForTargetCV(state) {
|
|
112
112
|
switch (state) {
|
|
113
113
|
case this.Characteristic.TargetFanState.AUTO:
|
|
114
|
-
return strings.
|
|
114
|
+
return strings.fanv2.stateAuto;
|
|
115
115
|
case this.Characteristic.TargetFanState.MANUAL:
|
|
116
|
-
return strings.
|
|
116
|
+
return strings.fanv2.stateManual;
|
|
117
117
|
default:
|
|
118
|
-
return strings.
|
|
118
|
+
return strings.fanv2.stateUnknown;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=
|
|
122
|
+
//# sourceMappingURL=fan2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fan2.js","sourceRoot":"","sources":["../../../src/accessory/climate/fan2.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ export class PurifierAccessory extends ActiveClimateAccessory {
|
|
|
13
13
|
['valueModePurifying', Characteristic.CurrentAirPurifierState.PURIFYING_AIR],
|
|
14
14
|
]);
|
|
15
15
|
this.TARGET_STATE_MAP = new Map([
|
|
16
|
-
['valueModeAuto', Characteristic.TargetAirPurifierState.AUTO],
|
|
17
16
|
['valueModeManual', Characteristic.TargetAirPurifierState.MANUAL],
|
|
17
|
+
['valueModeAuto', Characteristic.TargetAirPurifierState.AUTO],
|
|
18
18
|
]);
|
|
19
19
|
const validCurrentStates = Array.from(this.CURRENT_STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
|
|
20
20
|
if (validCurrentStates.length === 0) {
|