4646Cover entities for Xiaomi Home.
4747"""
4848from __future__ import annotations
49- import logging
5049from typing import Any , Optional
50+ import re
51+ import logging
5152
5253from homeassistant .config_entries import ConfigEntry
5354from homeassistant .core import HomeAssistant
@@ -97,7 +98,6 @@ class Cover(MIoTServiceEntity, CoverEntity):
9798 _prop_status : Optional [MIoTSpecProperty ]
9899 _prop_status_opening : Optional [list [int ]]
99100 _prop_status_closing : Optional [list [int ]]
100- _prop_status_stop : Optional [list [int ]]
101101 _prop_status_closed : Optional [list [int ]]
102102 _prop_current_position : Optional [MIoTSpecProperty ]
103103 _prop_target_position : Optional [MIoTSpecProperty ]
@@ -122,7 +122,6 @@ def __init__(self, miot_device: MIoTDevice,
122122 self ._prop_status = None
123123 self ._prop_status_opening = []
124124 self ._prop_status_closing = []
125- self ._prop_status_stop = []
126125 self ._prop_status_closed = []
127126 self ._prop_current_position = None
128127 self ._prop_target_position = None
@@ -159,13 +158,21 @@ def __init__(self, miot_device: MIoTDevice,
159158 self .entity_id )
160159 continue
161160 for item in prop .value_list .items :
162- if item .name in {'opening' , 'open' , 'up' }:
161+ item_str : str = item .name
162+ item_name : str = re .sub (r'[^a-z]' , '' , item_str )
163+ if item_name in {
164+ 'opening' , 'open' , 'up' , 'uping' , 'rise' , 'rising'
165+ }:
163166 self ._prop_status_opening .append (item .value )
164- elif item .name in {'closing' , 'close' , 'down' , 'dowm' }:
167+ elif item_name in {
168+ 'closing' , 'close' , 'down' , 'dowm' , 'falling' ,
169+ 'dropping' , 'downing' , 'lower'
170+ }:
165171 self ._prop_status_closing .append (item .value )
166- elif item .name in {'stop' , 'stopped' , 'pause' }:
167- self ._prop_status_stop .append (item .value )
168- elif item .name in {'closed' }:
172+ elif item_name in {
173+ 'stopatlowest' , 'stoplowerlimit' , 'lowerlimitstop' ,
174+ 'floor' , 'lowerlimit'
175+ }:
169176 self ._prop_status_closed .append (item .value )
170177 self ._prop_status = prop
171178 elif prop .name == 'current-position' :
0 commit comments