* Updated abodepy version to 0.7.1 * Refactored to use AbodeDevice. Added Abode Lock device. * Added push updates to abode devices. * Upgraded to 0.7.2 after finding issue with callbacks. * Refactored to use AbodeDevice. Added Abode Lock device. * Added push updates to abode devices. * Upgraded to 0.7.2 after finding issue with callbacks. * Bumped version to 0.8.2. Modified code to work with new constants and properties. Added cover and switch. * Fixed hound violations. * Updated to 0.8.3 to fix small bug with standby mode. Fixed comment in cover/abode.py. * Fix lint issues * Removed excessive logging. Moved device callback registration to async_added_to_hass. Moved abode controller from global into hass data. * Removed explicit None from dict.get() * Move device class into the constructor. * Changed constant name to platforms. * Changes as requested. * Removing stray blank line. * Added blank line of which I'm not sure how it was removed. * Updated version to 0.9.0. Fixed motion sensor. Added power_switch_meter device type. * Update abode.py * fix lint
53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
"""
|
|
This component provides HA switch support for Abode Security System.
|
|
|
|
For more details about this platform, please refer to the documentation at
|
|
https://home-assistant.io/components/switch.abode/
|
|
"""
|
|
import logging
|
|
|
|
from homeassistant.components.abode import AbodeDevice, DATA_ABODE
|
|
from homeassistant.components.switch import SwitchDevice
|
|
|
|
|
|
DEPENDENCIES = ['abode']
|
|
|
|
_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
def setup_platform(hass, config, add_devices, discovery_info=None):
|
|
"""Set up Abode switch devices."""
|
|
import abodepy.helpers.constants as CONST
|
|
|
|
abode = hass.data[DATA_ABODE]
|
|
|
|
device_types = [
|
|
CONST.DEVICE_POWER_SWITCH_SENSOR,
|
|
CONST.DEVICE_POWER_SWITCH_METER]
|
|
|
|
sensors = []
|
|
for sensor in abode.get_devices(type_filter=device_types):
|
|
sensors.append(AbodeSwitch(abode, sensor))
|
|
|
|
add_devices(sensors)
|
|
|
|
|
|
class AbodeSwitch(AbodeDevice, SwitchDevice):
|
|
"""Representation of an Abode switch."""
|
|
|
|
def __init__(self, controller, device):
|
|
"""Initialize the Abode device."""
|
|
AbodeDevice.__init__(self, controller, device)
|
|
|
|
def turn_on(self, **kwargs):
|
|
"""Turn on the device."""
|
|
self._device.switch_on()
|
|
|
|
def turn_off(self, **kwargs):
|
|
"""Turn off the device."""
|
|
self._device.switch_off()
|
|
|
|
@property
|
|
def is_on(self):
|
|
"""Return true if device is on."""
|
|
return self._device.is_on
|