Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self.ACTIONNODE.update({"PRESS_SHORT": self._hmipw_keypress_event_channels,
"PRESS_LONG": self._hmipw_keypress_event_channels})
self.BINARYNODE.update({"STATE": self._hmipw_binarysensor_channels})
@property
def ELEMENT(self):
""" General channel definition """
if "HmIPW-DRI16" in self.TYPE:
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
elif "HmIPW-DRI32" in self.TYPE:
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
return [1]
class RFSiren(GenericSwitch, HelperWorking, HelperRssiPeer):
"""
HM-Sec-Sir-WM Siren
"""
def __init__(self, device_description, proxy, resolveparamsets=False):
super().__init__(device_description, proxy, resolveparamsets)
# init metadata
self.ATTRIBUTENODE.update({"ERROR_SABOTAGE": self.ELEMENT,
"LOWBAT": self.ELEMENT})
self.SENSORNODE.update({"ARMSTATE": [4]})
self.WRITENODE.update({"ARMSTATE": [4]})
@property
def ELEMENT(self):
return [1, 2, 3]
"""Rain / Heat sensor with heating switch"""
def __init__(self, device_description, proxy, resolveparamsets=False):
super().__init__(device_description, proxy, resolveparamsets)
# init metadata
self.BINARYNODE.update({"STATE": [1]})
def is_rain(self, channel=None):
""" Returns True when raining. """
return self.get_state(channel)
@property
def ELEMENT(self):
return [2]
class Switch(GenericSwitch, HelperWorking, HelperRssiPeer):
"""
Switch turning plugged in device on or off.
"""
@property
def ELEMENT(self):
if "LC-Sw2" in self.TYPE or "Sec-SFA-SM" in self.TYPE:
return [1, 2]
elif "LC-Sw4" in self.TYPE:
return [1, 2, 3, 4]
elif "Re-8" in self.TYPE:
return [1, 2, 3, 4, 5, 6, 7, 8]
elif "HM-OU-CFM-Pl" in self.TYPE or "HM-OU-CFM-TW" in self.TYPE or "HM-OU-CF-Pl" in self.TYPE:
return [1, 2]
elif "HMW-IO-12-Sw14-DR" in self.TYPE:
return [1, 2, 3, 4, 5, 6]
elif "HMW-IO-12-Sw7-DR" in self.TYPE:
return self.get_state(channel)
def is_off(self, channel=None):
""" Returns True if switch is off. """
return not self.get_state(channel)
def on(self, channel=None):
"""Turn switch on."""
self.set_state(True, channel)
def off(self, channel=None):
"""Turn switch off."""
self.set_state(False, channel)
class Rain(GenericSwitch, HelperWorking):
"""Rain / Heat sensor with heating switch"""
def __init__(self, device_description, proxy, resolveparamsets=False):
super().__init__(device_description, proxy, resolveparamsets)
# init metadata
self.BINARYNODE.update({"STATE": [1]})
def is_rain(self, channel=None):
""" Returns True when raining. """
return self.get_state(channel)
@property
def ELEMENT(self):
return [2]
class Switch(GenericSwitch, HelperWorking, HelperRssiPeer):
"""
def move_up(self, channel=None):
"""Move the shutter up all the way."""
self.set_level(1.0, channel)
def move_down(self, channel=None):
"""Move the shutter down all the way."""
self.set_level(0.0, channel)
def stop(self, channel=None):
"""Stop moving."""
self.actionNodeData("STOP", True, channel)
class Blind(GenericBlind, HelperWorking, HelperRssiPeer):
"""
Blind switch that raises and lowers roller shutters or window blinds.
"""
def __init__(self, device_description, proxy, resolveparamsets=False):
super().__init__(device_description, proxy, resolveparamsets)
# init metadata
self.ACTIONNODE.update({"STOP": self.ELEMENT})
class IPBlind(GenericBlind, HelperRssiPeer):
"""
Blind switch that raises and lowers roller shutters or window blinds.
"""
def __init__(self, device_description, proxy, resolveparamsets=False):
super().__init__(device_description, proxy, resolveparamsets)