[miio] add support Xiaomi Smart Air Purifier 4 Pro zhimi.airp.vb4 (#13941)

* [miio] add support Xiaomi Smart Air Purifier 4 Pro zhimi.airp.vb4

Adding support for the following models:
* Xiaomi Smart Air Purifier 4 Pro (modelId: zhimi.airp.vb4)
close

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
This commit is contained in:
Marcel 2023-01-07 11:19:12 +01:00 committed by GitHub
parent de8d78403e
commit c24ec070bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 888 additions and 0 deletions

View File

@ -525,6 +525,7 @@ Currently the miio binding supports more than 340 different models.
| Xiaomi Smart Air Purifier 4 Compact | miio:basic | [zhimi.airp.cpa4](#zhimi-airp-cpa4) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
| Mi Air Purifier 3C | miio:basic | [zhimi.airp.mb4a](#zhimi-airp-mb4a) | Yes | |
| Xiaomi Smart Air Purifier 4 | miio:basic | [zhimi.airp.mb5](#zhimi-airp-mb5) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
| Xiaomi Smart Air Purifier 4 Pro | miio:basic | [zhimi.airp.vb4](#zhimi-airp-vb4) | Yes | |
| Mi Air Purifier 2 (mini) | miio:basic | [zhimi.airpurifier.m1](#zhimi-airpurifier-m1) | Yes | |
| Mi Air Purifier 2 | miio:basic | [zhimi.airpurifier.m2](#zhimi-airpurifier-m2) | Yes | |
| Mi Air Purifier 2S | miio:basic | [zhimi.airpurifier.ma1](#zhimi-airpurifier-ma1) | Yes | |
@ -5056,6 +5057,40 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
| average_aqi | Number | Aqi - Average Aqi | |
| aqi_state | Number | Aqi - Aqi State | Value mapping `["0"="AQI-GOOD-L","1"="AQI-GOOD-H","2"="AQI-MID-L","3"="AQI-MID-H","4"="AQI-BAD-L","5"="AQI-BAD-H"]` |
### Xiaomi Smart Air Purifier 4 Pro (<a name="zhimi-airp-vb4">zhimi.airp.vb4</a>) Channels
| Channel | Type | Description | Comment |
|----------------------|----------------------|------------------------------------------|------------|
| actions | String | Actions | Value mapping `["air-purifier-toggle"="Air Purifier Toggle","filter-reset-filter-life"="Filter Reset Filter Life","custom-service-toggle-mode"="Custom Service Toggle Mode","custom-service-toggle-fan-level"="Custom Service Toggle Fan Level"]` |
| on | Switch | Air Purifier - Switch Status | |
| fault | Number | Air Purifier - Device Fault | Value mapping `["0"="No Faults","1"="Sensor PM Error","2"="Temp Error","3"="Hum Error","4"="No Filter"]` |
| mode | Number | Mode | Value mapping `["0"="Auto","1"="Sleep","2"="Favorite","3"="Manual"]` |
| fan_level | Number | Air Purifier - Fan Level | Value mapping `["1"="Level1","2"="Level2","3"="Level3"]` |
| anion | Switch | Air Purifier - Anion | |
| relative_humidity | Number:Dimensionless | Environment - Relative Humidity | |
| pm2_5_density | Number | Environment - PM2 5 Density | |
| temperature | Number:Temperature | Temperature | |
| pm10_density | Number | Environment - PM10 Density | |
| filter_life_level | Number:Dimensionless | Filter - Filter Life Level | |
| filter_used_time | Number:Time | Filter - Filter Used Time | |
| filter_left_time | Number:Time | Filter - Filter Left Time | |
| alarm | Switch | Alarm | |
| physical_controls_locked | Switch | Physical Control Locked | |
| brightness | Number | Brightness | Value mapping `["0"="Close","1"="Bright","2"="Brightest"]` |
| temperature_display_unit | Number | Temperature Display Unit | Value mapping `["1"="Celsius","2"="Fahrenheit"]` |
| motor_speed_rpm | Number | Motor Speed Rpm | |
| favorite_speed | Number | Favorite Speed | |
| motor_set_speed | Number | Motor Set Speed | |
| favorite_level | Number | Favorite Level | |
| bottom_door | Switch | Bottom Door | |
| reboot_cause | Number | Reboot Cause | Value mapping `["0"="REASON-HW-BOOT","1"="REASON-USER-REBOOT","2"="REASON-UPDATE","3"="REASON-WDT"]` |
| manual_level | Number | Manual Level | Value mapping `["1"="Level1","2"="Level2","3"="Level3"]` |
| country_code | Number | Country Code | Value mapping `["2"="EU","1"="US","82"="KR","886"="TW","66"="TH","44"="UK","91"="IN"]` |
| filter_used_debug | Number:Time | Filter Time - Filter Used Debug | |
| purify_volume | Number | Aqi - Purify Volume | |
| average_aqi | Number | Aqi - Average Aqi | |
| aqi_state | Number | Aqi - Aqi State | Value mapping `["0"="AQI-GOOD-L","1"="AQI-GOOD-H","2"="AQI-MID-L","3"="AQI-MID-H","4"="AQI-BAD-L","5"="AQI-BAD-H"]` |
### Mi Air Purifier 2 (mini) (<a name="zhimi-airpurifier-m1">zhimi.airpurifier.m1</a>) Channels
| Channel | Type | Description | Comment |
@ -11249,6 +11284,43 @@ Number average_aqi "Aqi - Average Aqi" (G_airp) {channel="miio:basic:airp:averag
Number aqi_state "Aqi - Aqi State" (G_airp) {channel="miio:basic:airp:aqi_state"}
```
### Xiaomi Smart Air Purifier 4 Pro (zhimi.airp.vb4) item file lines
note: Autogenerated example. Replace the id (airp) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
```
Group G_airp "Xiaomi Smart Air Purifier 4 Pro" <status>
String actions "Actions" (G_airp) {channel="miio:basic:airp:actions"}
Switch on "Air Purifier - Switch Status" (G_airp) {channel="miio:basic:airp:on"}
Number fault "Air Purifier - Device Fault" (G_airp) {channel="miio:basic:airp:fault"}
Number mode "Mode" (G_airp) {channel="miio:basic:airp:mode"}
Number fan_level "Air Purifier - Fan Level" (G_airp) {channel="miio:basic:airp:fan_level"}
Switch anion "Air Purifier - Anion" (G_airp) {channel="miio:basic:airp:anion"}
Number:Dimensionless relative_humidity "Environment - Relative Humidity" (G_airp) {channel="miio:basic:airp:relative_humidity"}
Number pm2_5_density "Environment - PM2 5 Density" (G_airp) {channel="miio:basic:airp:pm2_5_density"}
Number:Temperature temperature "Temperature" (G_airp) {channel="miio:basic:airp:temperature"}
Number pm10_density "Environment - PM10 Density" (G_airp) {channel="miio:basic:airp:pm10_density"}
Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_airp) {channel="miio:basic:airp:filter_life_level"}
Number:Time filter_used_time "Filter - Filter Used Time" (G_airp) {channel="miio:basic:airp:filter_used_time"}
Number:Time filter_left_time "Filter - Filter Left Time" (G_airp) {channel="miio:basic:airp:filter_left_time"}
Switch alarm "Alarm" (G_airp) {channel="miio:basic:airp:alarm"}
Switch physical_controls_locked "Physical Control Locked" (G_airp) {channel="miio:basic:airp:physical_controls_locked"}
Number brightness "Brightness" (G_airp) {channel="miio:basic:airp:brightness"}
Number temperature_display_unit "Temperature Display Unit" (G_airp) {channel="miio:basic:airp:temperature_display_unit"}
Number motor_speed_rpm "Motor Speed Rpm" (G_airp) {channel="miio:basic:airp:motor_speed_rpm"}
Number favorite_speed "Favorite Speed" (G_airp) {channel="miio:basic:airp:favorite_speed"}
Number motor_set_speed "Motor Set Speed" (G_airp) {channel="miio:basic:airp:motor_set_speed"}
Number favorite_level "Favorite Level" (G_airp) {channel="miio:basic:airp:favorite_level"}
Switch bottom_door "Bottom Door" (G_airp) {channel="miio:basic:airp:bottom_door"}
Number reboot_cause "Reboot Cause" (G_airp) {channel="miio:basic:airp:reboot_cause"}
Number manual_level "Manual Level" (G_airp) {channel="miio:basic:airp:manual_level"}
Number country_code "Country Code" (G_airp) {channel="miio:basic:airp:country_code"}
Number:Time filter_used_debug "Filter Time - Filter Used Debug" (G_airp) {channel="miio:basic:airp:filter_used_debug"}
Number purify_volume "Aqi - Purify Volume" (G_airp) {channel="miio:basic:airp:purify_volume"}
Number average_aqi "Aqi - Average Aqi" (G_airp) {channel="miio:basic:airp:average_aqi"}
Number aqi_state "Aqi - Aqi State" (G_airp) {channel="miio:basic:airp:aqi_state"}
```
### Mi Air Purifier 2 (mini) (zhimi.airpurifier.m1) item file lines
note: Autogenerated example. Replace the id (airpurifier) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.

View File

@ -391,6 +391,7 @@ public enum MiIoDevices {
ZHIMI_AIRP_CPA4("zhimi.airp.cpa4", "Xiaomi Smart Air Purifier 4 Compact", THING_TYPE_BASIC),
ZHIMI_AIRP_MB4A("zhimi.airp.mb4a", "Mi Air Purifier 3C", THING_TYPE_BASIC),
ZHIMI_AIRP_MB5("zhimi.airp.mb5", "Xiaomi Smart Air Purifier 4", THING_TYPE_BASIC),
ZHIMI_AIRP_VB4("zhimi.airp.vb4", "Xiaomi Smart Air Purifier 4 Pro", THING_TYPE_BASIC),
ZHIMI_AIRPURIFIER_M1("zhimi.airpurifier.m1", "Mi Air Purifier 2 (mini)", THING_TYPE_BASIC),
ZHIMI_AIRPURIFIER_M2("zhimi.airpurifier.m2", "Mi Air Purifier 2", THING_TYPE_BASIC),
ZHIMI_AIRPURIFIER_MA1("zhimi.airpurifier.ma1", "Mi Air Purifier 2S", THING_TYPE_BASIC),

View File

@ -332,6 +332,7 @@ thing.zhimi.airmonitor.v1 = Mi PM2.5 Air Quality Monitor
thing.zhimi.airp.cpa4 = Xiaomi Smart Air Purifier 4 Compact
thing.zhimi.airp.mb4a = Mi Air Purifier 3C
thing.zhimi.airp.mb5 = Xiaomi Smart Air Purifier 4
thing.zhimi.airp.vb4 = Xiaomi Smart Air Purifier 4 Pro
thing.zhimi.airpurifier.m1 = Mi Air Purifier 2 (mini)
thing.zhimi.airpurifier.m2 = Mi Air Purifier 2
thing.zhimi.airpurifier.ma1 = Mi Air Purifier 2S
@ -1656,6 +1657,35 @@ ch.zhimi.airp.mb5-miot.reboot_cause = Custom Service - Reboot Cause
ch.zhimi.airp.mb5-miot.relative_humidity = Environment - Relative Humidity
ch.zhimi.airp.mb5-miot.temperature = Temperature
ch.zhimi.airp.mb5-miot.temperature_display_unit = Device Display Unit - Temperature Display Unit
ch.zhimi.airp.vb4-miot.actions = Actions
ch.zhimi.airp.vb4-miot.alarm = Alarm
ch.zhimi.airp.vb4-miot.anion = Air Purifier - Anion
ch.zhimi.airp.vb4-miot.aqi_state = Aqi - Aqi State
ch.zhimi.airp.vb4-miot.average_aqi = Aqi - Average Aqi
ch.zhimi.airp.vb4-miot.bottom_door = Bottom Door
ch.zhimi.airp.vb4-miot.brightness = Brightness
ch.zhimi.airp.vb4-miot.country_code = Country Code
ch.zhimi.airp.vb4-miot.fan_level = Air Purifier - Fan Level
ch.zhimi.airp.vb4-miot.fault = Air Purifier - Device Fault
ch.zhimi.airp.vb4-miot.favorite_level = Favorite Level
ch.zhimi.airp.vb4-miot.favorite_speed = Favorite Speed
ch.zhimi.airp.vb4-miot.filter_left_time = Filter - Filter Left Time
ch.zhimi.airp.vb4-miot.filter_life_level = Filter - Filter Life Level
ch.zhimi.airp.vb4-miot.filter_used_debug = Filter Time - Filter Used Debug
ch.zhimi.airp.vb4-miot.filter_used_time = Filter - Filter Used Time
ch.zhimi.airp.vb4-miot.manual_level = Manual Level
ch.zhimi.airp.vb4-miot.mode = Mode
ch.zhimi.airp.vb4-miot.motor_set_speed = Motor Set Speed
ch.zhimi.airp.vb4-miot.motor_speed_rpm = Motor Speed Rpm
ch.zhimi.airp.vb4-miot.on = Air Purifier - Switch Status
ch.zhimi.airp.vb4-miot.physical_controls_locked = Physical Control Locked
ch.zhimi.airp.vb4-miot.pm10_density = Environment - PM10 Density
ch.zhimi.airp.vb4-miot.pm2_5_density = Environment - PM2 5 Density
ch.zhimi.airp.vb4-miot.purify_volume = Aqi - Purify Volume
ch.zhimi.airp.vb4-miot.reboot_cause = Reboot Cause
ch.zhimi.airp.vb4-miot.relative_humidity = Environment - Relative Humidity
ch.zhimi.airp.vb4-miot.temperature = Temperature
ch.zhimi.airp.vb4-miot.temperature_display_unit = Temperature Display Unit
ch.zhimi.airpurifier.m1.aqi = Air Quality Index
ch.zhimi.airpurifier.m1.averageaqi = Average Air Quality Index
ch.zhimi.airpurifier.m1.buzzer = Buzzer Status
@ -3378,6 +3408,47 @@ option.zhimi.airp.mb5-miot.reboot_cause-2 = REASON-UPDATE
option.zhimi.airp.mb5-miot.reboot_cause-3 = REASON-WDT
option.zhimi.airp.mb5-miot.temperature_display_unit-1 = Celsius
option.zhimi.airp.mb5-miot.temperature_display_unit-2 = Fahrenheit
option.zhimi.airp.vb4-miot.actions-air-purifier-toggle = Air Purifier Toggle
option.zhimi.airp.vb4-miot.actions-custom-service-toggle-fan-level = Custom Service Toggle Fan Level
option.zhimi.airp.vb4-miot.actions-custom-service-toggle-mode = Custom Service Toggle Mode
option.zhimi.airp.vb4-miot.actions-filter-reset-filter-life = Filter Reset Filter Life
option.zhimi.airp.vb4-miot.aqi_state-0 = AQI-GOOD-L
option.zhimi.airp.vb4-miot.aqi_state-1 = AQI-GOOD-H
option.zhimi.airp.vb4-miot.aqi_state-2 = AQI-MID-L
option.zhimi.airp.vb4-miot.aqi_state-3 = AQI-MID-H
option.zhimi.airp.vb4-miot.aqi_state-4 = AQI-BAD-L
option.zhimi.airp.vb4-miot.aqi_state-5 = AQI-BAD-H
option.zhimi.airp.vb4-miot.brightness-0 = Close
option.zhimi.airp.vb4-miot.brightness-1 = Bright
option.zhimi.airp.vb4-miot.brightness-2 = Brightest
option.zhimi.airp.vb4-miot.country_code-1 = US
option.zhimi.airp.vb4-miot.country_code-2 = EU
option.zhimi.airp.vb4-miot.country_code-44 = UK
option.zhimi.airp.vb4-miot.country_code-66 = TH
option.zhimi.airp.vb4-miot.country_code-82 = KR
option.zhimi.airp.vb4-miot.country_code-886 = TW
option.zhimi.airp.vb4-miot.country_code-91 = IN
option.zhimi.airp.vb4-miot.fan_level-1 = Level1
option.zhimi.airp.vb4-miot.fan_level-2 = Level2
option.zhimi.airp.vb4-miot.fan_level-3 = Level3
option.zhimi.airp.vb4-miot.fault-0 = No Faults
option.zhimi.airp.vb4-miot.fault-1 = Sensor PM Error
option.zhimi.airp.vb4-miot.fault-2 = Temp Error
option.zhimi.airp.vb4-miot.fault-3 = Hum Error
option.zhimi.airp.vb4-miot.fault-4 = No Filter
option.zhimi.airp.vb4-miot.manual_level-1 = Level1
option.zhimi.airp.vb4-miot.manual_level-2 = Level2
option.zhimi.airp.vb4-miot.manual_level-3 = Level3
option.zhimi.airp.vb4-miot.mode-0 = Auto
option.zhimi.airp.vb4-miot.mode-1 = Sleep
option.zhimi.airp.vb4-miot.mode-2 = Favorite
option.zhimi.airp.vb4-miot.mode-3 = Manual
option.zhimi.airp.vb4-miot.reboot_cause-0 = REASON-HW-BOOT
option.zhimi.airp.vb4-miot.reboot_cause-1 = REASON-USER-REBOOT
option.zhimi.airp.vb4-miot.reboot_cause-2 = REASON-UPDATE
option.zhimi.airp.vb4-miot.reboot_cause-3 = REASON-WDT
option.zhimi.airp.vb4-miot.temperature_display_unit-1 = Celsius
option.zhimi.airp.vb4-miot.temperature_display_unit-2 = Fahrenheit
option.zhimi.airpurifier.m1.favoritelevel-0 = Favorite 0
option.zhimi.airpurifier.m1.favoritelevel-1 = Favorite 1
option.zhimi.airpurifier.m1.favoritelevel-10 = Favorite 10

View File

@ -0,0 +1,744 @@
{
"deviceMapping": {
"id": [
"zhimi.airp.vb4"
],
"propertyMethod": "get_properties",
"maxProperties": 1,
"channels": [
{
"property": "",
"friendlyName": "Actions",
"channel": "actions",
"type": "String",
"stateDescription": {
"options": [
{
"value": "air-purifier-toggle",
"label": "Air Purifier Toggle"
},
{
"value": "filter-reset-filter-life",
"label": "Filter Reset Filter Life"
},
{
"value": "custom-service-toggle-mode",
"label": "Custom Service Toggle Mode"
},
{
"value": "custom-service-toggle-fan-level",
"label": "Custom Service Toggle Fan Level"
}
]
},
"refresh": false,
"actions": [
{
"command": "action",
"parameterType": "EMPTY",
"siid": 2,
"aiid": 1,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "air-purifier-toggle"
}
]
}
},
{
"command": "action",
"parameterType": "UNKNOWN",
"parameters": [
3.0
],
"siid": 4,
"aiid": 1,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "filter-reset-filter-life"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 9,
"aiid": 1,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "custom-service-toggle-mode"
}
]
}
},
{
"command": "action",
"parameterType": "EMPTY",
"siid": 9,
"aiid": 2,
"condition": {
"name": "matchValue",
"parameters": [
{
"matchValue": "custom-service-toggle-fan-level"
}
]
}
}
],
"readmeComment": "Value mapping `[\"air-purifier-toggle\"\u003d\"Air Purifier Toggle\",\"filter-reset-filter-life\"\u003d\"Filter Reset Filter Life\",\"custom-service-toggle-mode\"\u003d\"Custom Service Toggle Mode\",\"custom-service-toggle-fan-level\"\u003d\"Custom Service Toggle Fan Level\"]`"
},
{
"property": "on",
"siid": 2,
"piid": 1,
"friendlyName": "Air Purifier - Switch Status",
"channel": "on",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
],
"category": "switch",
"tags": [
"Switch"
]
},
{
"property": "fault",
"siid": 2,
"piid": 2,
"friendlyName": "Air Purifier - Device Fault",
"channel": "fault",
"type": "Number",
"stateDescription": {
"readOnly": true,
"options": [
{
"value": "0",
"label": "No Faults"
},
{
"value": "1",
"label": "Sensor PM Error"
},
{
"value": "2",
"label": "Temp Error"
},
{
"value": "3",
"label": "Hum Error"
},
{
"value": "4",
"label": "No Filter"
}
]
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping `[\"0\"\u003d\"No Faults\",\"1\"\u003d\"Sensor PM Error\",\"2\"\u003d\"Temp Error\",\"3\"\u003d\"Hum Error\",\"4\"\u003d\"No Filter\"]`"
},
{
"property": "mode",
"siid": 2,
"piid": 4,
"friendlyName": "Mode",
"channel": "mode",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Auto"
},
{
"value": "1",
"label": "Sleep"
},
{
"value": "2",
"label": "Favorite"
},
{
"value": "3",
"label": "Manual"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Auto\",\"1\"\u003d\"Sleep\",\"2\"\u003d\"Favorite\",\"3\"\u003d\"Manual\"]`"
},
{
"property": "fan-level",
"siid": 2,
"piid": 5,
"friendlyName": "Air Purifier - Fan Level",
"channel": "fan_level",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "1",
"label": "Level1"
},
{
"value": "2",
"label": "Level2"
},
{
"value": "3",
"label": "Level3"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"1\"\u003d\"Level1\",\"2\"\u003d\"Level2\",\"3\"\u003d\"Level3\"]`"
},
{
"property": "anion",
"siid": 2,
"piid": 6,
"friendlyName": "Air Purifier - Anion",
"channel": "anion",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
]
},
{
"property": "humidity",
"siid": 3,
"piid": 1,
"friendlyName": "Environment - Relative Humidity",
"channel": "relative_humidity",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 0,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "pm2.5-density",
"siid": 3,
"piid": 4,
"friendlyName": "Environment - PM2 5 Density",
"channel": "pm2_5_density",
"type": "Number",
"unit": "μg/m3",
"stateDescription": {
"minimum": 0,
"maximum": 1000,
"step": 1,
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "temperature",
"siid": 3,
"piid": 7,
"friendlyName": "Temperature",
"channel": "temperature",
"type": "Number:Temperature",
"unit": "celsius",
"stateDescription": {
"minimum": -30,
"maximum": 100,
"pattern": "%.1f %unit%",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "pm10-density",
"siid": 3,
"piid": 8,
"friendlyName": "Environment - PM10 Density",
"channel": "pm10_density",
"type": "Number",
"stateDescription": {
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "filter-life-level",
"siid": 4,
"piid": 1,
"friendlyName": "Filter - Filter Life Level",
"channel": "filter_life_level",
"type": "Number:Dimensionless",
"unit": "percentage",
"stateDescription": {
"minimum": 0,
"maximum": 100,
"step": 1,
"pattern": "%.0f %unit%",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "filter-used-time",
"siid": 4,
"piid": 3,
"friendlyName": "Filter - Filter Used Time",
"channel": "filter_used_time",
"type": "Number:Time",
"unit": "hours",
"stateDescription": {
"minimum": 0,
"maximum": 65000,
"step": 1,
"pattern": "%.0f %unit%",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "filter-left-time",
"siid": 4,
"piid": 4,
"friendlyName": "Filter - Filter Left Time",
"channel": "filter_left_time",
"type": "Number:Time",
"unit": "days",
"stateDescription": {
"minimum": 0,
"maximum": 1000,
"step": 1,
"pattern": "%.0f %unit%",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "alarm",
"siid": 6,
"piid": 1,
"friendlyName": "Alarm",
"channel": "alarm",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
]
},
{
"property": "physical-controls-locked",
"siid": 8,
"piid": 1,
"friendlyName": "Physical Control Locked",
"channel": "physical_controls_locked",
"type": "Switch",
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "ONOFFBOOL"
}
]
},
{
"property": "brightness",
"siid": 13,
"piid": 2,
"friendlyName": "Brightness",
"channel": "brightness",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "0",
"label": "Close"
},
{
"value": "1",
"label": "Bright"
},
{
"value": "2",
"label": "Brightest"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"0\"\u003d\"Close\",\"1\"\u003d\"Bright\",\"2\"\u003d\"Brightest\"]`"
},
{
"property": "temperature-display-unit",
"siid": 14,
"piid": 1,
"friendlyName": "Temperature Display Unit",
"channel": "temperature_display_unit",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "1",
"label": "Celsius"
},
{
"value": "2",
"label": "Fahrenheit"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"1\"\u003d\"Celsius\",\"2\"\u003d\"Fahrenheit\"]`"
},
{
"property": "motor-speed-rpm",
"siid": 9,
"piid": 1,
"friendlyName": "Motor Speed Rpm",
"channel": "motor_speed_rpm",
"type": "Number",
"stateDescription": {
"minimum": 0,
"maximum": 65535,
"step": 1,
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "favorite-speed",
"siid": 9,
"piid": 2,
"friendlyName": "Favorite Speed",
"channel": "favorite_speed",
"type": "Number",
"stateDescription": {
"minimum": 200,
"maximum": 2300,
"step": 1,
"pattern": "%.0f"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "motor-set-speed",
"siid": 9,
"piid": 4,
"friendlyName": "Motor Set Speed",
"channel": "motor_set_speed",
"type": "Number",
"stateDescription": {
"minimum": 0,
"maximum": 2000,
"step": 1,
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "favorite-level",
"siid": 9,
"piid": 5,
"friendlyName": "Favorite Level",
"channel": "favorite_level",
"type": "Number",
"stateDescription": {
"minimum": 0,
"maximum": 11,
"step": 1,
"pattern": "%.0f"
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "bottom-door",
"siid": 9,
"piid": 6,
"friendlyName": "Bottom Door",
"channel": "bottom_door",
"type": "Switch",
"stateDescription": {
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "reboot-cause",
"siid": 9,
"piid": 8,
"friendlyName": "Reboot Cause",
"channel": "reboot_cause",
"type": "Number",
"stateDescription": {
"readOnly": true,
"options": [
{
"value": "0",
"label": "REASON-HW-BOOT"
},
{
"value": "1",
"label": "REASON-USER-REBOOT"
},
{
"value": "2",
"label": "REASON-UPDATE"
},
{
"value": "3",
"label": "REASON-WDT"
}
]
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping `[\"0\"\u003d\"REASON-HW-BOOT\",\"1\"\u003d\"REASON-USER-REBOOT\",\"2\"\u003d\"REASON-UPDATE\",\"3\"\u003d\"REASON-WDT\"]`"
},
{
"property": "manual-level",
"siid": 9,
"piid": 9,
"friendlyName": "Manual Level",
"channel": "manual_level",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "1",
"label": "Level1"
},
{
"value": "2",
"label": "Level2"
},
{
"value": "3",
"label": "Level3"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
],
"readmeComment": "Value mapping `[\"1\"\u003d\"Level1\",\"2\"\u003d\"Level2\",\"3\"\u003d\"Level3\"]`"
},
{
"property": "country-code",
"siid": 9,
"piid": 10,
"friendlyName": "Country Code",
"channel": "country_code",
"type": "Number",
"stateDescription": {
"options": [
{
"value": "2",
"label": "EU"
},
{
"value": "1",
"label": "US"
},
{
"value": "82",
"label": "KR"
},
{
"value": "886",
"label": "TW"
},
{
"value": "66",
"label": "TH"
},
{
"value": "44",
"label": "UK"
},
{
"value": "91",
"label": "IN"
}
]
},
"refresh": true,
"actions": [
{
"command": "set_properties",
"parameterType": "NUMBER"
}
],
"readmeComment": "Value mapping `[\"2\"\u003d\"EU\",\"1\"\u003d\"US\",\"82\"\u003d\"KR\",\"886\"\u003d\"TW\",\"66\"\u003d\"TH\",\"44\"\u003d\"UK\",\"91\"\u003d\"IN\"]`"
},
{
"property": "filter-used-debug",
"siid": 10,
"piid": 1,
"friendlyName": "Filter Time - Filter Used Debug",
"channel": "filter_used_debug",
"type": "Number:Time",
"unit": "hours",
"stateDescription": {
"minimum": 0,
"maximum": 7000,
"step": 1,
"pattern": "%.0f %unit%"
},
"refresh": false,
"actions": [
{
"command": "set_properties",
"parameterType": "STRING"
}
]
},
{
"property": "purify-volume",
"siid": 11,
"piid": 1,
"friendlyName": "Aqi - Purify Volume",
"channel": "purify_volume",
"type": "Number",
"stateDescription": {
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "average-aqi",
"siid": 11,
"piid": 2,
"friendlyName": "Aqi - Average Aqi",
"channel": "average_aqi",
"type": "Number",
"stateDescription": {
"minimum": 0,
"maximum": 600,
"step": 1,
"pattern": "%.0f",
"readOnly": true
},
"refresh": true,
"actions": []
},
{
"property": "aqi-state",
"siid": 11,
"piid": 3,
"friendlyName": "Aqi - Aqi State",
"channel": "aqi_state",
"type": "Number",
"stateDescription": {
"readOnly": true,
"options": [
{
"value": "0",
"label": "AQI-GOOD-L"
},
{
"value": "1",
"label": "AQI-GOOD-H"
},
{
"value": "2",
"label": "AQI-MID-L"
},
{
"value": "3",
"label": "AQI-MID-H"
},
{
"value": "4",
"label": "AQI-BAD-L"
},
{
"value": "5",
"label": "AQI-BAD-H"
}
]
},
"refresh": true,
"actions": [],
"readmeComment": "Value mapping `[\"0\"\u003d\"AQI-GOOD-L\",\"1\"\u003d\"AQI-GOOD-H\",\"2\"\u003d\"AQI-MID-L\",\"3\"\u003d\"AQI-MID-H\",\"4\"\u003d\"AQI-BAD-L\",\"5\"\u003d\"AQI-BAD-H\"]`"
}
],
"experimental": false
}
}