]> git.basschouten.com Git - openhab-addons.git/commitdiff
[miio] add support 5 zhimi heaters (#10231)
authorMarcel <marcel@verpaalen.com>
Thu, 25 Feb 2021 23:45:56 +0000 (00:45 +0100)
committerGitHub <noreply@github.com>
Thu, 25 Feb 2021 23:45:56 +0000 (15:45 -0800)
* [miio] Add zhimi heaters

add new
zhimi.heater.ma2 Mi Smart Space Heater S
zhimi.heater.ma3 Mi Smart Baseboard Heater E
zhimi.heater.mc2 Mi Smart Space Heater S
zhimi.heater.na1 Smartmi Smart Fan
zhimi.heater.nb1 Smartmi Smart Fan Heater

improving existing
zhimi.heater.za1 Smartmi Radiant Heater Smart Version
zhimi.heater.za2 Smartmi Smart Convector Heater 1S
zhimi.heater.zb1 Smartmi Smart Convector Heater 1S

* [miio] add some more options
* remove accidental development file
* [miio] fix number:duration
* [miio] remove channeltype from heaters

Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
12 files changed:
bundles/org.openhab.binding.miio/README.md
bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java
bundles/org.openhab.binding.miio/src/main/resources/database/chuangmi.plug.212a01-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/xiaomi.aircondition.mc1-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma2-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma3-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.mc2-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.na1-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.nb1-miot.json [new file with mode: 0644]
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.za1.json
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.za2-miot.json
bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.zb1-miot.json

index 1dbce4e75799676c408a47cafe9ed069bc48611a..eb857bfe5eb1c0f4dc4306dcd355d052848a116b 100644 (file)
@@ -466,6 +466,11 @@ Currently the miio binding supports more than 270 different models.
 | Smartmi Standing Fan 2       | miio:basic       | [zhimi.fan.za3](#zhimi-fan-za3) | Yes       |            |
 | Smartmi Standing Fan 2S      | miio:basic       | [zhimi.fan.za4](#zhimi-fan-za4) | Yes       |            |
 | Smartmi Standing Fan 3       | miio:basic       | [zhimi.fan.za5](#zhimi-fan-za5) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Mi Smart Space Heater S      | miio:basic       | [zhimi.heater.ma2](#zhimi-heater-ma2) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Mi Smart Baseboard Heater E  | miio:basic       | [zhimi.heater.ma3](#zhimi-heater-ma3) | Yes       | Identified manual actions for execution<br />`action{"did":"private-service-toggle-switch","siid":8,"aiid":1,"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 Smart Space Heater S      | miio:basic       | [zhimi.heater.mc2](#zhimi-heater-mc2) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Smartmi Smart Fan            | miio:basic       | [zhimi.heater.na1](#zhimi-heater-na1) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
+| Smartmi Smart Fan Heater     | miio:basic       | [zhimi.heater.nb1](#zhimi-heater-nb1) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Smartmi Radiant Heater Smart Version | miio:basic       | [zhimi.heater.za1](#zhimi-heater-za1) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Smartmi Smart Convector Heater 1S | miio:basic       | [zhimi.heater.za2](#zhimi-heater-za2) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
 | Smartmi Smart Convector Heater 1S | miio:basic       | [zhimi.heater.zb1](#zhimi-heater-zb1) | Yes       | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
@@ -525,14 +530,14 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 |----------------------|----------------------|------------------------------------------|------------|
 | on                   | Switch               | Power                                    |            |
 | temperature          | Number:Temperature   | Temperature                              |            |
-| working-time         | Number:Duration      | Working Time                             |            |
+| working-time         | Number:Time          | Working Time                             |            |
 | on1                  | Switch               | Indicator Light - Switch Status          |            |
 | power-consumption    | Number:Energy        | Daily Power Consumption                  |            |
 | electric-current     | Number:Current       | Power Consumption - Electric Current     |            |
 | voltage              | Number:ElectricPotential | Power Consumption - Voltage              |            |
 | electric-power       | Number:Power         | Current Power Consumption - Electric Power |            |
-| on-duration          | Number:Duration      | Imilab Timer - On Duration               |            |
-| off-duration         | Number:Duration      | Imilab Timer - Off Duration              |            |
+| on-duration          | Number:Time          | Imilab Timer - On Duration               |            |
+| off-duration         | Number:Time          | Imilab Timer - Off Duration              |            |
 | countdown            | Number:Time          | Imilab Timer - Countdown                 |            |
 | task-switch          | Switch               | Imilab Timer - Task Switch               |            |
 | countdown-info       | Switch               | Imilab Timer - Countdown Info            |            |
@@ -2100,7 +2105,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2124,7 +2129,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2148,7 +2153,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2172,7 +2177,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2196,7 +2201,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2220,7 +2225,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2244,7 +2249,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2268,7 +2273,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2292,7 +2297,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2316,7 +2321,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2340,7 +2345,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2364,7 +2369,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2388,7 +2393,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2412,7 +2417,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2436,7 +2441,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2460,7 +2465,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2484,7 +2489,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2508,7 +2513,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2532,7 +2537,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -2556,7 +2561,7 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | elec-count           | Number               | Electricity - Count                      |            |
 | clean                | String               | Maintenance - Clean                      |            |
 | examine              | String               | Maintenance - Examine                    |            |
-| running-duration     | Number:Duration      | Maintenance - Running Duration           |            |
+| running-duration     | Number:Time          | Maintenance - Running Duration           |            |
 | fan-percent          | Number:Dimentionless | Fan Speed %                              |            |
 | timer                | String               | Enhance - Timer                          |            |
 
@@ -4401,6 +4406,85 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 | ac_state             | Switch               | Custom Service - Ac State                |            |
 | speed_level          | Number:Dimensionless | Custom Service - Speed Level             |            |
 
+### Mi Smart Space Heater S (<a name="zhimi-heater-ma2">zhimi.heater.ma2</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| on                   | Switch               | Heater - Switch Status                   |            |
+| fault                | Number               | Heater - Fault                           | Value mapping ["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
+| target_temperature   | Number:Temperature   | Heater - Target Temperature              |            |
+| countdown_time       | Number:Time          | Countdown - Countdown Time               |            |
+| temperature          | Number:Temperature   | Environment - Temperature                |            |
+| physical_controls_locked | Switch               | Physical Control Locked - Physical Control Locked |            |
+| alarm                | Switch               | Alarm - Alarm                            |            |
+| brightness           | Number:Dimensionless | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
+| hw_enable            | Switch               | Private Service - Hw Enable              |            |
+| use_time             | Number:Time          | Private Service - Use Time               |            |
+
+### Mi Smart Baseboard Heater E (<a name="zhimi-heater-ma3">zhimi.heater.ma3</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| actions              | String               | Actions                                  |            |
+| on                   | Switch               | Heater - Switch Status                   |            |
+| fault                | Number               | Heater - Fault                           | Value mapping ["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
+| target_temperature   | Number:Temperature   | Heater - Target Temperature              |            |
+| mode                 | Number               | Heater - Mode                            | Value mapping ["0"="Auto","1"="LL Mode","2"="HH Mode"] |
+| countdown_time       | Number:Time          | Countdown - Countdown Time               |            |
+| temperature          | Number:Temperature   | Environment - Temperature                |            |
+| physical_controls_locked | Switch               | Physical Control Locked - Physical Control Locked |            |
+| alarm                | Switch               | Alarm - Alarm                            |            |
+| brightness           | Number:Dimensionless | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
+| use_time             | Number:Time          | Private Service - Use Time               |            |
+
+### Mi Smart Space Heater S (<a name="zhimi-heater-mc2">zhimi.heater.mc2</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| on                   | Switch               | Heater - Power                           |            |
+| fault                | Number               | Heater - Device Fault                    | Value mapping ["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
+| target_temperature   | Number:Temperature   | Heater - Target Temperature              |            |
+| countdown_time       | Number:Time          | Countdown - Countdown Time               |            |
+| temperature          | Number:Temperature   | Environment - Temperature                |            |
+| physical_controls_locked | Switch               | Physical Control Locked - Physical Control Locked |            |
+| alarm                | Switch               | Alarm - Alarm                            |            |
+| brightness           | Number               | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
+| hw_enable            | Switch               | Private Service - Hw Enable              |            |
+| use_time             | Number:Time          | Private Service - Use Time               |            |
+| country_code         | Number               | Private Service - Country Code           | Value mapping ["0"="Unknown","1"="US","82"="KR","44"="EU","81"="JP","7"="RU","86"="CN","852"="HK","886"="TW","33"="FR"] |
+
+### Smartmi Smart Fan (<a name="zhimi-heater-na1">zhimi.heater.na1</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| on                   | Switch               | Heater - Power                           |            |
+| fault                | Number               | Heater - Device Fault                    | Value mapping ["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
+| heat_level           | Number               | Heater - Heat Level                      | Value mapping ["1"="High","2"="Low"] |
+| mode                 | Number               | Heater - Mode                            | Value mapping ["0"="Fan not swing","1"="Fan swing"] |
+| alarm                | Switch               | Alarm - Alarm                            |            |
+| countdown_time       | Number:Time          | Countdown - Countdown Time               |            |
+| brightness           | Number               | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
+| physical_controls_locked | Switch               | Physical Control Locked - Physical Control Locked |            |
+| return_to_middle     | Switch               | Private Service - Return To Middle       |            |
+
+### Smartmi Smart Fan Heater (<a name="zhimi-heater-nb1">zhimi.heater.nb1</a>) Channels
+
+| Channel              | Type                 | Description                              | Comment    |
+|----------------------|----------------------|------------------------------------------|------------|
+| on                   | Switch               | Heater - Power                           |            |
+| fault                | Number               | Heater - Device Fault                    | Value mapping ["0"="No Error","1"="NTC Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
+| heat_level           | Number               | Heater - Heat Level                      | Value mapping ["1"="High","2"="Low"] |
+| mode                 | Number               | Heater - Mode                            | Value mapping ["0"="Fan not swing","1"="Fan swing"] |
+| target_temperature   | Number:Temperature   | Heater - Target Temperature              |            |
+| temperature          | Number:Temperature   | Environment - Temperature                |            |
+| alarm                | Switch               | Alarm - Alarm                            |            |
+| countdown_time       | Number:Time          | Countdown - Countdown Time               |            |
+| brightness           | Number               | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
+| physical_controls_locked | Switch               | Physical Control Locked - Physical Control Locked |            |
+| return_to_middle     | Switch               | Private Service - Return To Middle       |            |
+| country_code         | Number               | Private Service - Country Code           | Value mapping ["0"="Unknown","1"="US","82"="KR","44"="EU","81"="JP","7"="RU","86"="CN","852"="HK","886"="TW","33"="FR"] |
+| hw_en                | Switch               | Private Service - Hw En                  |            |
+
 ### Smartmi Radiant Heater Smart Version (<a name="zhimi-heater-za1">zhimi.heater.za1</a>) Channels
 
 | Channel              | Type                 | Description                              | Comment    |
@@ -4419,14 +4503,14 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 
 | Channel              | Type                 | Description                              | Comment    |
 |----------------------|----------------------|------------------------------------------|------------|
-| fault                | Number               | Heater - Device Fault                    |            |
+| fault                | Number               | Heater - Device Fault                    | Value mapping ["0"="No Error","1"="NTC      Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
 | on                   | Switch               | Heater - Power                           |            |
 | target-temperature   | Number:Temperature   | Heater - Target Temperature              |            |
 | alarm                | Switch               | Alarm - Alarm                            |            |
 | countdown-time       | Number:Time          | Countdown - Countdown Time               |            |
 | relative-humidity    | Number:Dimensionless | Environment - Relative Humidity          |            |
 | temperature          | Number:Temperature   | Environment - Temperature                |            |
-| brightness           | Dimmer               | Indicator Light - Brightness             |            |
+| brightness           | Number               | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
 | physical-controls-locked | Switch               | Physical Control Locked - Physical Controls Locked |            |
 | use-time             | Number:Time          | Private-Service - Use Time               |            |
 
@@ -4434,14 +4518,14 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
 
 | Channel              | Type                 | Description                              | Comment    |
 |----------------------|----------------------|------------------------------------------|------------|
-| fault                | Number               | Heater - Device Fault                    |            |
 | on                   | Switch               | Heater - Power                           |            |
+| fault                | Number               | Heater - Device Fault                    | Value mapping ["0"="No Error","1"="NTC      Connect Error","2"="High Temperature Alarm","3"="EEPROM Error","4"="Multi Errors"] |
 | target-temperature   | Number:Temperature   | Heater - Target Temperature              |            |
 | alarm                | Switch               | Alarm - Alarm                            |            |
 | countdown-time       | Number:Time          | Countdown - Countdown Time               |            |
 | relative-humidity    | Number:Dimensionless | Environment - Relative Humidity          |            |
 | temperature          | Number:Temperature   | Environment - Temperature                |            |
-| brightness           | Dimmer               | Indicator Light - Brightness             |            |
+| brightness           | Number               | Indicator Light - Brightness             | Value mapping ["0"="Bright","1"="Dark","2"="Extinguished"] |
 | physical-controls-locked | Switch               | Physical Control Locked - Physical Controls Locked |            |
 | use-time             | Number:Time          | Private-Service - Use Time               |            |
 | country-code         | Number               | Private-Service - Country-Code           | Value mapping ["0"="Unknown","1"="US","82"="KR","44"="EU","81"="JP","7"="RU","86"="CN","852"="HK","886"="TW","33"="FR"] |
@@ -4668,14 +4752,14 @@ note: Autogenerated example. Replace the id (plug) in the channel with your own.
 Group G_plug "Mi Smart Power Plug 2 (Wi-Fi and Bluetooth Gateway)" <status>
 Switch on "Power" (G_plug) {channel="miio:basic:plug:on"}
 Number:Temperature temperature "Temperature" (G_plug) {channel="miio:basic:plug:temperature"}
-Number:Duration working_time "Working Time" (G_plug) {channel="miio:basic:plug:working-time"}
+Number:Time working_time "Working Time" (G_plug) {channel="miio:basic:plug:working-time"}
 Switch on1 "Indicator Light - Switch Status" (G_plug) {channel="miio:basic:plug:on1"}
 Number:Energy power_consumption "Daily Power Consumption" (G_plug) {channel="miio:basic:plug:power-consumption"}
 Number:Current electric_current "Power Consumption - Electric Current" (G_plug) {channel="miio:basic:plug:electric-current"}
 Number:ElectricPotential voltage "Power Consumption - Voltage" (G_plug) {channel="miio:basic:plug:voltage"}
 Number:Power electric_power "Current Power Consumption - Electric Power" (G_plug) {channel="miio:basic:plug:electric-power"}
-Number:Duration on_duration "Imilab Timer - On Duration" (G_plug) {channel="miio:basic:plug:on-duration"}
-Number:Duration off_duration "Imilab Timer - Off Duration" (G_plug) {channel="miio:basic:plug:off-duration"}
+Number:Time on_duration "Imilab Timer - On Duration" (G_plug) {channel="miio:basic:plug:on-duration"}
+Number:Time off_duration "Imilab Timer - Off Duration" (G_plug) {channel="miio:basic:plug:off-duration"}
 Number:Time countdown "Imilab Timer - Countdown" (G_plug) {channel="miio:basic:plug:countdown"}
 Switch task_switch "Imilab Timer - Task Switch" (G_plug) {channel="miio:basic:plug:task-switch"}
 Switch countdown_info "Imilab Timer - Countdown Info" (G_plug) {channel="miio:basic:plug:countdown-info"}
@@ -6576,7 +6660,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6603,7 +6687,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6630,7 +6714,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6657,7 +6741,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6684,7 +6768,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6711,7 +6795,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6738,7 +6822,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6765,7 +6849,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6792,7 +6876,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6819,7 +6903,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6846,7 +6930,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6873,7 +6957,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6900,7 +6984,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6927,7 +7011,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6954,7 +7038,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -6981,7 +7065,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -7008,7 +7092,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -7035,7 +7119,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -7062,7 +7146,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -7089,7 +7173,7 @@ Number:Energy electricity "Power consumption accumulation in kWh" (G_airconditio
 Number elec_count "Electricity - Count" (G_aircondition) {channel="miio:basic:aircondition:elec-count"}
 String clean "Maintenance - Clean" (G_aircondition) {channel="miio:basic:aircondition:clean"}
 String examine "Maintenance - Examine" (G_aircondition) {channel="miio:basic:aircondition:examine"}
-Number:Duration running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
+Number:Time running_duration "Maintenance - Running Duration" (G_aircondition) {channel="miio:basic:aircondition:running-duration"}
 Number:Dimentionless fan_percent "Fan Speed %" (G_aircondition) {channel="miio:basic:aircondition:fan-percent"}
 String timer "Enhance - Timer" (G_aircondition) {channel="miio:basic:aircondition:timer"}
 ```
@@ -9247,6 +9331,100 @@ Switch ac_state "Custom Service - Ac State" (G_fan) {channel="miio:basic:fan:ac_
 Number:Dimensionless speed_level "Custom Service - Speed Level" (G_fan) {channel="miio:basic:fan:speed_level"}
 ```
 
+### Mi Smart Space Heater S (zhimi.heater.ma2) item file lines
+
+note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_heater "Mi Smart Space Heater S" <status>
+Switch on "Heater - Switch Status" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Fault" (G_heater) {channel="miio:basic:heater:fault"}
+Number:Temperature target_temperature "Heater - Target Temperature" (G_heater) {channel="miio:basic:heater:target_temperature"}
+Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown_time"}
+Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
+Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_heater) {channel="miio:basic:heater:physical_controls_locked"}
+Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
+Number:Dimensionless brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Switch hw_enable "Private Service - Hw Enable" (G_heater) {channel="miio:basic:heater:hw_enable"}
+Number:Time use_time "Private Service - Use Time" (G_heater) {channel="miio:basic:heater:use_time"}
+```
+
+### Mi Smart Baseboard Heater E (zhimi.heater.ma3) item file lines
+
+note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_heater "Mi Smart Baseboard Heater E" <status>
+String actions "Actions" (G_heater) {channel="miio:basic:heater:actions"}
+Switch on "Heater - Switch Status" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Fault" (G_heater) {channel="miio:basic:heater:fault"}
+Number:Temperature target_temperature "Heater - Target Temperature" (G_heater) {channel="miio:basic:heater:target_temperature"}
+Number mode "Heater - Mode" (G_heater) {channel="miio:basic:heater:mode"}
+Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown_time"}
+Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
+Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_heater) {channel="miio:basic:heater:physical_controls_locked"}
+Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
+Number:Dimensionless brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Number:Time use_time "Private Service - Use Time" (G_heater) {channel="miio:basic:heater:use_time"}
+```
+
+### Mi Smart Space Heater S (zhimi.heater.mc2) item file lines
+
+note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_heater "Mi Smart Space Heater S" <status>
+Switch on "Heater - Power" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Device Fault" (G_heater) {channel="miio:basic:heater:fault"}
+Number:Temperature target_temperature "Heater - Target Temperature" (G_heater) {channel="miio:basic:heater:target_temperature"}
+Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown_time"}
+Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
+Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_heater) {channel="miio:basic:heater:physical_controls_locked"}
+Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
+Number brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Switch hw_enable "Private Service - Hw Enable" (G_heater) {channel="miio:basic:heater:hw_enable"}
+Number:Time use_time "Private Service - Use Time" (G_heater) {channel="miio:basic:heater:use_time"}
+Number country_code "Private Service - Country Code" (G_heater) {channel="miio:basic:heater:country_code"}
+```
+
+### Smartmi Smart Fan (zhimi.heater.na1) item file lines
+
+note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_heater "Smartmi Smart Fan" <status>
+Switch on "Heater - Power" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Device Fault" (G_heater) {channel="miio:basic:heater:fault"}
+Number heat_level "Heater - Heat Level" (G_heater) {channel="miio:basic:heater:heat_level"}
+Number mode "Heater - Mode" (G_heater) {channel="miio:basic:heater:mode"}
+Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
+Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown_time"}
+Number brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_heater) {channel="miio:basic:heater:physical_controls_locked"}
+Switch return_to_middle "Private Service - Return To Middle" (G_heater) {channel="miio:basic:heater:return_to_middle"}
+```
+
+### Smartmi Smart Fan Heater (zhimi.heater.nb1) item file lines
+
+note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
+
+```
+Group G_heater "Smartmi Smart Fan Heater" <status>
+Switch on "Heater - Power" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Device Fault" (G_heater) {channel="miio:basic:heater:fault"}
+Number heat_level "Heater - Heat Level" (G_heater) {channel="miio:basic:heater:heat_level"}
+Number mode "Heater - Mode" (G_heater) {channel="miio:basic:heater:mode"}
+Number:Temperature target_temperature "Heater - Target Temperature" (G_heater) {channel="miio:basic:heater:target_temperature"}
+Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
+Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
+Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown_time"}
+Number brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_heater) {channel="miio:basic:heater:physical_controls_locked"}
+Switch return_to_middle "Private Service - Return To Middle" (G_heater) {channel="miio:basic:heater:return_to_middle"}
+Number country_code "Private Service - Country Code" (G_heater) {channel="miio:basic:heater:country_code"}
+Switch hw_en "Private Service - Hw En" (G_heater) {channel="miio:basic:heater:hw_en"}
+```
+
 ### Smartmi Radiant Heater Smart Version (zhimi.heater.za1) item file lines
 
 note: Autogenerated example. Replace the id (heater) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
@@ -9277,7 +9455,7 @@ Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
 Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown-time"}
 Number:Dimensionless relative_humidity "Environment - Relative Humidity" (G_heater) {channel="miio:basic:heater:relative-humidity"}
 Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
-Dimmer brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Number brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
 Switch physical_controls_locked "Physical Control Locked - Physical Controls Locked" (G_heater) {channel="miio:basic:heater:physical-controls-locked"}
 Number:Time use_time "Private-Service - Use Time" (G_heater) {channel="miio:basic:heater:use-time"}
 ```
@@ -9288,14 +9466,14 @@ note: Autogenerated example. Replace the id (heater) in the channel with your ow
 
 ```
 Group G_heater "Smartmi Smart Convector Heater 1S" <status>
-Number fault "Heater - Device Fault" (G_heater) {channel="miio:basic:heater:fault"}
 Switch on "Heater - Power" (G_heater) {channel="miio:basic:heater:on"}
+Number fault "Heater - Device Fault" (G_heater) {channel="miio:basic:heater:fault"}
 Number:Temperature target_temperature "Heater - Target Temperature" (G_heater) {channel="miio:basic:heater:target-temperature"}
 Switch alarm "Alarm - Alarm" (G_heater) {channel="miio:basic:heater:alarm"}
 Number:Time countdown_time "Countdown - Countdown Time" (G_heater) {channel="miio:basic:heater:countdown-time"}
 Number:Dimensionless relative_humidity "Environment - Relative Humidity" (G_heater) {channel="miio:basic:heater:relative-humidity"}
 Number:Temperature temperature "Environment - Temperature" (G_heater) {channel="miio:basic:heater:temperature"}
-Dimmer brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
+Number brightness "Indicator Light - Brightness" (G_heater) {channel="miio:basic:heater:brightness"}
 Switch physical_controls_locked "Physical Control Locked - Physical Controls Locked" (G_heater) {channel="miio:basic:heater:physical-controls-locked"}
 Number:Time use_time "Private-Service - Use Time" (G_heater) {channel="miio:basic:heater:use-time"}
 Number country_code "Private-Service - Country-Code" (G_heater) {channel="miio:basic:heater:country-code"}
index ec4f268d14981f0071b9ef6bf132dc317b9d0005..e602b2bbc3c58a0cff2e36efa52f1eb682834e27 100644 (file)
@@ -350,6 +350,11 @@ public enum MiIoDevices {
     ZHIMI_FAN_ZA3("zhimi.fan.za3", "Smartmi Standing Fan 2", THING_TYPE_BASIC),
     ZHIMI_FAN_ZA4("zhimi.fan.za4", "Smartmi Standing Fan 2S", THING_TYPE_BASIC),
     ZHIMI_FAN_ZA5("zhimi.fan.za5", "Smartmi Standing Fan 3 ", THING_TYPE_BASIC),
+    ZHIMI_HEATER_MA2("zhimi.heater.ma2", "Mi Smart Space Heater S", THING_TYPE_BASIC),
+    ZHIMI_HEATER_MA3("zhimi.heater.ma3", "Mi Smart Baseboard Heater E", THING_TYPE_BASIC),
+    ZHIMI_HEATER_MC2("zhimi.heater.mc2", "Mi Smart Space Heater S", THING_TYPE_BASIC),
+    ZHIMI_HEATER_NA1("zhimi.heater.na1", "Smartmi Smart Fan", THING_TYPE_BASIC),
+    ZHIMI_HEATER_NB1("zhimi.heater.nb1", "Smartmi Smart Fan Heater", THING_TYPE_BASIC),
     ZHIMI_HEATER_ZA1("zhimi.heater.za1", "Smartmi Radiant Heater Smart Version", THING_TYPE_BASIC),
     ZHIMI_HEATER_ZA2("zhimi.heater.za2", "Smartmi Smart Convector Heater 1S", THING_TYPE_BASIC),
     ZHIMI_HEATER_ZB1("zhimi.heater.zb1", "Smartmi Smart Convector Heater 1S", THING_TYPE_BASIC),
index 61b9dec71b05f2907a30516572f88e58136bf4d5..4827ef6cd6df410759a78da7e084fbf43c2d8062 100644 (file)
@@ -54,7 +54,7 @@
                                "piid": 7,
                                "friendlyName": "Working Time",
                                "channel": "working-time",
-                               "type": "Number:Duration",
+                               "type": "Number:Time",
                                "unit": "minutes",
                                "stateDescription": {
                                        "minimum": 0,
                                "piid": 1,
                                "friendlyName": "Imilab Timer - On Duration",
                                "channel": "on-duration",
-                               "type": "Number:Duration",
+                               "type": "Number:Time",
                                "unit": "seconds",
                                "stateDescription": {
                                        "minimum": 0,
                                "piid": 2,
                                "friendlyName": "Imilab Timer - Off Duration",
                                "channel": "off-duration",
-                               "type": "Number:Duration",
+                               "type": "Number:Time",
                                "unit": "seconds",
                                "stateDescription": {
                                        "minimum": 0,
index 082e75a5073066a0b28d98ac2210ecdc567b3d79..e5fa1d519e047849cbc0052b24cdf202135dd64a 100644 (file)
                                "piid": 5,
                                "friendlyName": "Maintenance - Running Duration",
                                "channel": "running-duration",
-                               "type": "Number:Duration",
+                               "type": "Number:Time",
                                "unit": "seconds",
                                "stateDescription": {
                                        "minimum": 0,
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma2-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma2-miot.json
new file mode 100644 (file)
index 0000000..5976b2e
--- /dev/null
@@ -0,0 +1,241 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "zhimi.heater.ma2"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Switch Status",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Heater - Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC Connect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC Connect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
+                       {
+                               "property": "target-temperature",
+                               "siid": 2,
+                               "piid": 5,
+                               "friendlyName": "Heater - Target Temperature",
+                               "channel": "target_temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": 18,
+                                       "maximum": 28,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "temperature",
+                               "tags": [
+                                       "Setpoint",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "countdown-time",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Countdown - Countdown Time",
+                               "channel": "countdown_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 12,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "temperature",
+                               "siid": 4,
+                               "piid": 7,
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "temperature",
+                               "tags": [
+                                       "Measurement",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "physical-controls-locked",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical_controls_locked",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "alarm",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "alarm"
+                       },
+                       {
+                               "property": "brightness",
+                               "siid": 7,
+                               "piid": 3,
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "light",
+                               "tags": [
+                                       "Control",
+                                       "Light"
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
+                       },
+                       {
+                               "property": "hw-enable",
+                               "siid": 8,
+                               "piid": 8,
+                               "friendlyName": "Private Service - Hw Enable",
+                               "channel": "hw_enable",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "use-time",
+                               "siid": 8,
+                               "piid": 9,
+                               "friendlyName": "Private Service - Use Time",
+                               "channel": "use_time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 2147483647,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "time"
+                       }
+               ],
+               "experimental": true
+       }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma3-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.ma3-miot.json
new file mode 100644 (file)
index 0000000..ad79fff
--- /dev/null
@@ -0,0 +1,288 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "zhimi.heater.ma3"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "",
+                               "friendlyName": "Actions",
+                               "channel": "actions",
+                               "type": "String",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "private-service-toggle-switch",
+                                                       "label": "Toggle Private Service"
+                                               }
+                                       ]
+                               },
+                               "actions": [
+                                       {
+                                               "command": "action",
+                                               "parameterType": "EMPTY",
+                                               "siid": 8,
+                                               "aiid": 1,
+                                               "condition": {
+                                                       "name": "matchValue",
+                                                       "parameters": [
+                                                               {
+                                                                       "matchValue": "private-service-toggle-switch"
+                                                               }
+                                                       ]
+                                               }
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Switch Status",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Heater - Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC Connect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC Connect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
+                       {
+                               "property": "target-temperature",
+                               "siid": 2,
+                               "piid": 5,
+                               "friendlyName": "Heater - Target Temperature",
+                               "channel": "target_temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": 16,
+                                       "maximum": 28,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "temperature",
+                               "tags": [
+                                       "Setpoint",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 6,
+                               "friendlyName": "Heater - Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Auto"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "LL Mode"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "HH Mode"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Auto\",\"1\"\u003d\"LL Mode\",\"2\"\u003d\"HH Mode\"]"
+                       },
+                       {
+                               "property": "countdown-time",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Countdown - Countdown Time",
+                               "channel": "countdown_time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 43200,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "temperature",
+                               "siid": 4,
+                               "piid": 7,
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "temperature",
+                               "tags": [
+                                       "Measurement",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "physical-controls-locked",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical_controls_locked",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "alarm",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "alarm"
+                       },
+                       {
+                               "property": "brightness",
+                               "siid": 7,
+                               "piid": 3,
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number:Dimensionless",
+                               "unit": "percentage",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "light",
+                               "tags": [
+                                       "Control",
+                                       "Light"
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
+                       },
+                       {
+                               "property": "use-time",
+                               "siid": 8,
+                               "piid": 9,
+                               "friendlyName": "Private Service - Use Time",
+                               "channel": "use_time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 2147483647,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       }
+               ],
+               "readmeComment": "Identified manual actions for execution\u003cbr /\u003e`action{\"did\":\"private-service-toggle-switch\",\"siid\":8,\"aiid\":1,\"in\":[]}`\u003cbr /\u003ePlease test and feedback if they are working to they can be linked to a channel.",
+               "experimental": true
+       }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.mc2-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.mc2-miot.json
new file mode 100644 (file)
index 0000000..4982172
--- /dev/null
@@ -0,0 +1,299 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "zhimi.heater.mc2"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Power",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Heater - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC Connect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC Connect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
+                       {
+                               "property": "target-temperature",
+                               "siid": 2,
+                               "piid": 5,
+                               "friendlyName": "Heater - Target Temperature",
+                               "channel": "target_temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": 18,
+                                       "maximum": 28,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "temperature",
+                               "tags": [
+                                       "Setpoint",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "countdown-time",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Countdown - Countdown Time",
+                               "channel": "countdown_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 12,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "temperature",
+                               "siid": 4,
+                               "piid": 7,
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "category": "temperature",
+                               "tags": [
+                                       "Measurement",
+                                       "Temperature"
+                               ]
+                       },
+                       {
+                               "property": "physical-controls-locked",
+                               "siid": 5,
+                               "piid": 1,
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical_controls_locked",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "alarm",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "alarm"
+                       },
+                       {
+                               "property": "brightness",
+                               "siid": 7,
+                               "piid": 3,
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "light",
+                               "tags": [
+                                       "Control",
+                                       "Light"
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
+                       },
+                       {
+                               "property": "hw-enable",
+                               "siid": 8,
+                               "piid": 8,
+                               "friendlyName": "Private Service - Hw Enable",
+                               "channel": "hw_enable",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "use-time",
+                               "siid": 8,
+                               "piid": 9,
+                               "friendlyName": "Private Service - Use Time",
+                               "channel": "use_time",
+                               "type": "Number:Time",
+                               "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 2147483647,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "country-code",
+                               "siid": 8,
+                               "piid": 10,
+                               "friendlyName": "Private Service - Country Code",
+                               "channel": "country_code",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Unknown"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "US"
+                                               },
+                                               {
+                                                       "value": "82",
+                                                       "label": "KR"
+                                               },
+                                               {
+                                                       "value": "44",
+                                                       "label": "EU"
+                                               },
+                                               {
+                                                       "value": "81",
+                                                       "label": "JP"
+                                               },
+                                               {
+                                                       "value": "7",
+                                                       "label": "RU"
+                                               },
+                                               {
+                                                       "value": "86",
+                                                       "label": "CN"
+                                               },
+                                               {
+                                                       "value": "852",
+                                                       "label": "HK"
+                                               },
+                                               {
+                                                       "value": "886",
+                                                       "label": "TW"
+                                               },
+                                               {
+                                                       "value": "33",
+                                                       "label": "FR"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Unknown\",\"1\"\u003d\"US\",\"82\"\u003d\"KR\",\"44\"\u003d\"EU\",\"81\"\u003d\"JP\",\"7\"\u003d\"RU\",\"86\"\u003d\"CN\",\"852\"\u003d\"HK\",\"886\"\u003d\"TW\",\"33\"\u003d\"FR\"]"
+                       }
+               ],
+               "experimental": true
+       }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.na1-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.na1-miot.json
new file mode 100644 (file)
index 0000000..3383fda
--- /dev/null
@@ -0,0 +1,228 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "zhimi.heater.na1"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Heater - Power",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC Connect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC Connect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
+                       {
+                               "property": "heat-level",
+                               "siid": 2,
+                               "piid": 3,
+                               "friendlyName": "Heater - Heat Level",
+                               "channel": "heat_level",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "High"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Low"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"High\",\"2\"\u003d\"Low\"]"
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 4,
+                               "friendlyName": "Heater - Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Fan not swing"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Fan swing"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Fan not swing\",\"1\"\u003d\"Fan swing\"]"
+                       },
+                       {
+                               "property": "alarm",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "alarm"
+                       },
+                       {
+                               "property": "countdown-time",
+                               "siid": 4,
+                               "piid": 1,
+                               "friendlyName": "Countdown - Countdown Time",
+                               "channel": "countdown_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 12,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "brightness",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "light",
+                               "tags": [
+                                       "Control",
+                                       "Light"
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
+                       },
+                       {
+                               "property": "physical-controls-locked",
+                               "siid": 7,
+                               "piid": 1,
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical_controls_locked",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "return-to-middle",
+                               "siid": 8,
+                               "piid": 3,
+                               "friendlyName": "Private Service - Return To Middle",
+                               "channel": "return_to_middle",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       }
+               ],
+               "experimental": true
+       }
+}
diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.nb1-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.heater.nb1-miot.json
new file mode 100644 (file)
index 0000000..61248fa
--- /dev/null
@@ -0,0 +1,342 @@
+{
+       "deviceMapping": {
+               "id": [
+                       "zhimi.heater.nb1"
+               ],
+               "propertyMethod": "get_properties",
+               "maxProperties": 1,
+               "channels": [
+                       {
+                               "property": "on",
+                               "siid": 2,
+                               "piid": 2,
+                               "friendlyName": "Heater - Power",
+                               "channel": "on",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "switch",
+                               "tags": [
+                                       "Switch"
+                               ]
+                       },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC Connect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC Connect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
+                       {
+                               "property": "heat-level",
+                               "siid": 2,
+                               "piid": 3,
+                               "friendlyName": "Heater - Heat Level",
+                               "channel": "heat_level",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "1",
+                                                       "label": "High"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Low"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"1\"\u003d\"High\",\"2\"\u003d\"Low\"]"
+                       },
+                       {
+                               "property": "mode",
+                               "siid": 2,
+                               "piid": 4,
+                               "friendlyName": "Heater - Mode",
+                               "channel": "mode",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Fan not swing"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Fan swing"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Fan not swing\",\"1\"\u003d\"Fan swing\"]"
+                       },
+                       {
+                               "property": "target-temperature",
+                               "siid": 2,
+                               "piid": 5,
+                               "friendlyName": "Heater - Target Temperature",
+                               "channel": "target_temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": 16,
+                                       "maximum": 30,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "temperature",
+                               "siid": 9,
+                               "piid": 7,
+                               "friendlyName": "Environment - Temperature",
+                               "channel": "temperature",
+                               "type": "Number:Temperature",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
+                                       "pattern": "%.1f %unit%",
+                                       "readOnly": true
+                               },
+                               "refresh": true,
+                               "actions": []
+                       },
+                       {
+                               "property": "alarm",
+                               "siid": 3,
+                               "piid": 1,
+                               "friendlyName": "Alarm - Alarm",
+                               "channel": "alarm",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ],
+                               "category": "alarm"
+                       },
+                       {
+                               "property": "countdown-time",
+                               "siid": 4,
+                               "piid": 1,
+                               "friendlyName": "Countdown - Countdown Time",
+                               "channel": "countdown_time",
+                               "type": "Number:Time",
+                               "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 12,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "STRING"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "brightness",
+                               "siid": 6,
+                               "piid": 1,
+                               "friendlyName": "Indicator Light - Brightness",
+                               "channel": "brightness",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "category": "light",
+                               "tags": [
+                                       "Control",
+                                       "Light"
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
+                       },
+                       {
+                               "property": "physical-controls-locked",
+                               "siid": 7,
+                               "piid": 1,
+                               "friendlyName": "Physical Control Locked - Physical Control Locked",
+                               "channel": "physical_controls_locked",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "return-to-middle",
+                               "siid": 8,
+                               "piid": 3,
+                               "friendlyName": "Private Service - Return To Middle",
+                               "channel": "return_to_middle",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       },
+                       {
+                               "property": "country-code",
+                               "siid": 8,
+                               "piid": 4,
+                               "friendlyName": "Private Service - Country Code",
+                               "channel": "country_code",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Unknown"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "US"
+                                               },
+                                               {
+                                                       "value": "82",
+                                                       "label": "KR"
+                                               },
+                                               {
+                                                       "value": "44",
+                                                       "label": "EU"
+                                               },
+                                               {
+                                                       "value": "81",
+                                                       "label": "JP"
+                                               },
+                                               {
+                                                       "value": "7",
+                                                       "label": "RU"
+                                               },
+                                               {
+                                                       "value": "86",
+                                                       "label": "CN"
+                                               },
+                                               {
+                                                       "value": "852",
+                                                       "label": "HK"
+                                               },
+                                               {
+                                                       "value": "886",
+                                                       "label": "TW"
+                                               },
+                                               {
+                                                       "value": "33",
+                                                       "label": "FR"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "NUMBER"
+                                       }
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Unknown\",\"1\"\u003d\"US\",\"82\"\u003d\"KR\",\"44\"\u003d\"EU\",\"81\"\u003d\"JP\",\"7\"\u003d\"RU\",\"86\"\u003d\"CN\",\"852\"\u003d\"HK\",\"886\"\u003d\"TW\",\"33\"\u003d\"FR\"]"
+                       },
+                       {
+                               "property": "hw-en",
+                               "siid": 8,
+                               "piid": 5,
+                               "friendlyName": "Private Service - Hw En",
+                               "channel": "hw_en",
+                               "type": "Switch",
+                               "refresh": true,
+                               "actions": [
+                                       {
+                                               "command": "set_properties",
+                                               "parameterType": "ONOFFBOOL"
+                                       }
+                               ]
+                       }
+               ],
+               "experimental": true
+       }
+}
index 6c60317f43681e27aeeb7d19556f131c6b6ddb5c..4dc9fb14e418d4272a8d5a3a331b4f344a281d85 100644 (file)
@@ -10,7 +10,6 @@
                                "property": "power",
                                "friendlyName": "Power",
                                "channel": "power",
-                               "channelType": "power",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
@@ -69,7 +68,6 @@
                                "property": "buzzer",
                                "friendlyName": "Buzzer Status",
                                "channel": "buzzer",
-                               "channelType": "buzzer",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
@@ -96,7 +94,6 @@
                                "property": "child_lock",
                                "friendlyName": "Child Lock",
                                "channel": "childlock",
-                               "channelType": "childlock",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "property": "use_time",
                                "friendlyName": "Run Time",
                                "channel": "usedhours",
-                               "channelType": "usedhours",
                                "type": "Number:Time",
                                "unit": "hours",
                                "refresh": true,
index 46f853218ab18c330ea934f997fb71c8f87f5fc1..8344f0a8ea9ddb3c29e0962c82dd717c76877aa6 100644 (file)
                                "piid": 1,
                                "friendlyName": "Heater - Device Fault",
                                "channel": "fault",
-                               "channelType": "miot_uint32",
                                "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC\tConnect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
-                               "actions": []
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC\tConnect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
                        },
                        {
                                "property": "on",
@@ -23,7 +48,6 @@
                                "piid": 2,
                                "friendlyName": "Heater - Power",
                                "channel": "on",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 6,
                                "friendlyName": "Heater - Target Temperature",
                                "channel": "target-temperature",
-                               "channelType": "ZhimiHeaterZa2_target-temperature",
                                "type": "Number:Temperature",
                                "unit": "CELCIUS",
+                               "stateDescription": {
+                                       "minimum": 16,
+                                       "maximum": 28,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
@@ -65,7 +94,6 @@
                                "piid": 1,
                                "friendlyName": "Alarm - Alarm",
                                "channel": "alarm",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 1,
                                "friendlyName": "Countdown - Countdown Time",
                                "channel": "countdown-time",
-                               "channelType": "time",
                                "type": "Number:Time",
                                "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 8,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "channel": "relative-humidity",
                                "type": "Number:Dimensionless",
                                "unit": "PERCENT",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "type": "Number:Temperature",
                                "unit": "CELCIUS",
                                "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
                                        "pattern": "%.1f %unit%",
                                        "readOnly": true
                                },
                                "piid": 1,
                                "friendlyName": "Indicator Light - Brightness",
                                "channel": "brightness",
-                               "type": "Dimmer",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "tags": [
                                        "Control",
                                        "Light"
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
                        },
                        {
                                "property": "physical-controls-locked",
                                "piid": 1,
                                "friendlyName": "Physical Control Locked - Physical Controls Locked",
                                "channel": "physical-controls-locked",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 7,
                                "friendlyName": "Private-Service - Use Time",
                                "channel": "use-time",
-                               "channelType": "time",
                                "type": "Number:Time",
                                "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": -1,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "category": "time"
index e9d63466afc07adcf88191e64d5d522fcac8663a..1513658d28d328e9d93dc34bdbf6ee18eb1382b2 100644 (file)
@@ -6,24 +6,12 @@
                "propertyMethod": "get_properties",
                "maxProperties": 1,
                "channels": [
-                       {
-                               "property": "fault",
-                               "siid": 2,
-                               "piid": 1,
-                               "friendlyName": "Heater - Device Fault",
-                               "channel": "fault",
-                               "channelType": "miot_uint32",
-                               "type": "Number",
-                               "refresh": true,
-                               "actions": []
-                       },
                        {
                                "property": "on",
                                "siid": 2,
                                "piid": 2,
                                "friendlyName": "Heater - Power",
                                "channel": "on",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                        "Switch"
                                ]
                        },
+                       {
+                               "property": "fault",
+                               "siid": 2,
+                               "piid": 1,
+                               "friendlyName": "Heater - Device Fault",
+                               "channel": "fault",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "readOnly": true,
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "No Error"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "NTC\tConnect Error"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "High Temperature Alarm"
+                                               },
+                                               {
+                                                       "value": "3",
+                                                       "label": "EEPROM Error"
+                                               },
+                                               {
+                                                       "value": "4",
+                                                       "label": "Multi Errors"
+                                               }
+                                       ]
+                               },
+                               "refresh": true,
+                               "actions": [],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"No Error\",\"1\"\u003d\"NTC\tConnect Error\",\"2\"\u003d\"High Temperature Alarm\",\"3\"\u003d\"EEPROM Error\",\"4\"\u003d\"Multi Errors\"]"
+                       },
                        {
                                "property": "target-temperature",
                                "siid": 2,
                                "piid": 6,
                                "friendlyName": "Heater - Target Temperature",
                                "channel": "target-temperature",
-                               "channelType": "ZhimiHeaterZa2_target-temperature",
                                "type": "Number:Temperature",
-                               "unit": "CELCIUS",
+                               "unit": "celsius",
+                               "stateDescription": {
+                                       "minimum": 16,
+                                       "maximum": 28,
+                                       "step": 1,
+                                       "pattern": "%.1f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
@@ -65,7 +94,6 @@
                                "piid": 1,
                                "friendlyName": "Alarm - Alarm",
                                "channel": "alarm",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 1,
                                "friendlyName": "Countdown - Countdown Time",
                                "channel": "countdown-time",
-                               "channelType": "time",
                                "type": "Number:Time",
                                "unit": "hours",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 8,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%"
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "channel": "relative-humidity",
                                "type": "Number:Dimensionless",
                                "unit": "PERCENT",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 100,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
                                "actions": [],
                                "tags": [
                                "type": "Number:Temperature",
                                "unit": "CELCIUS",
                                "stateDescription": {
+                                       "minimum": -30,
+                                       "maximum": 100,
                                        "pattern": "%.1f %unit%",
                                        "readOnly": true
                                },
                                "piid": 1,
                                "friendlyName": "Indicator Light - Brightness",
                                "channel": "brightness",
-                               "type": "Dimmer",
+                               "type": "Number",
+                               "stateDescription": {
+                                       "options": [
+                                               {
+                                                       "value": "0",
+                                                       "label": "Bright"
+                                               },
+                                               {
+                                                       "value": "1",
+                                                       "label": "Dark"
+                                               },
+                                               {
+                                                       "value": "2",
+                                                       "label": "Extinguished"
+                                               }
+                                       ]
+                               },
                                "refresh": true,
                                "actions": [
                                        {
                                "tags": [
                                        "Control",
                                        "Light"
-                               ]
+                               ],
+                               "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Dark\",\"2\"\u003d\"Extinguished\"]"
                        },
                        {
                                "property": "physical-controls-locked",
                                "piid": 1,
                                "friendlyName": "Physical Control Locked - Physical Controls Locked",
                                "channel": "physical-controls-locked",
-                               "channelType": "miot_bool",
                                "type": "Switch",
                                "refresh": true,
                                "actions": [
                                "piid": 7,
                                "friendlyName": "Private-Service - Use Time",
                                "channel": "use-time",
-                               "channelType": "time",
                                "type": "Number:Time",
                                "unit": "seconds",
+                               "stateDescription": {
+                                       "minimum": 0,
+                                       "maximum": 2147483647,
+                                       "step": 1,
+                                       "pattern": "%.0f %unit%",
+                                       "readOnly": true
+                               },
                                "refresh": true,
-                               "actions": [],
-                               "category": "time"
+                               "actions": []
                        },
                        {
                                "property": "country-code",
                                "piid": 8,
                                "friendlyName": "Private-Service - Country-Code",
                                "channel": "country-code",
-                               "channelType": "ZhimiHeaterZb1_country-code",
                                "type": "Number",
                                "stateDescription": {
                                        "readOnly": true,