Abode push events and lock, cover, and switch components (#9095)
* 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
This commit is contained in:
parent
81a00bf3f1
commit
33c906c20a
7 changed files with 270 additions and 95 deletions
53
homeassistant/components/switch/abode.py
Normal file
53
homeassistant/components/switch/abode.py
Normal file
|
@ -0,0 +1,53 @@
|
|||
"""
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue