diff --git a/bundles/org.openhab.binding.miio/README.md b/bundles/org.openhab.binding.miio/README.md index 1fa6c7c31..9e08ec8fc 100644 --- a/bundles/org.openhab.binding.miio/README.md +++ b/bundles/org.openhab.binding.miio/README.md @@ -149,6 +149,7 @@ or in case of unknown models include the model information of a similar device t | 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 | | +| Xiaomi youpin Curtain Controller (Wi-Fi) | miio:basic | [lumi.curtain.hagl05](#lumi-curtain-hagl05) | 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 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 | @@ -1287,6 +1288,20 @@ e.g. `smarthome:send actionCommand 'upd_timer["1498595904821", "on"]'` would ena | temperature | Number | Temperature | | | childlock | Switch | Child Lock | | +### Xiaomi youpin Curtain Controller (Wi-Fi) (lumi.curtain.hagl05) Channels + +| Channel | Type | Description | Comment | +|------------------|---------|-------------------------------------|------------| +| fault | Number | Curtain - Device Fault | Value mapping [0="No faults"] | +| current-position | Number | Curtain - Current Position | | +| status | Number | Curtain - Status | Value mapping [0="Stopped",1="Opening",2="Closing"] | +| target-position | Number | Curtain - Target Position | | +| manual-enabled | Number | curtain_cfg - manual_enabled | Value mapping [0="Disable",1="Enable"] | +| polarity | Number | curtain_cfg - polarity | Value mapping [0="Positive",1="Reverse"] | +| pos-limit | Number | curtain_cfg - pos_limit | Value mapping [0="Unlimit",1="Limit"] | +| en-night-tip-light | Switch | Set night tip light | Value mapping [0="Disable",1="Enable"] | +| run-time | Number | curtain_cfg - run_time | | + ### Mr Bond M1 Pro Smart Clothes Dryer (mrbond.airer.m1pro) Channels | Channel | Type | Description | Comment | @@ -4262,6 +4277,23 @@ Number temperature "Temperature" (G_humidifier) {channel="miio:basic:humidifier: Switch childlock "Child Lock" (G_humidifier) {channel="miio:basic:humidifier:childlock"} ``` +### Xiaomi youpin Curtain Controller (Wi-Fi) (lumi.curtain.hagl05) item file lines + +note: Autogenerated example. Replace the id (curtain) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered. + +```java +Group G_curtain "Xiaomi youpin Curtain Controller (Wi-Fi)" +Number fault "Curtain - Device Fault" (G_curtain) {channel="miio:basic:curtain:fault"} +Number current-position "Curtain - Current Position" (G_curtain) {channel="miio:basic:curtain:current-position"} +Number status "Curtain - Status" (G_curtain) {channel="miio:basic:curtain:status"} +Number target-position "Curtain - Target Position" (G_curtain) {channel="miio:basic:curtain:target-position"} +Number manual-enabled "curtain_cfg - manual_enabled" (G_curtain) {channel="miio:basic:curtain:manual-enabled"} +Number polarity "curtain_cfg - polarity" (G_curtain) {channel="miio:basic:curtain:polarity"} +Number pos-limit "curtain_cfg - pos_limit" (G_curtain) {channel="miio:basic:curtain:pos-limit"} +Switch en-night-tip-light "Set night tip light" (G_curtain) {channel="miio:basic:curtain:en-night-tip-light"} +Number run-time "curtain_cfg - run_time" (G_curtain) {channel="miio:basic:curtain:run-time"} +``` + ### 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. 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 3198a4b7a..8044452c7 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 @@ -89,6 +89,7 @@ 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), + LUMI_CURTAIN_HAGL05("lumi.curtain.hagl05", "Xiaomi youpin Curtain Controller (Wi-Fi)", THING_TYPE_BASIC), 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), diff --git a/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/thing/commonChannels.xml b/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/thing/commonChannels.xml index 12404925b..a9b137edf 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/thing/commonChannels.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/OH-INF/thing/commonChannels.xml @@ -509,6 +509,66 @@ Switch + + Number + + + + + + + + + Number + + + + + + + + + + + Number + + + + + + + + + + Number + + + + + + + + + + Number + + + + + + + + + + Switch + + + + + + + + Number diff --git a/bundles/org.openhab.binding.miio/src/main/resources/database/lumi.curtain.hagl05-miot.json b/bundles/org.openhab.binding.miio/src/main/resources/database/lumi.curtain.hagl05-miot.json new file mode 100644 index 000000000..497618906 --- /dev/null +++ b/bundles/org.openhab.binding.miio/src/main/resources/database/lumi.curtain.hagl05-miot.json @@ -0,0 +1,202 @@ +{ + "deviceMapping": { + "id": [ + "lumi.curtain.hagl05" + ], + "propertyMethod": "get_properties", + "maxProperties": 1, + "channels": [ + { + "property": "fault", + "siid": 2, + "piid": 1, + "friendlyName": "Curtain - Device Fault", + "channel": "fault", + "channelType": "LumiCurtainHagl05_fault", + "type": "Number", + "refresh": true, + "actions": [], + "value-list": [ + { + "value": 0, + "description": "No faults" + } + ], + "readmeComment": "Value mapping [0\u003d\"No faults\"]" + }, + { + "property": "current-position", + "siid": 2, + "piid": 3, + "friendlyName": "Curtain - Current Position", + "channel": "current-position", + "channelType": "miot_uint8", + "type": "Number", + "refresh": true, + "actions": [] + }, + { + "property": "status", + "siid": 2, + "piid": 6, + "friendlyName": "Curtain - Status", + "channel": "status", + "channelType": "LumiCurtainHagl05_status", + "type": "Number", + "refresh": true, + "actions": [], + "value-list": [ + { + "value": 0, + "description": "Stopped" + }, + { + "value": 1, + "description": "Opening" + }, + { + "value": 2, + "description": "Closing" + } + ], + "readmeComment": "Value mapping [0\u003d\"Stopped\",1\u003d\"Opening\",2\u003d\"Closing\"]" + }, + { + "property": "target-position", + "siid": 2, + "piid": 7, + "friendlyName": "Curtain - Target Position", + "channel": "target-position", + "channelType": "miot_uint8", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ] + }, + { + "property": "manual-enabled", + "siid": 4, + "piid": 1, + "friendlyName": "curtain_cfg - Manual Enabled", + "channel": "manual-enabled", + "channelType": "LumiCurtainHagl05_manual-enabled", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "value-list": [ + { + "value": 0, + "description": "Disable" + }, + { + "value": 1, + "description": "Enable" + } + ], + "readmeComment": "Value mapping [0\u003d\"Disable\",1\u003d\"Enable\"]" + }, + { + "property": "polarity", + "siid": 4, + "piid": 2, + "friendlyName": "curtain_cfg - Polarity", + "channel": "polarity", + "channelType": "LumiCurtainHagl05_polarity", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "value-list": [ + { + "value": 0, + "description": "Positive" + }, + { + "value": 1, + "description": "Reverse" + } + ], + "readmeComment": "Value mapping [0\u003d\"Positive\",1\u003d\"Reverse\"]" + }, + { + "property": "pos-limit", + "siid": 4, + "piid": 3, + "friendlyName": "curtain_cfg - Position Limit", + "channel": "pos-limit", + "channelType": "LumiCurtainHagl05_pos-limit", + "type": "Number", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "value-list": [ + { + "value": 0, + "description": "Unlimit" + }, + { + "value": 1, + "description": "Limit" + } + ], + "readmeComment": "Value mapping [0\u003d\"Unlimit\",1\u003d\"Limit\"]" + }, + { + "property": "en-night-tip-light", + "siid": 4, + "piid": 4, + "friendlyName": "Set Night Tip Light", + "channel": "en-night-tip-light", + "channelType": "LumiCurtainHagl05_en-night-tip-light", + "type": "Switch", + "refresh": true, + "actions": [ + { + "command": "set_properties", + "parameterType": "NUMBER" + } + ], + "value-list": [ + { + "value": 0, + "description": "Disable" + }, + { + "value": 1, + "description": "Enable" + } + ], + "readmeComment": "Value mapping [0\u003d\"Disable\",1\u003d\"Enable\"]" + }, + { + "property": "run-time", + "siid": 4, + "piid": 5, + "friendlyName": "curtain_cfg - Run-time", + "channel": "run-time", + "channelType": "miot_int32", + "type": "Number", + "refresh": true, + "actions": [] + } + ], + "experimental": true + } +}