]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] Improve Airpurifiers (#9756)
authorMarcel <marcel@verpaalen.com>
Sat, 16 Jan 2021 09:07:19 +0000 (10:07 +0100)
committerGitHub <noreply@github.com>
Sat, 16 Jan 2021 09:07:19 +0000 (10:07 +0100)
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
bundles/org.openhab.binding.miio/README.md
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoQuantiyTypes.java
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.m1.json
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.ma4-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.mb3-miot.json

index 798d1be891471f34865f02cf1408e2d99d7960e9..13046f4297e43d1cc96dfbbd21b41d207397b277 100644 (file)
@@ -193,8 +193,8 @@ Currently the miio binding supports more than 250 different models.
 | 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       |            |
 | Mi Air Purifier 2S           | miio:basic       | [zhimi.airpurifier.ma2](#zhimi-airpurifier-ma2) | Yes       |            |
-| Mi Air Purifier 3            | miio:basic       | [zhimi.airpurifier.ma4](#zhimi-airpurifier-ma4) | Yes       |            |
-| Mi Air Purifier 3/3H         | miio:basic       | [zhimi.airpurifier.mb3](#zhimi-airpurifier-mb3) | Yes       |            |
+| Mi Air Purifier 3            | miio:basic       | [zhimi.airpurifier.ma4](#zhimi-airpurifier-ma4) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":4,"aiid":1,"in":[]}`<br />`action{"did":"button-toggle","siid":8,"aiid":1,"in":[]}`<br />`action{"did":"button-toggle-mode","siid":8,"aiid":2,"in":[]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Mi Air Purifier 3/3H         | miio:basic       | [zhimi.airpurifier.mb3](#zhimi-airpurifier-mb3) | Yes       | Identified manual actions for execution<br />`action{"did":"filter-reset-filter-life","siid":4,"aiid":1,"in":[]}`<br />`action{"did":"button-toggle","siid":8,"aiid":1,"in":[]}`<br />`action{"did":"button-toggle-mode","siid":8,"aiid":2,"in":[]}`<br />Please test and feedback if they are working to they can be linked to a channel.<br />Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Mi Air Purifier Super        | miio:basic       | [zhimi.airpurifier.sa1](#zhimi-airpurifier-sa1) | Yes       |            |
 | Mi Air Purifier MAX / MAX Pro | miio:basic       | [zhimi.airpurifier.sa2](#zhimi-airpurifier-sa2) | Yes       |            |
 | Mi Fresh Air Ventilator      | miio:basic       | [dmaker.airfresh.t2017](#dmaker-airfresh-t2017) | Yes       |            |
@@ -596,7 +596,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -607,9 +607,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier v2 (<a name="zhimi-airpurifier-v2">zhimi.airpurifier.v2</a>) Channels
@@ -617,7 +617,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -628,9 +628,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier v3 (<a name="zhimi-airpurifier-v3">zhimi.airpurifier.v3</a>) Channels
@@ -638,7 +638,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -649,9 +649,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier v5 (<a name="zhimi-airpurifier-v5">zhimi.airpurifier.v5</a>) Channels
@@ -659,7 +659,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -670,9 +670,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier Pro v6 (<a name="zhimi-airpurifier-v6">zhimi.airpurifier.v6</a>) Channels
@@ -722,7 +722,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -733,9 +733,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier 2 (<a name="zhimi-airpurifier-m2">zhimi.airpurifier.m2</a>) Channels
@@ -743,7 +743,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -754,9 +754,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier 2S (<a name="zhimi-airpurifier-ma1">zhimi.airpurifier.ma1</a>) Channels
@@ -764,7 +764,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -775,9 +775,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier 2S (<a name="zhimi-airpurifier-ma2">zhimi.airpurifier.ma2</a>) Channels
@@ -805,127 +805,119 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
-| Fault            | Number  | Air Purifier-Device Fault           |            |
-| On               | Switch  | Air Purifier-Switch Status          |            |
-| FanLevel         | Number  | Air Purifier-Fan Level              |            |
-| Mode             | Number  | Air Purifier-Mode                   |            |
-| FirmwareRevision | String  | Device Information-Current Firmware Version |            |
-| Manufacturer     | String  | Device Information-Device Manufacturer |            |
-| Model            | String  | Device Information-Device Model     |            |
-| SerialNumber     | String  | Device Information-Device Serial Number |            |
-| Pm25Density      | Number  | Environment-PM2.5 Density           |            |
-| RelativeHumidity | Number  | Environment-Relative Humidity       |            |
-| Temperature      | Number  | Environment-Temperature             |            |
-| FilterLifeLevel  | Number  | Filter-Filter Life Level            |            |
-| FilterUsedTime   | String  | Filter-Filter Used Time             |            |
-| Alarm            | Switch  | Alarm-Alarm                         |            |
-| Brightness       | Number  | Indicator Light-Brightness          |            |
-| On1              | Switch  | Indicator Light-Switch Status       |            |
-| PhysicalControlsLocked | Switch  | Physical Control Locked-Physical Control Locked |            |
-| ButtonPressed    | String  | button-button_pressed               |            |
-| FilterMaxTime    | Number  | filter-time-filter-max-time         |            |
-| FilterHourUsedDebug | Number  | filter-time-filter-hour-used-debug  |            |
-| M1Strong         | Number  | motor-speed-m1-strong               |            |
-| M1High           | Number  | motor-speed-m1-high                 |            |
-| M1Med            | Number  | motor-speed-m1-med                  |            |
-| M1MedL           | Number  | motor-speed-m1-med-l                |            |
-| M1Low            | Number  | motor-speed-m1-low                  |            |
-| M1Silent         | Number  | motor-speed-m1-silent               |            |
-| M1Favorite       | Number  | motor-speed-m1-favorite             |            |
-| Motor1Speed      | Number  | motor-speed-motor1-speed            |            |
-| Motor1SetSpeed   | Number  | motor-speed-motor1-set-speed        |            |
-| FavoriteFanLevel | Number  | motor-speed-favorite fan level      |            |
-| UseTime          | Number  | use-time-use-time                   |            |
-| PurifyVolume     | Number  | aqi-purify-volume                   |            |
-| AverageAqi       | Number  | aqi-average-aqi                     |            |
-| AverageAqiCnt    | Number  | aqi-average-aqi-cnt                 |            |
-| AqiZone          | String  | aqi-aqi-zone                        |            |
-| SensorState      | String  | aqi-sensor-state                    |            |
-| AqiGoodh         | Number  | aqi-aqi-goodh                       |            |
-| AqiRunstate      | Number  | aqi-aqi-runstate                    |            |
-| AqiState         | Number  | aqi-aqi-state                       |            |
-| AqiUpdataHeartbeat | Number  | aqi-aqi-updata-heartbeat            |            |
-| RfidTag          | String  | rfid-rfid-tag                       |            |
-| RfidFactoryId    | String  | rfid-rfid-factory-id                |            |
-| RfidProductId    | String  | rfid-rfid-product-id                |            |
-| RfidTime         | String  | rfid-rfid-time                      |            |
-| RfidSerialNum    | String  | rfid-rfid-serial-num                |            |
-| AppExtra         | Number  | others-app-extra                    |            |
-| MainChannel      | Number  | others-main-channel                 |            |
-| SlaveChannel     | Number  | others-slave-channel                |            |
-| Cola             | String  | others-cola                         |            |
-| ButtomDoor       | Switch  | others-buttom-door                  |            |
-| RebootCause      | Number  | others-reboot_cause                 |            |
-| HwVersion        | Number  | others-hw-version                   |            |
-| I2cErrorCount    | Number  | others-i2c-error-count              |            |
-| ManualLevel      | Number  | others-manual-level                 |            |
+| fault            | Number  | Air Purifier - Device Fault         | Value mapping ["0"="No faults","1"="m1_run","2"="m1_stuck","3"="no_sensor","4"="error_hum","5"="error_temp"] |
+| on               | Switch  | Air Purifier - Switch Status        |            |
+| fan-level        | Number  | Air Purifier - Fan Level            | Value mapping ["1"="Level1","2"="Level2","3"="Level3"] |
+| mode             | Number  | Air Purifier - Mode                 | Value mapping ["0"="Auto","1"="Sleep","2"="Favorite","3"="None"] |
+| pm2.5-density    | Number  | Environment - Pm2 5 Density         |            |
+| relative-humidity | Number:Dimensionless | Environment - Relative Humidity     |            |
+| temperature      | Number:Temperature | Environment - Temperature           |            |
+| filter-life-level | Number:Dimensionless | Filter - Filter Life Level          |            |
+| filter-used-time | Number:Time | Filter - Filter Used Time           |            |
+| alarm            | Switch  | Alarm - Alarm                       |            |
+| brightness       | Number:Dimensionless | Indicator Light - Brightness        | Value mapping ["0"="brightest","1"="glimmer","2"="led_closed"] |
+| on1              | Switch  | Indicator Light - Switch Status     |            |
+| physical-controls-locked | Switch  | Physical Control Locked - Physical Control Locked |            |
+| button-pressed   | String  | Button - Button_pressed             |            |
+| filter-max-time  | Number:Time | Filter Time - Filter Max Time       |            |
+| filter-hour-used-debug | Number  | Filter Time - Filter Hour Used Debug |            |
+| m1-strong        | Number  | Motor Speed - M1 Strong             |            |
+| m1-high          | Number  | Motor Speed - M1 High               |            |
+| m1-med           | Number  | Motor Speed - M1 Med                |            |
+| m1-med-l         | Number  | Motor Speed - M1 Med L              |            |
+| m1-low           | Number  | Motor Speed - M1 Low                |            |
+| m1-silent        | Number  | Motor Speed - M1 Silent             |            |
+| m1-favorite      | Number  | Motor Speed - M1 Favorite           |            |
+| motor1-speed     | Number  | Motor Speed - Motor1 Speed          |            |
+| motor1-set-speed | Number  | Motor Speed - Motor1 Set Speed      |            |
+| favorite-fan-level | Number  | Motor Speed - Favorite Fan Level    |            |
+| use-time         | Number:Time | Use Time - Use Time                 |            |
+| purify-volume    | Number:Volume | Aqi - Purify Volume                 |            |
+| average-aqi      | Number  | Aqi - Average Aqi                   |            |
+| average-aqi-cnt  | Number  | Aqi - Average Aqi Cnt               |            |
+| aqi-zone         | String  | Aqi - Aqi Zone                      |            |
+| sensor-state     | String  | Aqi - Sensor State                  |            |
+| aqi-goodh        | Number  | Aqi - Aqi Goodh                     |            |
+| aqi-runstate     | Number  | Aqi - Aqi Runstate                  | Value mapping ["0"="continue","1"="hold","2"="sleep"] |
+| 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"] |
+| aqi-updata-heartbeat | Number  | Aqi - Aqi Updata Heartbeat          |            |
+| rfid-tag         | String  | Rfid - Rfid Tag                     |            |
+| rfid-factory-id  | String  | Rfid - Rfid Factory Id              |            |
+| rfid-product-id  | String  | Rfid - Rfid Product Id              |            |
+| rfid-time        | String  | Rfid - Rfid Time                    |            |
+| rfid-serial-num  | String  | Rfid - Rfid Serial Num              |            |
+| app-extra        | Number  | Others - App Extra                  |            |
+| main-channel     | Number  | Others - Main Channel               |            |
+| slave-channel    | Number  | Others - Slave Channel              |            |
+| cola             | String  | Others - Cola                       |            |
+| buttom-door      | Switch  | Others - Buttom Door                |            |
+| reboot-cause     | Number  | Others - Reboot_cause               | Value mapping ["0"="REASON_HW_BOOT","1"="REASON_USER_REBOOT","2"="REASON_UPDATE","3"="REASON_WDT"] |
+| hw-version       | Number  | Others - Hw Version                 |            |
+| i2c-error-count  | Number  | Others - I2c Error Count            |            |
+| manual-level     | Number  | Others - Manual Level               | Value mapping ["1"="Level1","2"="Level2","3"="Level3"] |
 
 ### Mi Air Purifier 3/3H (<a name="zhimi-airpurifier-mb3">zhimi.airpurifier.mb3</a>) Channels
 
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
-| Fault            | Number  | Air Purifier-fault                  |            |
-| On               | Switch  | Air Purifier-Switch Status          |            |
-| FanLevel         | Number  | Air Purifier-Fan Level              |            |
-| Mode             | Number  | Air Purifier-Mode                   |            |
-| FirmwareRevision | String  | Device Information-Current Firmware Version |            |
-| Manufacturer     | String  | Device Information-Device Manufacturer |            |
-| Model            | String  | Device Information-Device Model     |            |
-| SerialNumber     | String  | Device Information-Device Serial Number |            |
-| Pm25Density      | Number  | Environment-PM2.5                   |            |
-| RelativeHumidity | Number  | Environment-Relative Humidity       |            |
-| Temperature      | Number  | Environment-Temperature             |            |
-| FilterLifeLevel  | Number  | Filter-Filter Life Level            |            |
-| FilterUsedTime   | String  | Filter-Filter Used Time             |            |
-| Alarm            | Switch  | Alarm-Alarm                         |            |
-| Brightness       | Number  | Indicator Light-brightness          |            |
-| On1              | Switch  | Indicator Light-Switch Status       |            |
-| PhysicalControlsLocked | Switch  | Physical Control Locked-Physical Control Locked |            |
-| ButtonPressed    | String  | Button-button-pressed               |            |
-| FilterMaxTime    | Number  | filter-time-filter-max-time         |            |
-| FilterHourDebug  | Number  | filter-time-filter-hour-debug       |            |
-| MotorStrong      | Number  | motor-speed-motor-strong            |            |
-| MotorHigh        | Number  | motor-speed-motor-high              |            |
-| MotorMed         | Number  | motor-speed-motor-med               |            |
-| MotorMedL        | Number  | motor-speed-motor-med-l             |            |
-| MotorLow         | Number  | motor-speed-motor-low               |            |
-| MotorSilent      | Number  | motor-speed-motor-silent            |            |
-| MotorFavorite    | Number  | motor-speed-motor-favorite          |            |
-| MotorSpeed       | Number  | motor-speed-motor-speed             |            |
-| MotorSetSpeed    | Number  | motor-speed-motor-set-speed         |            |
-| FavoriteFanLevel | Number  | motor-speed-favorite-fan-level      |            |
-| UseTime          | Number  | use-time-use-time                   |            |
-| PurifyVolume     | Number  | aqi-purify-volume                   |            |
-| AverageAqi       | Number  | aqi-average-aqi                     |            |
-| AverageAqiCnt    | Number  | aqi-average-aqi-cnt                 |            |
-| AqiZone          | String  | aqi-aqi-zone                        |            |
-| SensorState      | String  | aqi-sensor-state                    |            |
-| AqiGoodh         | Number  | aqi-aqi-goodh                       |            |
-| AqiRunstate      | Number  | aqi-aqi-runstate                    |            |
-| AqiState         | Number  | aqi-aqi-state                       |            |
-| AqiUpdataHeartbeat | Number  | aqi-aqi-updata-heartbeat            |            |
-| RfidTag          | String  | rfid-rfid-tag                       |            |
-| RfidFactoryId    | String  | rfid-rfid-factory-id                |            |
-| RfidProductId    | String  | rfid-rfid-product-id                |            |
-| RfidTime         | String  | rfid-rfid-time                      |            |
-| RfidSerialNum    | String  | rfid-rfid-serial-num                |            |
-| AppExtra         | Number  | others-app-extra                    |            |
-| MainChannel      | Number  | others-main-channel                 |            |
-| SlaveChannel     | Number  | others-slave-channel                |            |
-| Cola             | String  | others-cola                         |            |
-| ButtomDoor       | Switch  | others-buttom-door                  |            |
-| RebootCause      | Number  | others-reboot-cause                 |            |
-| HwVersion        | Number  | others-hw-version                   |            |
-| IicErrorCount    | Number  | others-iic-error-count              |            |
-| ManualLevel      | Number  | others-manual-level                 |            |
-| CountryCode      | Number  | others-National code                |            |
+| fault            | Number  | Air Purifier - Fault                | Value mapping ["0"="No faults","1"="m1_run","2"="m1_stuck","3"="no_sensor","4"="error_hum","5"="error_temp"] |
+| on               | Switch  | Air Purifier - Switch Status        |            |
+| fan-level        | Number  | Air Purifier - Fan Level            | Value mapping ["1"="Level1","2"="Level2","3"="Level3"] |
+| mode             | Number  | Air Purifier - Mode                 | Value mapping ["0"="Auto","1"="Sleep","2"="Favorite","3"="None"] |
+| pm2.5-density    | Number  | Environment - Pm2 5                 |            |
+| relative-humidity | Number:Dimensionless | Environment - Relative Humidity     |            |
+| temperature      | Number:Temperature | Environment - Temperature           |            |
+| filter-life-level | Number:Dimensionless | Filter - Filter Life Level          |            |
+| filter-used-time | Number:Time | Filter - Filter Used Time           |            |
+| alarm            | Switch  | Alarm - Alarm                       |            |
+| brightness       | Number:Dimensionless | Indicator Light - Brightness        | Value mapping ["0"="Brightest","1"="Glimmer","2"="Led Closed"] |
+| on1              | Switch  | Indicator Light - Switch Status     |            |
+| physical-controls-locked | Switch  | Physical Control Locked - Physical Control Locked |            |
+| button-pressed   | String  | Button - Button Pressed             |            |
+| filter-max-time  | Number  | Filter Time - Filter Max Time       |            |
+| filter-hour-debug | Number  | Filter Time - Filter Hour Debug     |            |
+| motor-strong     | Number  | Motor Speed - Motor Strong          |            |
+| motor-high       | Number  | Motor Speed - Motor High            |            |
+| motor-med        | Number  | Motor Speed - Motor Med             |            |
+| motor-med-l      | Number  | Motor Speed - Motor Med L           |            |
+| motor-low        | Number  | Motor Speed - Motor Low             |            |
+| motor-silent     | Number  | Motor Speed - Motor Silent          |            |
+| motor-favorite   | Number  | Motor Speed - Motor Favorite        |            |
+| motor-speed      | Number  | Motor Speed - Motor Speed           |            |
+| motor-set-speed  | Number  | Motor Speed - Motor Set Speed       |            |
+| favorite-fan-level | Number  | Motor Speed - Favorite Fan Level    |            |
+| use-time         | Number:Time | Use Time - Use Time                 |            |
+| purify-volume    | Number:Volume | Aqi - Purify Volume                 |            |
+| average-aqi      | Number  | Aqi - Average Aqi                   |            |
+| average-aqi-cnt  | Number  | Aqi - Average Aqi Cnt               |            |
+| aqi-zone         | String  | Aqi - Aqi Zone                      |            |
+| sensor-state     | String  | Aqi - Sensor State                  |            |
+| aqi-goodh        | Number  | Aqi - Aqi Goodh                     |            |
+| aqi-runstate     | Number  | Aqi - Aqi Runstate                  | Value mapping ["0"="continuous sampling","1"="preparing sampling","2"="stop sampling"] |
+| aqi-state        | Number  | Aqi - Aqi State                     | Value mapping ["0"="best","1"="good","2"="normal","3"="bad","4"="worse","5"="unhealthy"] |
+| aqi-updata-heartbeat | Number  | Aqi - Aqi Updata Heartbeat          |            |
+| rfid-tag         | String  | Rfid - Rfid Tag                     |            |
+| rfid-factory-id  | String  | Rfid - Rfid Factory Id              |            |
+| rfid-product-id  | String  | Rfid - Rfid Product Id              |            |
+| rfid-time        | String  | Rfid - Rfid Time                    |            |
+| rfid-serial-num  | String  | Rfid - Rfid Serial Num              |            |
+| app-extra        | Number  | Others - App Extra                  |            |
+| main-channel     | Number  | Others - Main Channel               |            |
+| slave-channel    | Number  | Others - Slave Channel              |            |
+| cola             | String  | Others - Cola                       |            |
+| buttom-door      | Switch  | Others - Buttom Door                |            |
+| reboot-cause     | Number  | Others - Reboot Cause               | Value mapping ["0"="hardware reboot","1"="software reboot","2"="update reboot","3"="dog reboot"] |
+| hw-version       | Number  | Others - Hw Version                 |            |
+| iic-error-count  | Number  | Others - Iic Error Count            |            |
+| manual-level     | Number  | Others - Manual Level               | Value mapping ["1"="Level1","2"="Level2","3"="Level3"] |
+| country-code     | Number  | Others - National Code              | Value mapping ["91"="印度","44"="分销英文","852"="中国香港","886"="中国台湾","82"="韩国"] |
 
 ### Mi Air Purifier Super (<a name="zhimi-airpurifier-sa1">zhimi.airpurifier.sa1</a>) Channels
 
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -936,9 +928,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier MAX / MAX Pro (<a name="zhimi-airpurifier-sa2">zhimi.airpurifier.sa2</a>) Channels
@@ -946,7 +938,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -957,9 +949,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Fresh Air Ventilator (<a name="dmaker-airfresh-t2017">dmaker.airfresh.t2017</a>) Channels
@@ -1094,7 +1086,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -1105,9 +1097,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier 2S (<a name="zhimi-airpurifier-mc1">zhimi.airpurifier.mc1</a>) Channels
@@ -1115,7 +1107,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -1126,9 +1118,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Air Purifier 2H (<a name="zhimi-airpurifier-mc2">zhimi.airpurifier.mc2</a>) Channels
@@ -1136,7 +1128,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | Channel          | Type    | Description                         | Comment    |
 |------------------|---------|-------------------------------------|------------|
 | power            | Switch  | Power                               |            |
-| mode             | String  | Mode                                |            |
+| mode             | String  | Mode                                | Value mapping ["auto"="Auto","favorite"="Favorite","silent"="Silent","high"="High","medium"="Medium","idle"="Idle","strong"="Strong"] |
 | humidity         | Number:Dimensionless | Humidity                            |            |
 | aqi              | Number  | Air Quality Index                   |            |
 | averageaqi       | Number  | Average Air Quality Index           |            |
@@ -1147,9 +1139,9 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | usedhours        | Number:Time | Run Time                            |            |
 | motorspeed       | Number  | Motor Speed                         |            |
 | filterlife       | Number  | Filter Life                         |            |
-| favoritelevel    | Number  | Favorite Level                      |            |
+| favoritelevel    | Number  | Favorite Level                      | Value mapping ["0"="Favorite 0","1"="Favorite 1","2"="Favorite 2","3"="Favorite 3","4"="Favorite 4","5"="Favorite 5","6"="Favorite 6","7"="Favorite 7","8"="Favorite 8","9"="Favorite 9","10"="Favorite 10","11"="Favorite 11","12"="Favorite 13","13"="Favorite 13","14"="Favorite 14","15"="Favorite 15"] |
 | temperature      | Number:Temperature | Temperature                         |            |
-| purifyvolume     | Number  | Purivied Volume                     |            |
+| purifyvolume     | Number:Volume | Purified Volume                     |            |
 | childlock        | Switch  | Child Lock                          |            |
 
 ### Mi Smart Fan (<a name="zhimi-fan-v1">zhimi.fan.v1</a>) Channels
@@ -4349,7 +4341,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4373,7 +4365,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4397,7 +4389,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4421,7 +4413,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4493,7 +4485,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4517,7 +4509,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4541,7 +4533,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4575,60 +4567,56 @@ note: Autogenerated example. Replace the id (airpurifier) in the channel with yo
 
 ```java
 Group G_airpurifier "Mi Air Purifier 3" <status>
-Number Fault "Air Purifier-Device Fault" (G_airpurifier) {channel="miio:basic:airpurifier:Fault"}
-Switch On "Air Purifier-Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:On"}
-Number FanLevel "Air Purifier-Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:FanLevel"}
-Number Mode "Air Purifier-Mode" (G_airpurifier) {channel="miio:basic:airpurifier:Mode"}
-String FirmwareRevision "Device Information-Current Firmware Version" (G_airpurifier) {channel="miio:basic:airpurifier:FirmwareRevision"}
-String Manufacturer "Device Information-Device Manufacturer" (G_airpurifier) {channel="miio:basic:airpurifier:Manufacturer"}
-String Model "Device Information-Device Model" (G_airpurifier) {channel="miio:basic:airpurifier:Model"}
-String SerialNumber "Device Information-Device Serial Number" (G_airpurifier) {channel="miio:basic:airpurifier:SerialNumber"}
-Number Pm25Density "Environment-PM2.5 Density" (G_airpurifier) {channel="miio:basic:airpurifier:Pm25Density"}
-Number RelativeHumidity "Environment-Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier:RelativeHumidity"}
-Number Temperature "Environment-Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:Temperature"}
-Number FilterLifeLevel "Filter-Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier:FilterLifeLevel"}
-String FilterUsedTime "Filter-Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier:FilterUsedTime"}
-Switch Alarm "Alarm-Alarm" (G_airpurifier) {channel="miio:basic:airpurifier:Alarm"}
-Number Brightness "Indicator Light-Brightness" (G_airpurifier) {channel="miio:basic:airpurifier:Brightness"}
-Switch On1 "Indicator Light-Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:On1"}
-Switch PhysicalControlsLocked "Physical Control Locked-Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier:PhysicalControlsLocked"}
-String ButtonPressed "button-button_pressed" (G_airpurifier) {channel="miio:basic:airpurifier:ButtonPressed"}
-Number FilterMaxTime "filter-time-filter-max-time" (G_airpurifier) {channel="miio:basic:airpurifier:FilterMaxTime"}
-Number FilterHourUsedDebug "filter-time-filter-hour-used-debug" (G_airpurifier) {channel="miio:basic:airpurifier:FilterHourUsedDebug"}
-Number M1Strong "motor-speed-m1-strong" (G_airpurifier) {channel="miio:basic:airpurifier:M1Strong"}
-Number M1High "motor-speed-m1-high" (G_airpurifier) {channel="miio:basic:airpurifier:M1High"}
-Number M1Med "motor-speed-m1-med" (G_airpurifier) {channel="miio:basic:airpurifier:M1Med"}
-Number M1MedL "motor-speed-m1-med-l" (G_airpurifier) {channel="miio:basic:airpurifier:M1MedL"}
-Number M1Low "motor-speed-m1-low" (G_airpurifier) {channel="miio:basic:airpurifier:M1Low"}
-Number M1Silent "motor-speed-m1-silent" (G_airpurifier) {channel="miio:basic:airpurifier:M1Silent"}
-Number M1Favorite "motor-speed-m1-favorite" (G_airpurifier) {channel="miio:basic:airpurifier:M1Favorite"}
-Number Motor1Speed "motor-speed-motor1-speed" (G_airpurifier) {channel="miio:basic:airpurifier:Motor1Speed"}
-Number Motor1SetSpeed "motor-speed-motor1-set-speed" (G_airpurifier) {channel="miio:basic:airpurifier:Motor1SetSpeed"}
-Number FavoriteFanLevel "motor-speed-favorite fan level" (G_airpurifier) {channel="miio:basic:airpurifier:FavoriteFanLevel"}
-Number UseTime "use-time-use-time" (G_airpurifier) {channel="miio:basic:airpurifier:UseTime"}
-Number PurifyVolume "aqi-purify-volume" (G_airpurifier) {channel="miio:basic:airpurifier:PurifyVolume"}
-Number AverageAqi "aqi-average-aqi" (G_airpurifier) {channel="miio:basic:airpurifier:AverageAqi"}
-Number AverageAqiCnt "aqi-average-aqi-cnt" (G_airpurifier) {channel="miio:basic:airpurifier:AverageAqiCnt"}
-String AqiZone "aqi-aqi-zone" (G_airpurifier) {channel="miio:basic:airpurifier:AqiZone"}
-String SensorState "aqi-sensor-state" (G_airpurifier) {channel="miio:basic:airpurifier:SensorState"}
-Number AqiGoodh "aqi-aqi-goodh" (G_airpurifier) {channel="miio:basic:airpurifier:AqiGoodh"}
-Number AqiRunstate "aqi-aqi-runstate" (G_airpurifier) {channel="miio:basic:airpurifier:AqiRunstate"}
-Number AqiState "aqi-aqi-state" (G_airpurifier) {channel="miio:basic:airpurifier:AqiState"}
-Number AqiUpdataHeartbeat "aqi-aqi-updata-heartbeat" (G_airpurifier) {channel="miio:basic:airpurifier:AqiUpdataHeartbeat"}
-String RfidTag "rfid-rfid-tag" (G_airpurifier) {channel="miio:basic:airpurifier:RfidTag"}
-String RfidFactoryId "rfid-rfid-factory-id" (G_airpurifier) {channel="miio:basic:airpurifier:RfidFactoryId"}
-String RfidProductId "rfid-rfid-product-id" (G_airpurifier) {channel="miio:basic:airpurifier:RfidProductId"}
-String RfidTime "rfid-rfid-time" (G_airpurifier) {channel="miio:basic:airpurifier:RfidTime"}
-String RfidSerialNum "rfid-rfid-serial-num" (G_airpurifier) {channel="miio:basic:airpurifier:RfidSerialNum"}
-Number AppExtra "others-app-extra" (G_airpurifier) {channel="miio:basic:airpurifier:AppExtra"}
-Number MainChannel "others-main-channel" (G_airpurifier) {channel="miio:basic:airpurifier:MainChannel"}
-Number SlaveChannel "others-slave-channel" (G_airpurifier) {channel="miio:basic:airpurifier:SlaveChannel"}
-String Cola "others-cola" (G_airpurifier) {channel="miio:basic:airpurifier:Cola"}
-Switch ButtomDoor "others-buttom-door" (G_airpurifier) {channel="miio:basic:airpurifier:ButtomDoor"}
-Number RebootCause "others-reboot_cause" (G_airpurifier) {channel="miio:basic:airpurifier:RebootCause"}
-Number HwVersion "others-hw-version" (G_airpurifier) {channel="miio:basic:airpurifier:HwVersion"}
-Number I2cErrorCount "others-i2c-error-count" (G_airpurifier) {channel="miio:basic:airpurifier:I2cErrorCount"}
-Number ManualLevel "others-manual-level" (G_airpurifier) {channel="miio:basic:airpurifier:ManualLevel"}
+Number fault "Air Purifier - Device Fault" (G_airpurifier) {channel="miio:basic:airpurifier:fault"}
+Switch on "Air Purifier - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:on"}
+Number fan-level "Air Purifier - Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:fan-level"}
+Number mode "Air Purifier - Mode" (G_airpurifier) {channel="miio:basic:airpurifier:mode"}
+Number pm2.5-density "Environment - Pm2 5 Density" (G_airpurifier) {channel="miio:basic:airpurifier:pm2.5-density"}
+Number:Dimensionless relative-humidity "Environment - Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier:relative-humidity"}
+Number:Temperature temperature "Environment - Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
+Number:Dimensionless filter-life-level "Filter - Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier:filter-life-level"}
+Number:Time filter-used-time "Filter - Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter-used-time"}
+Switch alarm "Alarm - Alarm" (G_airpurifier) {channel="miio:basic:airpurifier:alarm"}
+Number:Dimensionless brightness "Indicator Light - Brightness" (G_airpurifier) {channel="miio:basic:airpurifier:brightness"}
+Switch on1 "Indicator Light - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:on1"}
+Switch physical-controls-locked "Physical Control Locked - Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier:physical-controls-locked"}
+String button-pressed "Button - Button_pressed" (G_airpurifier) {channel="miio:basic:airpurifier:button-pressed"}
+Number:Time filter-max-time "Filter Time - Filter Max Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter-max-time"}
+Number filter-hour-used-debug "Filter Time - Filter Hour Used Debug" (G_airpurifier) {channel="miio:basic:airpurifier:filter-hour-used-debug"}
+Number m1-strong "Motor Speed - M1 Strong" (G_airpurifier) {channel="miio:basic:airpurifier:m1-strong"}
+Number m1-high "Motor Speed - M1 High" (G_airpurifier) {channel="miio:basic:airpurifier:m1-high"}
+Number m1-med "Motor Speed - M1 Med" (G_airpurifier) {channel="miio:basic:airpurifier:m1-med"}
+Number m1-med-l "Motor Speed - M1 Med L" (G_airpurifier) {channel="miio:basic:airpurifier:m1-med-l"}
+Number m1-low "Motor Speed - M1 Low" (G_airpurifier) {channel="miio:basic:airpurifier:m1-low"}
+Number m1-silent "Motor Speed - M1 Silent" (G_airpurifier) {channel="miio:basic:airpurifier:m1-silent"}
+Number m1-favorite "Motor Speed - M1 Favorite" (G_airpurifier) {channel="miio:basic:airpurifier:m1-favorite"}
+Number motor1-speed "Motor Speed - Motor1 Speed" (G_airpurifier) {channel="miio:basic:airpurifier:motor1-speed"}
+Number motor1-set-speed "Motor Speed - Motor1 Set Speed" (G_airpurifier) {channel="miio:basic:airpurifier:motor1-set-speed"}
+Number favorite-fan-level "Motor Speed - Favorite Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:favorite-fan-level"}
+Number:Time use-time "Use Time - Use Time" (G_airpurifier) {channel="miio:basic:airpurifier:use-time"}
+Number:Volume purify-volume "Aqi - Purify Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purify-volume"}
+Number average-aqi "Aqi - Average Aqi" (G_airpurifier) {channel="miio:basic:airpurifier:average-aqi"}
+Number average-aqi-cnt "Aqi - Average Aqi Cnt" (G_airpurifier) {channel="miio:basic:airpurifier:average-aqi-cnt"}
+String aqi-zone "Aqi - Aqi Zone" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-zone"}
+String sensor-state "Aqi - Sensor State" (G_airpurifier) {channel="miio:basic:airpurifier:sensor-state"}
+Number aqi-goodh "Aqi - Aqi Goodh" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-goodh"}
+Number aqi-runstate "Aqi - Aqi Runstate" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-runstate"}
+Number aqi-state "Aqi - Aqi State" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-state"}
+Number aqi-updata-heartbeat "Aqi - Aqi Updata Heartbeat" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-updata-heartbeat"}
+String rfid-tag "Rfid - Rfid Tag" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-tag"}
+String rfid-factory-id "Rfid - Rfid Factory Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-factory-id"}
+String rfid-product-id "Rfid - Rfid Product Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-product-id"}
+String rfid-time "Rfid - Rfid Time" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-time"}
+String rfid-serial-num "Rfid - Rfid Serial Num" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-serial-num"}
+Number app-extra "Others - App Extra" (G_airpurifier) {channel="miio:basic:airpurifier:app-extra"}
+Number main-channel "Others - Main Channel" (G_airpurifier) {channel="miio:basic:airpurifier:main-channel"}
+Number slave-channel "Others - Slave Channel" (G_airpurifier) {channel="miio:basic:airpurifier:slave-channel"}
+String cola "Others - Cola" (G_airpurifier) {channel="miio:basic:airpurifier:cola"}
+Switch buttom-door "Others - Buttom Door" (G_airpurifier) {channel="miio:basic:airpurifier:buttom-door"}
+Number reboot-cause "Others - Reboot_cause" (G_airpurifier) {channel="miio:basic:airpurifier:reboot-cause"}
+Number hw-version "Others - Hw Version" (G_airpurifier) {channel="miio:basic:airpurifier:hw-version"}
+Number i2c-error-count "Others - I2c Error Count" (G_airpurifier) {channel="miio:basic:airpurifier:i2c-error-count"}
+Number manual-level "Others - Manual Level" (G_airpurifier) {channel="miio:basic:airpurifier:manual-level"}
 ```
 
 ### Mi Air Purifier 3/3H (zhimi.airpurifier.mb3) item file lines
@@ -4637,61 +4625,57 @@ note: Autogenerated example. Replace the id (airpurifier) in the channel with yo
 
 ```java
 Group G_airpurifier "Mi Air Purifier 3/3H" <status>
-Number Fault "Air Purifier-fault" (G_airpurifier) {channel="miio:basic:airpurifier:Fault"}
-Switch On "Air Purifier-Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:On"}
-Number FanLevel "Air Purifier-Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:FanLevel"}
-Number Mode "Air Purifier-Mode" (G_airpurifier) {channel="miio:basic:airpurifier:Mode"}
-String FirmwareRevision "Device Information-Current Firmware Version" (G_airpurifier) {channel="miio:basic:airpurifier:FirmwareRevision"}
-String Manufacturer "Device Information-Device Manufacturer" (G_airpurifier) {channel="miio:basic:airpurifier:Manufacturer"}
-String Model "Device Information-Device Model" (G_airpurifier) {channel="miio:basic:airpurifier:Model"}
-String SerialNumber "Device Information-Device Serial Number" (G_airpurifier) {channel="miio:basic:airpurifier:SerialNumber"}
-Number Pm25Density "Environment-PM2.5" (G_airpurifier) {channel="miio:basic:airpurifier:Pm25Density"}
-Number RelativeHumidity "Environment-Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier:RelativeHumidity"}
-Number Temperature "Environment-Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:Temperature"}
-Number FilterLifeLevel "Filter-Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier:FilterLifeLevel"}
-String FilterUsedTime "Filter-Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier:FilterUsedTime"}
-Switch Alarm "Alarm-Alarm" (G_airpurifier) {channel="miio:basic:airpurifier:Alarm"}
-Number Brightness "Indicator Light-brightness" (G_airpurifier) {channel="miio:basic:airpurifier:Brightness"}
-Switch On1 "Indicator Light-Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:On1"}
-Switch PhysicalControlsLocked "Physical Control Locked-Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier:PhysicalControlsLocked"}
-String ButtonPressed "Button-button-pressed" (G_airpurifier) {channel="miio:basic:airpurifier:ButtonPressed"}
-Number FilterMaxTime "filter-time-filter-max-time" (G_airpurifier) {channel="miio:basic:airpurifier:FilterMaxTime"}
-Number FilterHourDebug "filter-time-filter-hour-debug" (G_airpurifier) {channel="miio:basic:airpurifier:FilterHourDebug"}
-Number MotorStrong "motor-speed-motor-strong" (G_airpurifier) {channel="miio:basic:airpurifier:MotorStrong"}
-Number MotorHigh "motor-speed-motor-high" (G_airpurifier) {channel="miio:basic:airpurifier:MotorHigh"}
-Number MotorMed "motor-speed-motor-med" (G_airpurifier) {channel="miio:basic:airpurifier:MotorMed"}
-Number MotorMedL "motor-speed-motor-med-l" (G_airpurifier) {channel="miio:basic:airpurifier:MotorMedL"}
-Number MotorLow "motor-speed-motor-low" (G_airpurifier) {channel="miio:basic:airpurifier:MotorLow"}
-Number MotorSilent "motor-speed-motor-silent" (G_airpurifier) {channel="miio:basic:airpurifier:MotorSilent"}
-Number MotorFavorite "motor-speed-motor-favorite" (G_airpurifier) {channel="miio:basic:airpurifier:MotorFavorite"}
-Number MotorSpeed "motor-speed-motor-speed" (G_airpurifier) {channel="miio:basic:airpurifier:MotorSpeed"}
-Number MotorSetSpeed "motor-speed-motor-set-speed" (G_airpurifier) {channel="miio:basic:airpurifier:MotorSetSpeed"}
-Number FavoriteFanLevel "motor-speed-favorite-fan-level" (G_airpurifier) {channel="miio:basic:airpurifier:FavoriteFanLevel"}
-Number UseTime "use-time-use-time" (G_airpurifier) {channel="miio:basic:airpurifier:UseTime"}
-Number PurifyVolume "aqi-purify-volume" (G_airpurifier) {channel="miio:basic:airpurifier:PurifyVolume"}
-Number AverageAqi "aqi-average-aqi" (G_airpurifier) {channel="miio:basic:airpurifier:AverageAqi"}
-Number AverageAqiCnt "aqi-average-aqi-cnt" (G_airpurifier) {channel="miio:basic:airpurifier:AverageAqiCnt"}
-String AqiZone "aqi-aqi-zone" (G_airpurifier) {channel="miio:basic:airpurifier:AqiZone"}
-String SensorState "aqi-sensor-state" (G_airpurifier) {channel="miio:basic:airpurifier:SensorState"}
-Number AqiGoodh "aqi-aqi-goodh" (G_airpurifier) {channel="miio:basic:airpurifier:AqiGoodh"}
-Number AqiRunstate "aqi-aqi-runstate" (G_airpurifier) {channel="miio:basic:airpurifier:AqiRunstate"}
-Number AqiState "aqi-aqi-state" (G_airpurifier) {channel="miio:basic:airpurifier:AqiState"}
-Number AqiUpdataHeartbeat "aqi-aqi-updata-heartbeat" (G_airpurifier) {channel="miio:basic:airpurifier:AqiUpdataHeartbeat"}
-String RfidTag "rfid-rfid-tag" (G_airpurifier) {channel="miio:basic:airpurifier:RfidTag"}
-String RfidFactoryId "rfid-rfid-factory-id" (G_airpurifier) {channel="miio:basic:airpurifier:RfidFactoryId"}
-String RfidProductId "rfid-rfid-product-id" (G_airpurifier) {channel="miio:basic:airpurifier:RfidProductId"}
-String RfidTime "rfid-rfid-time" (G_airpurifier) {channel="miio:basic:airpurifier:RfidTime"}
-String RfidSerialNum "rfid-rfid-serial-num" (G_airpurifier) {channel="miio:basic:airpurifier:RfidSerialNum"}
-Number AppExtra "others-app-extra" (G_airpurifier) {channel="miio:basic:airpurifier:AppExtra"}
-Number MainChannel "others-main-channel" (G_airpurifier) {channel="miio:basic:airpurifier:MainChannel"}
-Number SlaveChannel "others-slave-channel" (G_airpurifier) {channel="miio:basic:airpurifier:SlaveChannel"}
-String Cola "others-cola" (G_airpurifier) {channel="miio:basic:airpurifier:Cola"}
-Switch ButtomDoor "others-buttom-door" (G_airpurifier) {channel="miio:basic:airpurifier:ButtomDoor"}
-Number RebootCause "others-reboot-cause" (G_airpurifier) {channel="miio:basic:airpurifier:RebootCause"}
-Number HwVersion "others-hw-version" (G_airpurifier) {channel="miio:basic:airpurifier:HwVersion"}
-Number IicErrorCount "others-iic-error-count" (G_airpurifier) {channel="miio:basic:airpurifier:IicErrorCount"}
-Number ManualLevel "others-manual-level" (G_airpurifier) {channel="miio:basic:airpurifier:ManualLevel"}
-Number CountryCode "others-National code" (G_airpurifier) {channel="miio:basic:airpurifier:CountryCode"}
+Number fault "Air Purifier - Fault" (G_airpurifier) {channel="miio:basic:airpurifier:fault"}
+Switch on "Air Purifier - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:on"}
+Number fan-level "Air Purifier - Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:fan-level"}
+Number mode "Air Purifier - Mode" (G_airpurifier) {channel="miio:basic:airpurifier:mode"}
+Number pm2.5-density "Environment - Pm2 5" (G_airpurifier) {channel="miio:basic:airpurifier:pm2.5-density"}
+Number:Dimensionless relative-humidity "Environment - Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier:relative-humidity"}
+Number:Temperature temperature "Environment - Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
+Number:Dimensionless filter-life-level "Filter - Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier:filter-life-level"}
+Number:Time filter-used-time "Filter - Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter-used-time"}
+Switch alarm "Alarm - Alarm" (G_airpurifier) {channel="miio:basic:airpurifier:alarm"}
+Number:Dimensionless brightness "Indicator Light - Brightness" (G_airpurifier) {channel="miio:basic:airpurifier:brightness"}
+Switch on1 "Indicator Light - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:on1"}
+Switch physical-controls-locked "Physical Control Locked - Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier:physical-controls-locked"}
+String button-pressed "Button - Button Pressed" (G_airpurifier) {channel="miio:basic:airpurifier:button-pressed"}
+Number filter-max-time "Filter Time - Filter Max Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter-max-time"}
+Number filter-hour-debug "Filter Time - Filter Hour Debug" (G_airpurifier) {channel="miio:basic:airpurifier:filter-hour-debug"}
+Number motor-strong "Motor Speed - Motor Strong" (G_airpurifier) {channel="miio:basic:airpurifier:motor-strong"}
+Number motor-high "Motor Speed - Motor High" (G_airpurifier) {channel="miio:basic:airpurifier:motor-high"}
+Number motor-med "Motor Speed - Motor Med" (G_airpurifier) {channel="miio:basic:airpurifier:motor-med"}
+Number motor-med-l "Motor Speed - Motor Med L" (G_airpurifier) {channel="miio:basic:airpurifier:motor-med-l"}
+Number motor-low "Motor Speed - Motor Low" (G_airpurifier) {channel="miio:basic:airpurifier:motor-low"}
+Number motor-silent "Motor Speed - Motor Silent" (G_airpurifier) {channel="miio:basic:airpurifier:motor-silent"}
+Number motor-favorite "Motor Speed - Motor Favorite" (G_airpurifier) {channel="miio:basic:airpurifier:motor-favorite"}
+Number motor-speed "Motor Speed - Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier:motor-speed"}
+Number motor-set-speed "Motor Speed - Motor Set Speed" (G_airpurifier) {channel="miio:basic:airpurifier:motor-set-speed"}
+Number favorite-fan-level "Motor Speed - Favorite Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:favorite-fan-level"}
+Number:Time use-time "Use Time - Use Time" (G_airpurifier) {channel="miio:basic:airpurifier:use-time"}
+Number:Volume purify-volume "Aqi - Purify Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purify-volume"}
+Number average-aqi "Aqi - Average Aqi" (G_airpurifier) {channel="miio:basic:airpurifier:average-aqi"}
+Number average-aqi-cnt "Aqi - Average Aqi Cnt" (G_airpurifier) {channel="miio:basic:airpurifier:average-aqi-cnt"}
+String aqi-zone "Aqi - Aqi Zone" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-zone"}
+String sensor-state "Aqi - Sensor State" (G_airpurifier) {channel="miio:basic:airpurifier:sensor-state"}
+Number aqi-goodh "Aqi - Aqi Goodh" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-goodh"}
+Number aqi-runstate "Aqi - Aqi Runstate" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-runstate"}
+Number aqi-state "Aqi - Aqi State" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-state"}
+Number aqi-updata-heartbeat "Aqi - Aqi Updata Heartbeat" (G_airpurifier) {channel="miio:basic:airpurifier:aqi-updata-heartbeat"}
+String rfid-tag "Rfid - Rfid Tag" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-tag"}
+String rfid-factory-id "Rfid - Rfid Factory Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-factory-id"}
+String rfid-product-id "Rfid - Rfid Product Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-product-id"}
+String rfid-time "Rfid - Rfid Time" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-time"}
+String rfid-serial-num "Rfid - Rfid Serial Num" (G_airpurifier) {channel="miio:basic:airpurifier:rfid-serial-num"}
+Number app-extra "Others - App Extra" (G_airpurifier) {channel="miio:basic:airpurifier:app-extra"}
+Number main-channel "Others - Main Channel" (G_airpurifier) {channel="miio:basic:airpurifier:main-channel"}
+Number slave-channel "Others - Slave Channel" (G_airpurifier) {channel="miio:basic:airpurifier:slave-channel"}
+String cola "Others - Cola" (G_airpurifier) {channel="miio:basic:airpurifier:cola"}
+Switch buttom-door "Others - Buttom Door" (G_airpurifier) {channel="miio:basic:airpurifier:buttom-door"}
+Number reboot-cause "Others - Reboot Cause" (G_airpurifier) {channel="miio:basic:airpurifier:reboot-cause"}
+Number hw-version "Others - Hw Version" (G_airpurifier) {channel="miio:basic:airpurifier:hw-version"}
+Number iic-error-count "Others - Iic Error Count" (G_airpurifier) {channel="miio:basic:airpurifier:iic-error-count"}
+Number manual-level "Others - Manual Level" (G_airpurifier) {channel="miio:basic:airpurifier:manual-level"}
+Number country-code "Others - National Code" (G_airpurifier) {channel="miio:basic:airpurifier:country-code"}
 ```
 
 ### Mi Air Purifier Super (zhimi.airpurifier.sa1) item file lines
@@ -4714,7 +4698,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4738,7 +4722,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4904,7 +4888,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4928,7 +4912,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
@@ -4952,7 +4936,7 @@ Number motorspeed "Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier
 Number filterlife "Filter Life" (G_airpurifier) {channel="miio:basic:airpurifier:filterlife"}
 Number favoritelevel "Favorite Level" (G_airpurifier) {channel="miio:basic:airpurifier:favoritelevel"}
 Number:Temperature temperature "Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"}
-Number purifyvolume "Purivied Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
+Number:Volume purifyvolume "Purified Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purifyvolume"}
 Switch childlock "Child Lock" (G_airpurifier) {channel="miio:basic:airpurifier:childlock"}
 ```
 
index 693b8e3240abecfcedf05382f368a098e855f5d5..79302b86f90b226a69830884bf3a419fa1e42f98 100644 (file)
@@ -56,6 +56,8 @@ public enum MiIoQuantiyTypes {
     PERCENT(Units.PERCENT),
     KGM3(Units.KILOGRAM_PER_CUBICMETRE, "kilogram_per_cubicmeter"),
     UGM3(Units.MICROGRAM_PER_CUBICMETRE, "microgram_per_cubicmeter"),
+    M3(SIUnits.CUBIC_METRE, "cubic_meter", "cubic_metre"),
+    LITER(Units.LITRE, "L", "litre"),
     PPM(Units.PARTS_PER_MILLION, "parts_per_million");
 
     private final Unit<?> unit;
index 2fb0befc01b37fe262841953449837d02a169295..26d62f5e071fd03942765f7dc302047e3771478c 100644 (file)
                                "channel": "mode",
                                "channelType": "mode",
                                "type": "String",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "auto",
+                                                       "label": "Auto"
+                                               },
+                                               {
+                                                       "value": "favorite",
+                                                       "label": "Favorite"
+                                               },
+                                               {
+                                                       "value": "silent",
+                                                       "label": "Silent"
+                                               },
+                                               {
+                                                       "value": "high",
+                                                       "label": "High"
+                                               },
+                                               {
+                                                       "value": "medium",
+                                                       "label": "Medium"
+                                               },
+                                               {
+                                                       "value": "idle",
+                                                       "label": "Idle"
+                                               },
+                                               {
+                                                       "value": "strong",
+                                                       "label": "Strong"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "ChannelGroup": "actions",
                                "actions": [
                                        {
                                                "command": "set_mode",
@@ -49,7 +80,8 @@
                                ],
                                "tags": [
                                        "Control"
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"auto\"\u003d\"Auto\",\"favorite\"\u003d\"Favorite\",\"silent\"\u003d\"Silent\",\"high\"\u003d\"High\",\"medium\"\u003d\"Medium\",\"idle\"\u003d\"Idle\",\"strong\"\u003d\"Strong\"]"
                        },
                        {
                                "property": "humidity",
                                "property": "favorite_level",
                                "friendlyName": "Favorite Level",
                                "channel": "favoritelevel",
-                               "channelType": "favoritelevel",
                                "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Favorite 0"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Favorite 1"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Favorite 2"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "Favorite 3"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Favorite 4"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "Favorite 5"
+                                               },
+                                               {
+                                                       "value": "6",
+                                                       "label": "Favorite 6"
+                                               },
+                                               {
+                                                       "value": "7",
+                                                       "label": "Favorite 7"
+                                               },
+                                               {
+                                                       "value": "8",
+                                                       "label": "Favorite 8"
+                                               },
+                                               {
+                                                       "value": "9",
+                                                       "label": "Favorite 9"
+                                               },
+                                               {
+                                                       "value": "10",
+                                                       "label": "Favorite 10"
+                                               },
+                                               {
+                                                       "value": "11",
+                                                       "label": "Favorite 11"
+                                               },
+                                               {
+                                                       "value": "12",
+                                                       "label": "Favorite 13"
+                                               },
+                                               {
+                                                       "value": "13",
+                                                       "label": "Favorite 13"
+                                               },
+                                               {
+                                                       "value": "14",
+                                                       "label": "Favorite 14"
+                                               },
+                                               {
+                                                       "value": "15",
+                                                       "label": "Favorite 15"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "ChannelGroup": "Status",
                                "actions": [
                                        {
                                                "command": "set_level_favorite",
                                                "parameterType": "NUMBER"
                                        }
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Favorite 0\",\"1\"\u003d\"Favorite 1\",\"2\"\u003d\"Favorite 2\",\"3\"\u003d\"Favorite 3\",\"4\"\u003d\"Favorite 4\",\"5\"\u003d\"Favorite 5\",\"6\"\u003d\"Favorite 6\",\"7\"\u003d\"Favorite 7\",\"8\"\u003d\"Favorite 8\",\"9\"\u003d\"Favorite 9\",\"10\"\u003d\"Favorite 10\",\"11\"\u003d\"Favorite 11\",\"12\"\u003d\"Favorite 13\",\"13\"\u003d\"Favorite 13\",\"14\"\u003d\"Favorite 14\",\"15\"\u003d\"Favorite 15\"]"
                        },
                        {
                                "property": "temp_dec",
                        },
                        {
                                "property": "purify_volume",
-                               "friendlyName": "Purivied Volume",
+                               "friendlyName": "Purified Volume",
                                "channel": "purifyvolume",
                                "channelType": "purifyvolume",
-                               "type": "Number",
+                               "type": "Number:Volume",
+                               "unit": "liter",
                                "refresh": true,
                                "ChannelGroup": "Status",
-                               "actions": []
+                               "actions": [],
+                               "tags": [
+                                       "Measurement",
+                                       "Volume"
+                               ]
                        },
                        {
                                "property": "child_lock",
                                "friendlyName": "Child Lock",
                                "channel": "childlock",
-                               "channelType": "childlock",
                                "type": "Switch",
                                "refresh": true,
                                "ChannelGroup": "Status",
index cce278b0f33d1444da03f41fe3bd19ffce13e16c..cfc322cbc0f3488983626b1b64b41f21abb4deb8 100644 (file)
                                "property": "fault",
                                "siid": 2,
                                "piid": 1,
-                               "friendlyName": "Air Purifier-Device Fault",
-                               "channel": "Fault",
-                               "channelType": "miot_uint8",
+                               "friendlyName": "Air Purifier - Device Fault",
+                               "channel": "fault",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No faults"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "m1_run"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "m1_stuck"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "no_sensor"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "error_hum"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "error_temp"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No faults\",\"1\"\u003d\"m1_run\",\"2\"\u003d\"m1_stuck\",\"3\"\u003d\"no_sensor\",\"4\"\u003d\"error_hum\",\"5\"\u003d\"error_temp\"]"
                        },
                        {
                                "property": "on",
                                "siid": 2,
                                "piid": 2,
-                               "friendlyName": "Air Purifier-Switch Status",
-                               "channel": "On",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Air Purifier - Switch Status",
+                               "channel": "on",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "fan-level",
                                "siid": 2,
                                "piid": 4,
-                               "friendlyName": "Air Purifier-Fan Level",
-                               "channel": "FanLevel",
-                               "channelType": "miot_uint8",
+                               "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": "mode",
                                "siid": 2,
                                "piid": 5,
-                               "friendlyName": "Air Purifier-Mode",
-                               "channel": "Mode",
-                               "channelType": "miot_uint8",
+                               "friendlyName": "Air Purifier - Mode",
+                               "channel": "mode",
                                "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Auto"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Sleep"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Favorite"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "None"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                ],
                                "tags": [
                                        "Control"
-                               ]
-                       },
-                       {
-                               "property": "firmware-revision",
-                               "siid": 1,
-                               "piid": 4,
-                               "friendlyName": "Device Information-Current Firmware Version",
-                               "channel": "FirmwareRevision",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "manufacturer",
-                               "siid": 1,
-                               "piid": 1,
-                               "friendlyName": "Device Information-Device Manufacturer",
-                               "channel": "Manufacturer",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "model",
-                               "siid": 1,
-                               "piid": 2,
-                               "friendlyName": "Device Information-Device Model",
-                               "channel": "Model",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "serial-number",
-                               "siid": 1,
-                               "piid": 3,
-                               "friendlyName": "Device Information-Device Serial Number",
-                               "channel": "SerialNumber",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Auto\",\"1\"\u003d\"Sleep\",\"2\"\u003d\"Favorite\",\"3\"\u003d\"None\"]"
                        },
                        {
                                "property": "pm2.5-density",
                                "siid": 3,
                                "piid": 6,
-                               "friendlyName": "Environment-PM2.5 Density",
-                               "channel": "Pm25Density",
-                               "channelType": "miot_float",
+                               "friendlyName": "Environment - Pm2 5 Density",
+                               "channel": "pm2.5-density",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 600.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "relative-humidity",
                                "siid": 3,
                                "piid": 7,
-                               "friendlyName": "Environment-Relative Humidity",
-                               "channel": "RelativeHumidity",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Environment - Relative Humidity",
+                               "channel": "relative-humidity",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 100.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "temperature",
                                "siid": 3,
                                "piid": 8,
-                               "friendlyName": "Environment-Temperature",
-                               "channel": "Temperature",
-                               "channelType": "miot_float",
-                               "type": "Number",
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -40.0,
+                                       "maximum": 125.0,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-life-level",
                                "siid": 4,
                                "piid": 3,
-                               "friendlyName": "Filter-Filter Life Level",
-                               "channel": "FilterLifeLevel",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Filter - Filter Life Level",
+                               "channel": "filter-life-level",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 100.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-used-time",
                                "siid": 4,
                                "piid": 5,
-                               "friendlyName": "Filter-Filter Used Time",
-                               "channel": "FilterUsedTime",
-                               "channelType": "miot_uint16",
-                               "type": "String",
+                               "friendlyName": "Filter - Filter Used Time",
+                               "channel": "filter-used-time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "alarm",
                                "siid": 5,
                                "piid": 1,
-                               "friendlyName": "Alarm-Alarm",
-                               "channel": "Alarm",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "brightness",
                                "siid": 6,
                                "piid": 1,
-                               "friendlyName": "Indicator Light-Brightness",
-                               "channel": "Brightness",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "brightest"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "glimmer"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "led_closed"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "tags": [
                                        "Control",
                                        "Light"
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"brightest\",\"1\"\u003d\"glimmer\",\"2\"\u003d\"led_closed\"]"
                        },
                        {
                                "property": "on1",
                                "siid": 6,
                                "piid": 6,
-                               "friendlyName": "Indicator Light-Switch Status",
-                               "channel": "On1",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Indicator Light - Switch Status",
+                               "channel": "on1",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "physical-controls-locked",
                                "siid": 7,
                                "piid": 1,
-                               "friendlyName": "Physical Control Locked-Physical Control Locked",
-                               "channel": "PhysicalControlsLocked",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical-controls-locked",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "button-pressed",
                                "siid": 8,
                                "piid": 1,
-                               "friendlyName": "button-button_pressed",
-                               "channel": "ButtonPressed",
-                               "channelType": "miot_string",
+                               "friendlyName": "Button - Button_pressed",
+                               "channel": "button-pressed",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-max-time",
                                "siid": 9,
                                "piid": 1,
-                               "friendlyName": "filter-time-filter-max-time",
-                               "channel": "FilterMaxTime",
-                               "channelType": "miot_int32",
-                               "type": "Number",
+                               "friendlyName": "Filter Time - Filter Max Time",
+                               "channel": "filter-max-time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 2000.0,
+                                       "maximum": 6000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "filter-hour-used-debug",
                                "siid": 9,
                                "piid": 2,
-                               "friendlyName": "filter-time-filter-hour-used-debug",
-                               "channel": "FilterHourUsedDebug",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Filter Time - Filter Hour Used Debug",
+                               "channel": "filter-hour-used-debug",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 5000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-strong",
                                "siid": 10,
                                "piid": 1,
-                               "friendlyName": "motor-speed-m1-strong",
-                               "channel": "M1Strong",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Strong",
+                               "channel": "m1-strong",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300,
+                                       "maximum": 2300,
+                                       "step": 10.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-high",
                                "siid": 10,
                                "piid": 2,
-                               "friendlyName": "motor-speed-m1-high",
-                               "channel": "M1High",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 High",
+                               "channel": "m1-high",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300,
+                                       "maximum": 2300,
+                                       "step": 10,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-med",
                                "siid": 10,
                                "piid": 3,
-                               "friendlyName": "motor-speed-m1-med",
-                               "channel": "M1Med",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Med",
+                               "channel": "m1-med",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300,
+                                       "maximum": 2300,
+                                       "step": 10,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-med-l",
                                "siid": 10,
                                "piid": 4,
-                               "friendlyName": "motor-speed-m1-med-l",
-                               "channel": "M1MedL",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Med L",
+                               "channel": "m1-med-l",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300,
+                                       "maximum": 2300,
+                                       "step": 10,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-low",
                                "siid": 10,
                                "piid": 5,
-                               "friendlyName": "motor-speed-m1-low",
-                               "channel": "M1Low",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Low",
+                               "channel": "m1-low",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 10.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-silent",
                                "siid": 10,
                                "piid": 6,
-                               "friendlyName": "motor-speed-m1-silent",
-                               "channel": "M1Silent",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Silent",
+                               "channel": "m1-silent",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 10.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "m1-favorite",
                                "siid": 10,
                                "piid": 7,
-                               "friendlyName": "motor-speed-m1-favorite",
-                               "channel": "M1Favorite",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - M1 Favorite",
+                               "channel": "m1-favorite",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 10.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor1-speed",
                                "siid": 10,
                                "piid": 8,
-                               "friendlyName": "motor-speed-motor1-speed",
-                               "channel": "Motor1Speed",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor1 Speed",
+                               "channel": "motor1-speed",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 3000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "motor1-set-speed",
                                "siid": 10,
                                "piid": 9,
-                               "friendlyName": "motor-speed-motor1-set-speed",
-                               "channel": "Motor1SetSpeed",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor1 Set Speed",
+                               "channel": "motor1-set-speed",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 3000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "favorite-fan-level",
                                "siid": 10,
                                "piid": 10,
-                               "friendlyName": "motor-speed-favorite fan level",
-                               "channel": "FavoriteFanLevel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Favorite Fan Level",
+                               "channel": "favorite-fan-level",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 14.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "use-time",
                                "siid": 12,
                                "piid": 1,
-                               "friendlyName": "use-time-use-time",
-                               "channel": "UseTime",
-                               "channelType": "miot_int32",
-                               "type": "Number",
+                               "friendlyName": "Use Time - Use Time",
+                               "channel": "use-time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "category": "time"
                                "property": "purify-volume",
                                "siid": 13,
                                "piid": 1,
-                               "friendlyName": "aqi-purify-volume",
-                               "channel": "PurifyVolume",
-                               "channelType": "miot_int32",
-                               "type": "Number",
+                               "friendlyName": "Aqi - Purify Volume",
+                               "channel": "purify-volume",
+                               "type": "Number:Volume",
+                               "unit": "liter",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "average-aqi",
                                "siid": 13,
                                "piid": 2,
-                               "friendlyName": "aqi-average-aqi",
-                               "channel": "AverageAqi",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Average Aqi",
+                               "channel": "average-aqi",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 600.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "average-aqi-cnt",
                                "siid": 13,
                                "piid": 3,
-                               "friendlyName": "aqi-average-aqi-cnt",
-                               "channel": "AverageAqiCnt",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Average Aqi Cnt",
+                               "channel": "average-aqi-cnt",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "aqi-zone",
                                "siid": 13,
                                "piid": 4,
-                               "friendlyName": "aqi-aqi-zone",
-                               "channel": "AqiZone",
-                               "channelType": "miot_string",
+                               "friendlyName": "Aqi - Aqi Zone",
+                               "channel": "aqi-zone",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "sensor-state",
                                "siid": 13,
                                "piid": 5,
-                               "friendlyName": "aqi-sensor-state",
-                               "channel": "SensorState",
-                               "channelType": "miot_string",
+                               "friendlyName": "Aqi - Sensor State",
+                               "channel": "sensor-state",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "aqi-goodh",
                                "siid": 13,
                                "piid": 6,
-                               "friendlyName": "aqi-aqi-goodh",
-                               "channel": "AqiGoodh",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Goodh",
+                               "channel": "aqi-goodh",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 115.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "aqi-runstate",
                                "siid": 13,
                                "piid": 7,
-                               "friendlyName": "aqi-aqi-runstate",
-                               "channel": "AqiRunstate",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Runstate",
+                               "channel": "aqi-runstate",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "continue"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "hold"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "sleep"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"continue\",\"1\"\u003d\"hold\",\"2\"\u003d\"sleep\"]"
                        },
                        {
                                "property": "aqi-state",
                                "siid": 13,
                                "piid": 8,
-                               "friendlyName": "aqi-aqi-state",
-                               "channel": "AqiState",
-                               "channelType": "miot_int32",
+                               "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": []
+                               "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\"]"
                        },
                        {
                                "property": "aqi-updata-heartbeat",
                                "siid": 13,
                                "piid": 9,
-                               "friendlyName": "aqi-aqi-updata-heartbeat",
-                               "channel": "AqiUpdataHeartbeat",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Updata Heartbeat",
+                               "channel": "aqi-updata-heartbeat",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 65534.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "rfid-tag",
                                "siid": 14,
                                "piid": 1,
-                               "friendlyName": "rfid-rfid-tag",
-                               "channel": "RfidTag",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Tag",
+                               "channel": "rfid-tag",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-factory-id",
                                "siid": 14,
                                "piid": 2,
-                               "friendlyName": "rfid-rfid-factory-id",
-                               "channel": "RfidFactoryId",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Factory Id",
+                               "channel": "rfid-factory-id",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-product-id",
                                "siid": 14,
                                "piid": 3,
-                               "friendlyName": "rfid-rfid-product-id",
-                               "channel": "RfidProductId",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Product Id",
+                               "channel": "rfid-product-id",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-time",
                                "siid": 14,
                                "piid": 4,
-                               "friendlyName": "rfid-rfid-time",
-                               "channel": "RfidTime",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Time",
+                               "channel": "rfid-time",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-serial-num",
                                "siid": 14,
                                "piid": 5,
-                               "friendlyName": "rfid-rfid-serial-num",
-                               "channel": "RfidSerialNum",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Serial Num",
+                               "channel": "rfid-serial-num",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "app-extra",
                                "siid": 15,
                                "piid": 1,
-                               "friendlyName": "others-app-extra",
-                               "channel": "AppExtra",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - App Extra",
+                               "channel": "app-extra",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "main-channel",
                                "siid": 15,
                                "piid": 2,
-                               "friendlyName": "others-main-channel",
-                               "channel": "MainChannel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Main Channel",
+                               "channel": "main-channel",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "slave-channel",
                                "siid": 15,
                                "piid": 3,
-                               "friendlyName": "others-slave-channel",
-                               "channel": "SlaveChannel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Slave Channel",
+                               "channel": "slave-channel",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "cola",
                                "siid": 15,
                                "piid": 4,
-                               "friendlyName": "others-cola",
-                               "channel": "Cola",
-                               "channelType": "miot_string",
+                               "friendlyName": "Others - Cola",
+                               "channel": "cola",
                                "type": "String",
                                "refresh": true,
                                "actions": [
                                "property": "buttom-door",
                                "siid": 15,
                                "piid": 5,
-                               "friendlyName": "others-buttom-door",
-                               "channel": "ButtomDoor",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Others - Buttom Door",
+                               "channel": "buttom-door",
                                "type": "Switch",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "reboot-cause",
                                "siid": 15,
                                "piid": 6,
-                               "friendlyName": "others-reboot_cause",
-                               "channel": "RebootCause",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - 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": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"REASON_HW_BOOT\",\"1\"\u003d\"REASON_USER_REBOOT\",\"2\"\u003d\"REASON_UPDATE\",\"3\"\u003d\"REASON_WDT\"]"
                        },
                        {
                                "property": "hw-version",
                                "siid": 15,
                                "piid": 8,
-                               "friendlyName": "others-hw-version",
-                               "channel": "HwVersion",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Hw Version",
+                               "channel": "hw-version",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 66535.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "i2c-error-count",
                                "siid": 15,
                                "piid": 9,
-                               "friendlyName": "others-i2c-error-count",
-                               "channel": "I2cErrorCount",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - I2c Error Count",
+                               "channel": "i2c-error-count",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 66535.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "manual-level",
                                "siid": 15,
                                "piid": 10,
-                               "friendlyName": "others-manual-level",
-                               "channel": "ManualLevel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Manual Level",
+                               "channel": "manual-level",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Level1"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Level2"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "Level3"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Level1\",\"2\"\u003d\"Level2\",\"3\"\u003d\"Level3\"]"
                        }
-               ]
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"filter-reset-filter-life\",\"siid\":4,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"button-toggle\",\"siid\":8,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"button-toggle-mode\",\"siid\":8,\"aiid\":2,\"in\":[]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
        }
 }
index c42394b5732086a972924459b7887343311595ef..b7f97af5d1adc5752949d1f301ea756db3d520e9 100644 (file)
@@ -4,26 +4,54 @@
                        "zhimi.airpurifier.mb3"
                ],
                "propertyMethod": "get_properties",
-               "maxProperties": 2,
+               "maxProperties": 1,
                "channels": [
                        {
                                "property": "fault",
                                "siid": 2,
                                "piid": 1,
-                               "friendlyName": "Air Purifier-fault",
-                               "channel": "Fault",
-                               "channelType": "miot_uint8",
+                               "friendlyName": "Air Purifier - Fault",
+                               "channel": "fault",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No faults"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "m1_run"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "m1_stuck"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "no_sensor"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "error_hum"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "error_temp"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No faults\",\"1\"\u003d\"m1_run\",\"2\"\u003d\"m1_stuck\",\"3\"\u003d\"no_sensor\",\"4\"\u003d\"error_hum\",\"5\"\u003d\"error_temp\"]"
                        },
                        {
                                "property": "on",
                                "siid": 2,
                                "piid": 2,
-                               "friendlyName": "Air Purifier-Switch Status",
-                               "channel": "On",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Air Purifier - Switch Status",
+                               "channel": "on",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "fan-level",
                                "siid": 2,
                                "piid": 4,
-                               "friendlyName": "Air Purifier-Fan Level",
-                               "channel": "FanLevel",
-                               "channelType": "miot_uint8",
+                               "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": "mode",
                                "siid": 2,
                                "piid": 5,
-                               "friendlyName": "Air Purifier-Mode",
-                               "channel": "Mode",
-                               "channelType": "miot_uint8",
+                               "friendlyName": "Air Purifier - Mode",
+                               "channel": "mode",
                                "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Auto"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Sleep"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Favorite"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "None"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                ],
                                "tags": [
                                        "Control"
-                               ]
-                       },
-                       {
-                               "property": "firmware-revision",
-                               "siid": 1,
-                               "piid": 4,
-                               "friendlyName": "Device Information-Current Firmware Version",
-                               "channel": "FirmwareRevision",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "manufacturer",
-                               "siid": 1,
-                               "piid": 1,
-                               "friendlyName": "Device Information-Device Manufacturer",
-                               "channel": "Manufacturer",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "model",
-                               "siid": 1,
-                               "piid": 2,
-                               "friendlyName": "Device Information-Device Model",
-                               "channel": "Model",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
-                       },
-                       {
-                               "property": "serial-number",
-                               "siid": 1,
-                               "piid": 3,
-                               "friendlyName": "Device Information-Device Serial Number",
-                               "channel": "SerialNumber",
-                               "channelType": "miot_string",
-                               "type": "String",
-                               "refresh": true,
-                               "actions": []
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Auto\",\"1\"\u003d\"Sleep\",\"2\"\u003d\"Favorite\",\"3\"\u003d\"None\"]"
                        },
                        {
                                "property": "pm2.5-density",
                                "siid": 3,
                                "piid": 6,
-                               "friendlyName": "Environment-PM2.5",
-                               "channel": "Pm25Density",
-                               "channelType": "miot_float",
+                               "friendlyName": "Environment - Pm2 5",
+                               "channel": "pm2.5-density",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 600.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "relative-humidity",
                                "siid": 3,
                                "piid": 7,
-                               "friendlyName": "Environment-Relative Humidity",
-                               "channel": "RelativeHumidity",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Environment - Relative Humidity",
+                               "channel": "relative-humidity",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 100.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "temperature",
                                "siid": 3,
                                "piid": 8,
-                               "friendlyName": "Environment-Temperature",
-                               "channel": "Temperature",
-                               "channelType": "miot_float",
-                               "type": "Number",
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -40.0,
+                                       "maximum": 125.0,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-life-level",
                                "siid": 4,
                                "piid": 3,
-                               "friendlyName": "Filter-Filter Life Level",
-                               "channel": "FilterLifeLevel",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Filter - Filter Life Level",
+                               "channel": "filter-life-level",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 100.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-used-time",
                                "siid": 4,
                                "piid": 5,
-                               "friendlyName": "Filter-Filter Used Time",
-                               "channel": "FilterUsedTime",
-                               "channelType": "miot_uint16",
-                               "type": "String",
+                               "friendlyName": "Filter - Filter Used Time",
+                               "channel": "filter-used-time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "alarm",
                                "siid": 5,
                                "piid": 1,
-                               "friendlyName": "Alarm-Alarm",
-                               "channel": "Alarm",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "brightness",
                                "siid": 6,
                                "piid": 1,
-                               "friendlyName": "Indicator Light-brightness",
-                               "channel": "Brightness",
-                               "channelType": "miot_uint8",
-                               "type": "Number",
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Brightest"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Glimmer"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Led Closed"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "tags": [
                                        "Control",
                                        "Light"
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Brightest\",\"1\"\u003d\"Glimmer\",\"2\"\u003d\"Led Closed\"]"
                        },
                        {
                                "property": "on1",
                                "siid": 6,
                                "piid": 6,
-                               "friendlyName": "Indicator Light-Switch Status",
-                               "channel": "On1",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Indicator Light - Switch Status",
+                               "channel": "on1",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "physical-controls-locked",
                                "siid": 7,
                                "piid": 1,
-                               "friendlyName": "Physical Control Locked-Physical Control Locked",
-                               "channel": "PhysicalControlsLocked",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical-controls-locked",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "button-pressed",
                                "siid": 8,
                                "piid": 1,
-                               "friendlyName": "Button-button-pressed",
-                               "channel": "ButtonPressed",
-                               "channelType": "miot_string",
+                               "friendlyName": "Button - Button Pressed",
+                               "channel": "button-pressed",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "filter-max-time",
                                "siid": 9,
                                "piid": 1,
-                               "friendlyName": "filter-time-filter-max-time",
-                               "channel": "FilterMaxTime",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Filter Time - Filter Max Time",
+                               "channel": "filter-max-time",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 2000.0,
+                                       "maximum": 6000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "filter-hour-debug",
                                "siid": 9,
                                "piid": 2,
-                               "friendlyName": "filter-time-filter-hour-debug",
-                               "channel": "FilterHourDebug",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Filter Time - Filter Hour Debug",
+                               "channel": "filter-hour-debug",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 5000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-strong",
                                "siid": 10,
                                "piid": 1,
-                               "friendlyName": "motor-speed-motor-strong",
-                               "channel": "MotorStrong",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Strong",
+                               "channel": "motor-strong",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-high",
                                "siid": 10,
                                "piid": 2,
-                               "friendlyName": "motor-speed-motor-high",
-                               "channel": "MotorHigh",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor High",
+                               "channel": "motor-high",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-med",
                                "siid": 10,
                                "piid": 3,
-                               "friendlyName": "motor-speed-motor-med",
-                               "channel": "MotorMed",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Med",
+                               "channel": "motor-med",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-med-l",
                                "siid": 10,
                                "piid": 4,
-                               "friendlyName": "motor-speed-motor-med-l",
-                               "channel": "MotorMedL",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Med L",
+                               "channel": "motor-med-l",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-low",
                                "siid": 10,
                                "piid": 5,
-                               "friendlyName": "motor-speed-motor-low",
-                               "channel": "MotorLow",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Low",
+                               "channel": "motor-low",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-silent",
                                "siid": 10,
                                "piid": 6,
-                               "friendlyName": "motor-speed-motor-silent",
-                               "channel": "MotorSilent",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Silent",
+                               "channel": "motor-silent",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-favorite",
                                "siid": 10,
                                "piid": 7,
-                               "friendlyName": "motor-speed-motor-favorite",
-                               "channel": "MotorFavorite",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Favorite",
+                               "channel": "motor-favorite",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 300.0,
+                                       "maximum": 2300.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "motor-speed",
                                "siid": 10,
                                "piid": 8,
-                               "friendlyName": "motor-speed-motor-speed",
-                               "channel": "MotorSpeed",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Speed",
+                               "channel": "motor-speed",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 3000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "motor-set-speed",
                                "siid": 10,
                                "piid": 9,
-                               "friendlyName": "motor-speed-motor-set-speed",
-                               "channel": "MotorSetSpeed",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Motor Set Speed",
+                               "channel": "motor-set-speed",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 3000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "favorite-fan-level",
                                "siid": 10,
                                "piid": 10,
-                               "friendlyName": "motor-speed-favorite-fan-level",
-                               "channel": "FavoriteFanLevel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Motor Speed - Favorite Fan Level",
+                               "channel": "favorite-fan-level",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 14.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "use-time",
                                "siid": 12,
                                "piid": 1,
-                               "friendlyName": "use-time-use-time",
-                               "channel": "UseTime",
-                               "channelType": "miot_int32",
-                               "type": "Number",
+                               "friendlyName": "Use Time - Use Time",
+                               "channel": "use-time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "category": "time"
                                "property": "purify-volume",
                                "siid": 13,
                                "piid": 1,
-                               "friendlyName": "aqi-purify-volume",
-                               "channel": "PurifyVolume",
-                               "channelType": "miot_int32",
-                               "type": "Number",
+                               "friendlyName": "Aqi - Purify Volume",
+                               "channel": "purify-volume",
+                               "type": "Number:Volume",
+                               "unit": "liter",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "average-aqi",
                                "siid": 13,
                                "piid": 2,
-                               "friendlyName": "aqi-average-aqi",
-                               "channel": "AverageAqi",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Average Aqi",
+                               "channel": "average-aqi",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 600.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "average-aqi-cnt",
                                "siid": 13,
                                "piid": 3,
-                               "friendlyName": "aqi-average-aqi-cnt",
-                               "channel": "AverageAqiCnt",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Average Aqi Cnt",
+                               "channel": "average-aqi-cnt",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 2.1474836E+9,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "aqi-zone",
                                "siid": 13,
                                "piid": 4,
-                               "friendlyName": "aqi-aqi-zone",
-                               "channel": "AqiZone",
-                               "channelType": "miot_string",
+                               "friendlyName": "Aqi - Aqi Zone",
+                               "channel": "aqi-zone",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "sensor-state",
                                "siid": 13,
                                "piid": 5,
-                               "friendlyName": "aqi-sensor-state",
-                               "channel": "SensorState",
-                               "channelType": "miot_string",
+                               "friendlyName": "Aqi - Sensor State",
+                               "channel": "sensor-state",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "aqi-goodh",
                                "siid": 13,
                                "piid": 6,
-                               "friendlyName": "aqi-aqi-goodh",
-                               "channel": "AqiGoodh",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Goodh",
+                               "channel": "aqi-goodh",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 115.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "aqi-runstate",
                                "siid": 13,
                                "piid": 7,
-                               "friendlyName": "aqi-aqi-runstate",
-                               "channel": "AqiRunstate",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Runstate",
+                               "channel": "aqi-runstate",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "continuous sampling"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "preparing sampling"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "stop sampling"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"continuous sampling\",\"1\"\u003d\"preparing sampling\",\"2\"\u003d\"stop sampling\"]"
                        },
                        {
                                "property": "aqi-state",
                                "siid": 13,
                                "piid": 8,
-                               "friendlyName": "aqi-aqi-state",
-                               "channel": "AqiState",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi State",
+                               "channel": "aqi-state",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "best"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "good"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "normal"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "bad"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "worse"
+                                               },
+                                               {
+                                                       "value": "5",
+                                                       "label": "unhealthy"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"best\",\"1\"\u003d\"good\",\"2\"\u003d\"normal\",\"3\"\u003d\"bad\",\"4\"\u003d\"worse\",\"5\"\u003d\"unhealthy\"]"
                        },
                        {
                                "property": "aqi-updata-heartbeat",
                                "siid": 13,
                                "piid": 9,
-                               "friendlyName": "aqi-aqi-updata-heartbeat",
-                               "channel": "AqiUpdataHeartbeat",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Aqi - Aqi Updata Heartbeat",
+                               "channel": "aqi-updata-heartbeat",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 65534.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "rfid-tag",
                                "siid": 14,
                                "piid": 1,
-                               "friendlyName": "rfid-rfid-tag",
-                               "channel": "RfidTag",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Tag",
+                               "channel": "rfid-tag",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-factory-id",
                                "siid": 14,
                                "piid": 2,
-                               "friendlyName": "rfid-rfid-factory-id",
-                               "channel": "RfidFactoryId",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Factory Id",
+                               "channel": "rfid-factory-id",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-product-id",
                                "siid": 14,
                                "piid": 3,
-                               "friendlyName": "rfid-rfid-product-id",
-                               "channel": "RfidProductId",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Product Id",
+                               "channel": "rfid-product-id",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-time",
                                "siid": 14,
                                "piid": 4,
-                               "friendlyName": "rfid-rfid-time",
-                               "channel": "RfidTime",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Time",
+                               "channel": "rfid-time",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "rfid-serial-num",
                                "siid": 14,
                                "piid": 5,
-                               "friendlyName": "rfid-rfid-serial-num",
-                               "channel": "RfidSerialNum",
-                               "channelType": "miot_string",
+                               "friendlyName": "Rfid - Rfid Serial Num",
+                               "channel": "rfid-serial-num",
                                "type": "String",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "app-extra",
                                "siid": 15,
                                "piid": 1,
-                               "friendlyName": "others-app-extra",
-                               "channel": "AppExtra",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - App Extra",
+                               "channel": "app-extra",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "main-channel",
                                "siid": 15,
                                "piid": 2,
-                               "friendlyName": "others-main-channel",
-                               "channel": "MainChannel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Main Channel",
+                               "channel": "main-channel",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "slave-channel",
                                "siid": 15,
                                "piid": 3,
-                               "friendlyName": "others-slave-channel",
-                               "channel": "SlaveChannel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Slave Channel",
+                               "channel": "slave-channel",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 10000.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "property": "cola",
                                "siid": 15,
                                "piid": 4,
-                               "friendlyName": "others-cola",
-                               "channel": "Cola",
-                               "channelType": "miot_string",
+                               "friendlyName": "Others - Cola",
+                               "channel": "cola",
                                "type": "String",
                                "refresh": true,
                                "actions": [
                                "property": "buttom-door",
                                "siid": 15,
                                "piid": 5,
-                               "friendlyName": "others-buttom-door",
-                               "channel": "ButtomDoor",
-                               "channelType": "miot_bool",
+                               "friendlyName": "Others - Buttom Door",
+                               "channel": "buttom-door",
                                "type": "Switch",
+                               "stateDescription": {
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "reboot-cause",
                                "siid": 15,
                                "piid": 6,
-                               "friendlyName": "others-reboot-cause",
-                               "channel": "RebootCause",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Reboot Cause",
+                               "channel": "reboot-cause",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "hardware reboot"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "software reboot"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "update reboot"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "dog reboot"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"hardware reboot\",\"1\"\u003d\"software reboot\",\"2\"\u003d\"update reboot\",\"3\"\u003d\"dog reboot\"]"
                        },
                        {
                                "property": "hw-version",
                                "siid": 15,
                                "piid": 8,
-                               "friendlyName": "others-hw-version",
-                               "channel": "HwVersion",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Hw Version",
+                               "channel": "hw-version",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 66536.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "iic-error-count",
                                "siid": 15,
                                "piid": 9,
-                               "friendlyName": "others-iic-error-count",
-                               "channel": "IicErrorCount",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Iic Error Count",
+                               "channel": "iic-error-count",
                                "type": "Number",
+                               "stateDescription": {
+                                       "minimum": 0.0,
+                                       "maximum": 66535.0,
+                                       "step": 1.0,
+                                       "pattern": "%.0f",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": []
                        },
                                "property": "manual-level",
                                "siid": 15,
                                "piid": 10,
-                               "friendlyName": "others-manual-level",
-                               "channel": "ManualLevel",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - Manual Level",
+                               "channel": "manual-level",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "Level1"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Level2"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "Level3"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"Level1\",\"2\"\u003d\"Level2\",\"3\"\u003d\"Level3\"]"
                        },
                        {
                                "property": "country-code",
                                "siid": 15,
                                "piid": 11,
-                               "friendlyName": "others-National code",
-                               "channel": "CountryCode",
-                               "channelType": "miot_int32",
+                               "friendlyName": "Others - National Code",
+                               "channel": "country-code",
                                "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "91",
+                                                       "label": "印度"
+                                               },
+                                               {
+                                                       "value": "44",
+                                                       "label": "分销英文"
+                                               },
+                                               {
+                                                       "value": "852",
+                                                       "label": "中国香港"
+                                               },
+                                               {
+                                                       "value": "886",
+                                                       "label": "中国台湾"
+                                               },
+                                               {
+                                                       "value": "82",
+                                                       "label": "韩国"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                                "command": "set_properties",
                                                "parameterType": "NUMBER"
                                        }
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"91\"\u003d\"印度\",\"44\"\u003d\"分销英文\",\"852\"\u003d\"中国香港\",\"886\"\u003d\"中国台湾\",\"82\"\u003d\"韩国\"]"
                        }
-               ]
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"filter-reset-filter-life\",\"siid\":4,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"button-toggle\",\"siid\":8,\"aiid\":1,\"in\":[]}`\u003cbr /\u003e`action{\"did\":\"button-toggle-mode\",\"siid\":8,\"aiid\":2,\"in\":[]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
        }
 }