From: Marcel Date: Tue, 27 Apr 2021 14:45:10 +0000 (+0200) Subject: [miio] Support of Smartmi Air Purifier zhimi.airpurifier.za1 (#10534) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=61a3705f0f950205f7fb27d5abc6b012647534cc;p=openhab-addons.git [miio] Support of Smartmi Air Purifier zhimi.airpurifier.za1 (#10534) Closes #10526 Signed-off-by: Marcel Verpaalen --- diff --git a/bundles/org.openhab.binding.miio/README.base.md b/bundles/org.openhab.binding.miio/README.base.md index 8223a88c09..dc998c7e77 100644 --- a/bundles/org.openhab.binding.miio/README.base.md +++ b/bundles/org.openhab.binding.miio/README.base.md @@ -528,4 +528,4 @@ Mapping of countries in mihome app to server: | Yemen | YE | sg | | Zambia | ZM | sg | | Zimbabwe | ZW | sg | -| Åland Islands | AX | de | \ No newline at end of file +| Åland Islands | AX | de | diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md index 6f2ed2fd5e..371dc00fb8 100644 --- a/bundles/org.openhab.binding.miio/README.md +++ b/bundles/org.openhab.binding.miio/README.md @@ -464,6 +464,7 @@ Currently the miio binding supports more than 280 different models. | Mi Air Purifier Pro H | miio:basic | [zhimi.airpurifier.vb2](#zhimi-airpurifier-vb2) | Yes | | | Mi Air Purifier virtual | miio:unsupported | zhimi.airpurifier.virtual | No | | | Mi Air Purifier 2(Virtual) | miio:unsupported | zhimi.airpurifier.vtl_m1 | No | | +| Smartmi Air Purifier | miio:basic | [zhimi.airpurifier.za1](#zhimi-airpurifier-za1) | Yes | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses | | Mi Standing Fan | miio:basic | [zhimi.fan.sa1](#zhimi-fan-sa1) | Yes | | | Mi Smart Fan | miio:basic | [zhimi.fan.v1](#zhimi-fan-v1) | Yes | | | Smartmi DC Pedestal Fan | miio:basic | [zhimi.fan.v2](#zhimi-fan-v2) | Yes | | @@ -4497,6 +4498,43 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl | powertime | Number:duration | Others - Powertime | | | country_code | Number | Others - Country Code | Value mapping ["91"="India","44"="UK","852"="Hong Kong","886"="Taiwan","82"="Korea"] | +### Smartmi Air Purifier (zhimi.airpurifier.za1) Channels + +| Channel | Type | Description | Comment | +|----------------------|----------------------|------------------------------------------|------------| +| on | Switch | Air Purifier - Switch Status | | +| fault | Number | Air Purifier - Fault | Value mapping ["0"="No faults","1"="m1_run","2"="m1_stuck","3"="no_sensor","4"="error_hum","5"="error_temp","6"="timer_error1","7"="timer_error2"] | +| mode | Number | Air Purifier - Mode | Value mapping ["0"="Auto","1"="Sleep","2"="Favorite"] | +| air_quality | Number | Environment - Air Quality | | +| pm2_5_density | Number | Environment - PM2 5 Density | | +| relative_humidity | Number:Dimensionless | Environment - Relative Humidity | | +| temperature | Number:Temperature | Environment - Temperature | | +| filter_life_level | Number:Dimensionless | Filter - Filter Life Level | | +| filter_used_time | Number:Time | Filter - Filter Used Time | | +| alarm | Switch | Alarm - Alarm | | +| brightness | Number | Indicator Light - Brightness | Value mapping ["0"="Bright","1"="Light","2"="Off"] | +| physical_controls_locked | Switch | Physical Control Locked - Physical Control Locked | | +| filter_max_time | Number:Time | Filter Time - Filter Max Time | | +| favorite_fan_level | Number | Motor Speed - Favorite Fan Level | | +| motor_speed | Number | Motor Speed - Motor Speed | | +| use_time | Number:Time | Use Time - Use Time | | +| purify_volume | Number | Aqi - Purify Volume | | +| average_aqi | Number | Aqi - Average Aqi | | +| aqi_zone | String | Aqi - Aqi Zone | | +| sensor_state | Number | Aqi - Sensor State | Value mapping ["0"="waiting","1"="ready"] | +| rfid_tag | String | Rfid - Rfid Tag | | +| rfid_factory_id | String | Rfid - Rfid Factory Id | | +| rfid_product_id | String | Rfid - Rfid Product Id | | +| rfid_time | String | Rfid - Rfid Time | | +| rfid_serial_num | String | Rfid - Rfid Serial Num | | +| reboot_cause | Number | Others - Reboot Cause | Value mapping ["0"="hardware","1"="human","2"="upgrade","3"="watchdog"] | +| hw_version | Number | Others - Hw Version | | +| sgp_ethanol | Number | Others - Sgp Ethanol | | +| sgp_serial | Number | Others - Sgp Serial | | +| sgp_version | String | Others - Sgp Version | | +| country_code | Number | Others - Country Code | Value mapping ["1"="America","2"="Canada","3"="Singapore","4"="Europe","5"="Australian","6"="Korea","7"="China","8"="France","9"="Japanese","10"="Taiwan"] | +| gesture_status | Switch | Others - Gesture Status | | + ### Mi Standing Fan (zhimi.fan.sa1) Channels | Channel | Type | Description | Comment | @@ -9659,6 +9697,46 @@ Number:duration powertime "Others - Powertime" (G_airpurifier) {channel="miio:ba Number country_code "Others - Country Code" (G_airpurifier) {channel="miio:basic:airpurifier:country_code"} ``` +### Smartmi Air Purifier (zhimi.airpurifier.za1) item file lines + +note: Autogenerated example. Replace the id (airpurifier) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +``` +Group G_airpurifier "Smartmi Air Purifier" +Switch on "Air Purifier - Switch Status" (G_airpurifier) {channel="miio:basic:airpurifier:on"} +Number fault "Air Purifier - Fault" (G_airpurifier) {channel="miio:basic:airpurifier:fault"} +Number mode "Air Purifier - Mode" (G_airpurifier) {channel="miio:basic:airpurifier:mode"} +Number air_quality "Environment - Air Quality" (G_airpurifier) {channel="miio:basic:airpurifier:air_quality"} +Number pm2_5_density "Environment - PM2 5 Density" (G_airpurifier) {channel="miio:basic:airpurifier:pm2_5_density"} +Number:Dimensionless relative_humidity "Environment - Relative Humidity" (G_airpurifier) {channel="miio:basic:airpurifier:relative_humidity"} +Number:Temperature temperature "Environment - Temperature" (G_airpurifier) {channel="miio:basic:airpurifier:temperature"} +Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_airpurifier) {channel="miio:basic:airpurifier:filter_life_level"} +Number:Time filter_used_time "Filter - Filter Used Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter_used_time"} +Switch alarm "Alarm - Alarm" (G_airpurifier) {channel="miio:basic:airpurifier:alarm"} +Number brightness "Indicator Light - Brightness" (G_airpurifier) {channel="miio:basic:airpurifier:brightness"} +Switch physical_controls_locked "Physical Control Locked - Physical Control Locked" (G_airpurifier) {channel="miio:basic:airpurifier:physical_controls_locked"} +Number:Time filter_max_time "Filter Time - Filter Max Time" (G_airpurifier) {channel="miio:basic:airpurifier:filter_max_time"} +Number favorite_fan_level "Motor Speed - Favorite Fan Level" (G_airpurifier) {channel="miio:basic:airpurifier:favorite_fan_level"} +Number motor_speed "Motor Speed - Motor Speed" (G_airpurifier) {channel="miio:basic:airpurifier:motor_speed"} +Number:Time use_time "Use Time - Use Time" (G_airpurifier) {channel="miio:basic:airpurifier:use_time"} +Number purify_volume "Aqi - Purify Volume" (G_airpurifier) {channel="miio:basic:airpurifier:purify_volume"} +Number average_aqi "Aqi - Average Aqi" (G_airpurifier) {channel="miio:basic:airpurifier:average_aqi"} +String aqi_zone "Aqi - Aqi Zone" (G_airpurifier) {channel="miio:basic:airpurifier:aqi_zone"} +Number sensor_state "Aqi - Sensor State" (G_airpurifier) {channel="miio:basic:airpurifier:sensor_state"} +String rfid_tag "Rfid - Rfid Tag" (G_airpurifier) {channel="miio:basic:airpurifier:rfid_tag"} +String rfid_factory_id "Rfid - Rfid Factory Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid_factory_id"} +String rfid_product_id "Rfid - Rfid Product Id" (G_airpurifier) {channel="miio:basic:airpurifier:rfid_product_id"} +String rfid_time "Rfid - Rfid Time" (G_airpurifier) {channel="miio:basic:airpurifier:rfid_time"} +String rfid_serial_num "Rfid - Rfid Serial Num" (G_airpurifier) {channel="miio:basic:airpurifier:rfid_serial_num"} +Number reboot_cause "Others - Reboot Cause" (G_airpurifier) {channel="miio:basic:airpurifier:reboot_cause"} +Number hw_version "Others - Hw Version" (G_airpurifier) {channel="miio:basic:airpurifier:hw_version"} +Number sgp_ethanol "Others - Sgp Ethanol" (G_airpurifier) {channel="miio:basic:airpurifier:sgp_ethanol"} +Number sgp_serial "Others - Sgp Serial" (G_airpurifier) {channel="miio:basic:airpurifier:sgp_serial"} +String sgp_version "Others - Sgp Version" (G_airpurifier) {channel="miio:basic:airpurifier:sgp_version"} +Number country_code "Others - Country Code" (G_airpurifier) {channel="miio:basic:airpurifier:country_code"} +Switch gesture_status "Others - Gesture Status" (G_airpurifier) {channel="miio:basic:airpurifier:gesture_status"} +``` + ### Mi Standing Fan (zhimi.fan.sa1) item file lines note: Autogenerated example. Replace the id (fan) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java index 16f871fc5f..bba32932b0 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoDevices.java @@ -348,6 +348,7 @@ public enum MiIoDevices { ZHIMI_AIRPURIFIER_VB2("zhimi.airpurifier.vb2", "Mi Air Purifier Pro H", THING_TYPE_BASIC), ZHIMI_AIRPURIFIER_VIRTUAL("zhimi.airpurifier.virtual", "Mi Air Purifier virtual", THING_TYPE_UNSUPPORTED), ZHIMI_AIRPURIFIER_VTL_M1("zhimi.airpurifier.vtl_m1", "Mi Air Purifier 2(Virtual)", THING_TYPE_UNSUPPORTED), + ZHIMI_AIRPURIFIER_ZA1("zhimi.airpurifier.za1", "Smartmi Air Purifier", THING_TYPE_BASIC), ZHIMI_FAN_SA1("zhimi.fan.sa1", "Mi Standing Fan", THING_TYPE_BASIC), ZHIMI_FAN_V1("zhimi.fan.v1", "Mi Smart Fan", THING_TYPE_BASIC), ZHIMI_FAN_V2("zhimi.fan.v2", "Smartmi DC Pedestal Fan", THING_TYPE_BASIC), diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.vb2-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.vb2-miot.json index 4e20dcae18..0b1cfadc92 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.vb2-miot.json +++ b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.vb2-miot.json @@ -201,7 +201,7 @@ "minimum": 0, "maximum": 600, "step": 1, - "pattern": "%.1f", + "pattern": "%.0f", "readOnly": true }, "refresh": true, @@ -236,7 +236,7 @@ "stateDescription": { "minimum": -40, "maximum": 125, - "pattern": "%.1f", + "pattern": "%.1f %unit%", "readOnly": true }, "refresh": true, diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.za1-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.za1-miot.json new file mode 100644 index 0000000000..7444888db8 --- /dev/null +++ b/bundles/org.openhab.binding.miio/src/main/resources/database/zhimi.airpurifier.za1-miot.json @@ -0,0 +1,659 @@ +{ + "deviceMapping": { + "id": [ + "zhimi.airpurifier.za1" + ], + "propertyMethod": "get_properties", + "maxProperties": 1, + "channels": [ + { + "property": "on", + "siid": 2, + "piid": 1, + "friendlyName": "Air Purifier - Switch Status", + "channel": "on", + "type": "Switch", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "ONOFFBOOL" + } + ] + }, + { + "property": "fault", + "siid": 2, + "piid": 2, + "friendlyName": "Air Purifier - Fault", + "channel": "fault", + "type": "Number", + "stateDescription": { + "readOnly": true, + "options": [ + { + "value": "0", + "label": "No faults" + }, + { + "value": "1", + "label": "m1_run" + }, + { + "value": "2", + "label": "m1_stuck" + }, + { + "value": "3", + "label": "no_sensor" + }, + { + "value": "4", + "label": "error_hum" + }, + { + "value": "5", + "label": "error_temp" + }, + { + "value": "6", + "label": "timer_error1" + }, + { + "value": "7", + "label": "timer_error2" + } + ] + }, + "refresh": true, + "actions": [], + "readmeComment": "Value mapping [\"0\"\u003d\"No faults\",\"1\"\u003d\"m1_run\",\"2\"\u003d\"m1_stuck\",\"3\"\u003d\"no_sensor\",\"4\"\u003d\"error_hum\",\"5\"\u003d\"error_temp\",\"6\"\u003d\"timer_error1\",\"7\"\u003d\"timer_error2\"]" + }, + { + "property": "mode", + "siid": 2, + "piid": 5, + "friendlyName": "Air Purifier - Mode", + "channel": "mode", + "type": "Number", + "stateDescription": { + "options": [ + { + "value": "0", + "label": "Auto" + }, + { + "value": "1", + "label": "Sleep" + }, + { + "value": "2", + "label": "Favorite" + } + ] + }, + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "readmeComment": "Value mapping [\"0\"\u003d\"Auto\",\"1\"\u003d\"Sleep\",\"2\"\u003d\"Favorite\"]" + }, + { + "property": "air-quality", + "siid": 3, + "piid": 1, + "friendlyName": "Environment - Air Quality", + "channel": "air_quality", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 500, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "pm2.5-density", + "siid": 3, + "piid": 6, + "friendlyName": "Environment - PM2 5 Density", + "channel": "pm2_5_density", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 600, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "relative-humidity", + "siid": 3, + "piid": 7, + "friendlyName": "Environment - Relative Humidity", + "channel": "relative_humidity", + "type": "Number:Dimensionless", + "unit": "percentage", + "stateDescription": { + "minimum": 0, + "maximum": 100, + "step": 1, + "pattern": "%.0f %unit%", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "temperature", + "siid": 3, + "piid": 8, + "friendlyName": "Environment - Temperature", + "channel": "temperature", + "type": "Number:Temperature", + "unit": "celsius", + "stateDescription": { + "minimum": -30, + "maximum": 100, + "pattern": "%.1f %unit%", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "filter-life-level", + "siid": 4, + "piid": 3, + "friendlyName": "Filter - Filter Life Level", + "channel": "filter_life_level", + "type": "Number:Dimensionless", + "unit": "percentage", + "stateDescription": { + "minimum": 0, + "maximum": 100, + "step": 1, + "pattern": "%.0f %unit%", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "filter-used-time", + "siid": 4, + "piid": 5, + "friendlyName": "Filter - Filter Used Time", + "channel": "filter_used_time", + "type": "Number:Time", + "unit": "hours", + "stateDescription": { + "minimum": 0, + "maximum": 15000, + "step": 1, + "pattern": "%.0f %unit%", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "alarm", + "siid": 5, + "piid": 1, + "friendlyName": "Alarm - Alarm", + "channel": "alarm", + "type": "Switch", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "ONOFFBOOL" + } + ] + }, + { + "property": "brightness", + "siid": 6, + "piid": 1, + "friendlyName": "Indicator Light - Brightness", + "channel": "brightness", + "type": "Number", + "stateDescription": { + "options": [ + { + "value": "0", + "label": "Bright" + }, + { + "value": "1", + "label": "Light" + }, + { + "value": "2", + "label": "Off" + } + ] + }, + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "readmeComment": "Value mapping [\"0\"\u003d\"Bright\",\"1\"\u003d\"Light\",\"2\"\u003d\"Off\"]" + }, + { + "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": "filter-max-time", + "siid": 9, + "piid": 1, + "friendlyName": "Filter Time - Filter Max Time", + "channel": "filter_max_time", + "type": "Number:Time", + "unit": "hours", + "stateDescription": { + "minimum": 2000, + "maximum": 6000, + "step": 1, + "pattern": "%.0f %unit%" + }, + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "favorite-fan-level", + "siid": 10, + "piid": 10, + "friendlyName": "Motor Speed - Favorite Fan Level", + "channel": "favorite_fan_level", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 14, + "step": 1, + "pattern": "%.0f" + }, + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "motor-speed", + "siid": 10, + "piid": 11, + "friendlyName": "Motor Speed - Motor Speed", + "channel": "motor_speed", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 3000, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "use-time", + "siid": 12, + "piid": 1, + "friendlyName": "Use Time - 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": "purify-volume", + "siid": 13, + "piid": 1, + "friendlyName": "Aqi - Purify Volume", + "channel": "purify_volume", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 2147483647, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "average-aqi", + "siid": 13, + "piid": 2, + "friendlyName": "Aqi - Average Aqi", + "channel": "average_aqi", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 600, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "aqi-zone", + "siid": 13, + "piid": 4, + "friendlyName": "Aqi - Aqi Zone", + "channel": "aqi_zone", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "sensor-state", + "siid": 13, + "piid": 5, + "friendlyName": "Aqi - Sensor State", + "channel": "sensor_state", + "type": "Number", + "stateDescription": { + "readOnly": true, + "options": [ + { + "value": "0", + "label": "waiting" + }, + { + "value": "1", + "label": "ready" + } + ] + }, + "refresh": true, + "actions": [], + "readmeComment": "Value mapping [\"0\"\u003d\"waiting\",\"1\"\u003d\"ready\"]" + }, + { + "property": "rfid-tag", + "siid": 14, + "piid": 1, + "friendlyName": "Rfid - Rfid Tag", + "channel": "rfid_tag", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "rfid-factory-id", + "siid": 14, + "piid": 2, + "friendlyName": "Rfid - Rfid Factory Id", + "channel": "rfid_factory_id", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "rfid-product-id", + "siid": 14, + "piid": 3, + "friendlyName": "Rfid - Rfid Product Id", + "channel": "rfid_product_id", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "rfid-time", + "siid": 14, + "piid": 4, + "friendlyName": "Rfid - Rfid Time", + "channel": "rfid_time", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "rfid-serial-num", + "siid": 14, + "piid": 5, + "friendlyName": "Rfid - Rfid Serial Num", + "channel": "rfid_serial_num", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "reboot-cause", + "siid": 15, + "piid": 6, + "friendlyName": "Others - Reboot Cause", + "channel": "reboot_cause", + "type": "Number", + "stateDescription": { + "readOnly": true, + "options": [ + { + "value": "0", + "label": "hardware" + }, + { + "value": "1", + "label": "human" + }, + { + "value": "2", + "label": "upgrade" + }, + { + "value": "3", + "label": "watchdog" + } + ] + }, + "refresh": true, + "actions": [], + "readmeComment": "Value mapping [\"0\"\u003d\"hardware\",\"1\"\u003d\"human\",\"2\"\u003d\"upgrade\",\"3\"\u003d\"watchdog\"]" + }, + { + "property": "hw-version", + "siid": 15, + "piid": 8, + "friendlyName": "Others - Hw Version", + "channel": "hw_version", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 65535, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "sgp-ethanol", + "siid": 15, + "piid": 9, + "friendlyName": "Others - Sgp Ethanol", + "channel": "sgp_ethanol", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": 65535, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "sgp-serial", + "siid": 15, + "piid": 10, + "friendlyName": "Others - Sgp Serial", + "channel": "sgp_serial", + "type": "Number", + "stateDescription": { + "minimum": 0, + "maximum": -1, + "step": 1, + "pattern": "%.0f", + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "sgp-version", + "siid": 15, + "piid": 11, + "friendlyName": "Others - Sgp Version", + "channel": "sgp_version", + "type": "String", + "stateDescription": { + "readOnly": true + }, + "refresh": true, + "actions": [] + }, + { + "property": "country-code", + "siid": 15, + "piid": 12, + "friendlyName": "Others - Country Code", + "channel": "country_code", + "type": "Number", + "stateDescription": { + "options": [ + { + "value": "1", + "label": "America" + }, + { + "value": "2", + "label": "Canada" + }, + { + "value": "3", + "label": "Singapore" + }, + { + "value": "4", + "label": "Europe" + }, + { + "value": "5", + "label": "Australian" + }, + { + "value": "6", + "label": "Korea" + }, + { + "value": "7", + "label": "China" + }, + { + "value": "8", + "label": "France" + }, + { + "value": "9", + "label": "Japanese" + }, + { + "value": "10", + "label": "Taiwan" + } + ] + }, + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "readmeComment": "Value mapping [\"1\"\u003d\"America\",\"2\"\u003d\"Canada\",\"3\"\u003d\"Singapore\",\"4\"\u003d\"Europe\",\"5\"\u003d\"Australian\",\"6\"\u003d\"Korea\",\"7\"\u003d\"China\",\"8\"\u003d\"France\",\"9\"\u003d\"Japanese\",\"10\"\u003d\"Taiwan\"]" + }, + { + "property": "gesture-status", + "siid": 15, + "piid": 13, + "friendlyName": "Others - Gesture Status", + "channel": "gesture_status", + "type": "Switch", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "ONOFFBOOL" + } + ] + } + ], + "experimental": true + } +}