Add Velux Windows to Tahoma (#11538)
* Add Velux Windows to Tahoma * fix linit * add supported Tahoma devices by @glpatcern * hound * lint * fix logging * lint * lint * remove blank line after docstring * changes based on notes by @armills * fix loggingpull/11567/head
parent
0d06e8c1c9
commit
02979db3d6
|
@ -74,3 +74,10 @@ class TahomaCover(TahomaDevice, CoverDevice):
|
|||
def stop_cover(self, **kwargs):
|
||||
"""Stop the cover."""
|
||||
self.apply_action('stopIdentify')
|
||||
|
||||
def device_class(self):
|
||||
"""Return the class of this device, from component DEVICE_CLASSES."""
|
||||
if self.tahoma_device.type == 'io:WindowOpenerVeluxIOComponent':
|
||||
return 'window'
|
||||
else:
|
||||
return None
|
||||
|
|
|
@ -36,6 +36,14 @@ TAHOMA_COMPONENTS = [
|
|||
'sensor', 'cover'
|
||||
]
|
||||
|
||||
TAHOMA_TYPES = {
|
||||
'rts:RollerShutterRTSComponent': 'cover',
|
||||
'rts:CurtainRTSComponent': 'cover',
|
||||
'io:RollerShutterWithLowSpeedManagementIOComponent': 'cover',
|
||||
'io:WindowOpenerVeluxIOComponent': 'cover',
|
||||
'io:LightIOSystemSensor': 'sensor',
|
||||
}
|
||||
|
||||
|
||||
def setup(hass, config):
|
||||
"""Activate Tahoma component."""
|
||||
|
@ -68,6 +76,8 @@ def setup(hass, config):
|
|||
if all(ext not in _device.type for ext in exclude):
|
||||
device_type = map_tahoma_device(_device)
|
||||
if device_type is None:
|
||||
_LOGGER.warning('Unsupported type %s for Tahoma device %s',
|
||||
_device.type, _device.label)
|
||||
continue
|
||||
hass.data[DOMAIN]['devices'][device_type].append(_device)
|
||||
|
||||
|
@ -78,12 +88,8 @@ def setup(hass, config):
|
|||
|
||||
|
||||
def map_tahoma_device(tahoma_device):
|
||||
"""Map tahoma classes to Home Assistant types."""
|
||||
if tahoma_device.type.lower().find("shutter") != -1:
|
||||
return 'cover'
|
||||
elif tahoma_device.type == 'io:LightIOSystemSensor':
|
||||
return 'sensor'
|
||||
return None
|
||||
"""Map Tahoma device types to Home Assistant components."""
|
||||
return TAHOMA_TYPES.get(tahoma_device.type)
|
||||
|
||||
|
||||
class TahomaDevice(Entity):
|
||||
|
|
Loading…
Reference in New Issue