diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md index 3392514ff86..1bf0aace846 100644 --- a/bundles/org.openhab.binding.miio/README.md +++ b/bundles/org.openhab.binding.miio/README.md @@ -147,6 +147,9 @@ or in case of unknown models include the model information e.g.: | Mi Humdifier | miio:basic | [zhimi.humidifier.v1](#zhimi-humidifier-v1) | Yes | | | Light Control (Wall Switch) | miio:unsupported | lumi.ctrl_neutral1.v1 | No | | | Light Control (Wall Switch) | miio:unsupported | lumi.ctrl_neutral2.v1 | No | | +| Mr Bond M1 Pro Smart Clothes Dryer | miio:basic | [mrbond.airer.m1pro](#mrbond-airer-m1pro) | Yes | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses | +| Mr Bond M1 Smart Clothes Dryer | miio:basic | [mrbond.airer.m1s](#mrbond-airer-m1s) | Yes | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses | +| Mr Bond M1 Super Smart Clothes Dryer | miio:basic | [mrbond.airer.m1super](#mrbond-airer-m1super) | Yes | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses | | Xiaomi Philips Eyecare Smart Lamp 2 | miio:basic | [philips.light.sread1](#philips-light-sread1) | Yes | | | Xiaomi Philips Eyecare Smart Lamp 2 | miio:basic | [philips.light.sread2](#philips-light-sread2) | Yes | | | Xiaomi Philips LED Ceiling Lamp | miio:basic | [philips.light.ceiling](#philips-light-ceiling) | Yes | | @@ -1207,6 +1210,42 @@ e.g. `smarthome:send actionCommand 'upd_timer["1498595904821", "on"]'` would ena | temperature | Number | Temperature | | | childlock | Switch | Child Lock | | +### Mr Bond M1 Pro Smart Clothes Dryer (mrbond.airer.m1pro) Channels + +| Channel | Type | Description | Comment | +|------------------|---------|-------------------------------------|------------| +| dry | Switch | Dry | | +| led | Switch | LED Status | | +| motor | Number | Motor | | +| drytime | Number | Dry Time | | +| airer_location | Number | Airer Location | | +| disinfect | Switch | disinfect | | +| distime | Number | Disinfect Time | | + +### Mr Bond M1 Smart Clothes Dryer (mrbond.airer.m1s) Channels + +| Channel | Type | Description | Comment | +|------------------|---------|-------------------------------------|------------| +| dry | Switch | Dry | | +| led | Switch | LED Status | | +| motor | Number | Motor | | +| drytime | Number | Dry Time | | +| airer_location | Number | Airer Location | | +| disinfect | Switch | disinfect | | +| distime | Number | Disinfect Time | | + +### Mr Bond M1 Super Smart Clothes Dryer (mrbond.airer.m1super) Channels + +| Channel | Type | Description | Comment | +|------------------|---------|-------------------------------------|------------| +| dry | Switch | Dry | | +| led | Switch | LED Status | | +| motor | Number | Motor | | +| drytime | Number | Dry Time | | +| airer_location | Number | Airer Location | | +| disinfect | Switch | disinfect | | +| distime | Number | Disinfect Time | | + ### Xiaomi Philips Eyecare Smart Lamp 2 (philips.light.sread1) Channels | Channel | Type | Description | Comment | @@ -4070,6 +4109,51 @@ Number temperature "Temperature" (G_humidifier) {channel="miio:basic:humidifier: Switch childlock "Child Lock" (G_humidifier) {channel="miio:basic:humidifier:childlock"} ``` +### Mr Bond M1 Pro Smart Clothes Dryer (mrbond.airer.m1pro) item file lines + +note: Autogenerated example. Replace the id (airer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +```java +Group G_airer "Mr Bond M1 Pro Smart Clothes Dryer" +Switch dry "Dry" (G_airer) {channel="miio:basic:airer:dry"} +Switch led "LED Status" (G_airer) {channel="miio:basic:airer:led"} +Number motor "Motor" (G_airer) {channel="miio:basic:airer:motor"} +Number drytime "Dry Time" (G_airer) {channel="miio:basic:airer:drytime"} +Number airer_location "Airer Location" (G_airer) {channel="miio:basic:airer:airer_location"} +Switch disinfect "disinfect" (G_airer) {channel="miio:basic:airer:disinfect"} +Number distime "Disinfect Time" (G_airer) {channel="miio:basic:airer:distime"} +``` + +### Mr Bond M1 Smart Clothes Dryer (mrbond.airer.m1s) item file lines + +note: Autogenerated example. Replace the id (airer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +```java +Group G_airer "Mr Bond M1 Smart Clothes Dryer" +Switch dry "Dry" (G_airer) {channel="miio:basic:airer:dry"} +Switch led "LED Status" (G_airer) {channel="miio:basic:airer:led"} +Number motor "Motor" (G_airer) {channel="miio:basic:airer:motor"} +Number drytime "Dry Time" (G_airer) {channel="miio:basic:airer:drytime"} +Number airer_location "Airer Location" (G_airer) {channel="miio:basic:airer:airer_location"} +Switch disinfect "disinfect" (G_airer) {channel="miio:basic:airer:disinfect"} +Number distime "Disinfect Time" (G_airer) {channel="miio:basic:airer:distime"} +``` + +### Mr Bond M1 Super Smart Clothes Dryer (mrbond.airer.m1super) item file lines + +note: Autogenerated example. Replace the id (airer) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +```java +Group G_airer "Mr Bond M1 Super Smart Clothes Dryer" +Switch dry "Dry" (G_airer) {channel="miio:basic:airer:dry"} +Switch led "LED Status" (G_airer) {channel="miio:basic:airer:led"} +Number motor "Motor" (G_airer) {channel="miio:basic:airer:motor"} +Number drytime "Dry Time" (G_airer) {channel="miio:basic:airer:drytime"} +Number airer_location "Airer Location" (G_airer) {channel="miio:basic:airer:airer_location"} +Switch disinfect "disinfect" (G_airer) {channel="miio:basic:airer:disinfect"} +Number distime "Disinfect Time" (G_airer) {channel="miio:basic:airer:distime"} +``` + ### Xiaomi Philips Eyecare Smart Lamp 2 (philips.light.sread1) item file lines note: Autogenerated example. Replace the id (light) 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 d596daff6c6..3755b31c6ff 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 @@ -88,6 +88,10 @@ public enum MiIoDevices { HUMIDIFIER("zhimi.humidifier.v1", "Mi Humdifier", THING_TYPE_BASIC), LUMI_C11("lumi.ctrl_neutral1.v1", "Light Control (Wall Switch)", THING_TYPE_UNSUPPORTED), LUMI_C12("lumi.ctrl_neutral2.v1", "Light Control (Wall Switch)", THING_TYPE_UNSUPPORTED), + MRBOND_AIRER_M1PRO("mrbond.airer.m1pro", "Mr Bond M1 Pro Smart Clothes Dryer", THING_TYPE_BASIC), + MRBOND_AIRER_M1S("mrbond.airer.m1s", "Mr Bond M1 Smart Clothes Dryer", THING_TYPE_BASIC), + MRBOND_AIRER_M1SUPER("mrbond.airer.m1super", "Mr Bond M1 Super Smart Clothes Dryer", THING_TYPE_BASIC), + PHILIPS_R1("philips.light.sread1", "Xiaomi Philips Eyecare Smart Lamp 2", THING_TYPE_BASIC), PHILIPS_SR1("philips.light.sread1", "Xiaomi Philips Eyecare Smart Lamp 2", THING_TYPE_BASIC), PHILIPS_SR2("philips.light.sread2", "Xiaomi Philips Eyecare Smart Lamp 2", THING_TYPE_BASIC), PHILIPS_C("philips.light.ceiling", "Xiaomi Philips LED Ceiling Lamp", THING_TYPE_BASIC), diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/mrbond.airer.m1pro.json b/bundles/org.openhab.binding.miio/src/main/resources/database/mrbond.airer.m1pro.json new file mode 100644 index 00000000000..746b3296b8c --- /dev/null +++ b/bundles/org.openhab.binding.miio/src/main/resources/database/mrbond.airer.m1pro.json @@ -0,0 +1,107 @@ +{ + "deviceMapping": { + "id": [ + "mrbond.airer.m1s", + "mrbond.airer.m1pro", + "mrbond.airer.m1super" + ], + "propertyMethod": "get_prop", + "maxProperties": 2, + "channels": [ + { + "property": "dry", + "friendlyName": "Dry", + "channel": "dry", + "type": "Switch", + "refresh": true, + "ChannelGroup": "Status", + "actions": [ + { + "command": "set_dry", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "led", + "friendlyName": "LED Status", + "channel": "led", + "type": "Switch", + "refresh": true, + "ChannelGroup": "actions", + "actions": [ + { + "command": "set_lamp", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "motor", + "friendlyName": "Motor", + "channel": "motor", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_motor", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "drytime", + "friendlyName": "Dry Time", + "channel": "drytime", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_drytime", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "airer_location", + "friendlyName": "Airer Location", + "channel": "airer_location", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_airer_location", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "disinfect", + "friendlyName": "disinfect", + "channel": "disinfect", + "type": "Switch", + "refresh": true, + "actions": [ + { + "command": "set_disinfect", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "distime", + "friendlyName": "Disinfect Time", + "channel": "distime", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_distime", + "parameterType": "NUMBER" + } + ] + } + ], + "experimental": true + } +}