| 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 |
| temperature | Number | Temperature | |
| childlock | Switch | Child Lock | |
+### Xiaomi youpin Curtain Controller (Wi-Fi) (<a name="lumi-curtain-hagl05">lumi.curtain.hagl05</a>) 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 (<a name="mrbond-airer-m1pro">mrbond.airer.m1pro</a>) Channels
| Channel | Type | Description | Comment |
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)" <status>
+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.
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),
<item-type>Switch</item-type>
<label>Generic Bool</label>
</channel-type>
+ <channel-type id="LumiCurtainHagl05_fault">
+ <item-type>Number</item-type>
+ <label>Curtain - Device Fault</label>
+ <state>
+ <options>
+ <option value="0">No faults</option>
+ </options>
+ </state>
+ </channel-type>
+ <channel-type id="LumiCurtainHagl05_status">
+ <item-type>Number</item-type>
+ <label>Curtain - Status</label>
+ <state>
+ <options>
+ <option value="0">Stopped</option>
+ <option value="1">Opening</option>
+ <option value="2">Closing</option>
+ </options>
+ </state>
+ </channel-type>
+ <channel-type id="LumiCurtainHagl05_manual-enabled">
+ <item-type>Number</item-type>
+ <label>curtain_cfg - manual_enabled</label>
+ <state>
+ <options>
+ <option value="0">Disable</option>
+ <option value="1">Enable</option>
+ </options>
+ </state>
+ </channel-type>
+ <channel-type id="LumiCurtainHagl05_polarity">
+ <item-type>Number</item-type>
+ <label>curtain_cfg - polarity</label>
+ <state>
+ <options>
+ <option value="0">Positive</option>
+ <option value="1">Reverse</option>
+ </options>
+ </state>
+ </channel-type>
+ <channel-type id="LumiCurtainHagl05_pos-limit">
+ <item-type>Number</item-type>
+ <label>curtain_cfg - pos_limit</label>
+ <state>
+ <options>
+ <option value="0">Unlimit</option>
+ <option value="1">Limit</option>
+ </options>
+ </state>
+ </channel-type>
+ <channel-type id="LumiCurtainHagl05_en-night-tip-light">
+ <item-type>Switch</item-type>
+ <label>curtain_cfg - en_night_tip_light</label>
+ <state>
+ <options>
+ <option value="0">Disable</option>
+ <option value="1">Enable</option>
+ </options>
+ </state>
+ </channel-type>
<channel-type id="vacuumaction">
<item-type>Number</item-type>
<label>Vacuum Action</label>
--- /dev/null
+{
+ "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
+ }
+}