core/homeassistant/components/lock/wink.py

42 lines
1.1 KiB
Python
Raw Normal View History

"""
Support for Wink locks.
For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/lock.wink/
"""
from homeassistant.components.lock import LockDevice
from homeassistant.components.wink import WinkDevice, DOMAIN
2016-09-20 07:05:54 +00:00
DEPENDENCIES = ['wink']
2015-12-17 03:45:58 +00:00
def setup_platform(hass, config, add_devices, discovery_info=None):
"""Set up the Wink platform."""
import pywink
for lock in pywink.get_locks():
2017-02-09 03:57:58 +00:00
_id = lock.object_id() + lock.name()
if _id not in hass.data[DOMAIN]['unique_ids']:
add_devices([WinkLockDevice(lock, hass)])
2016-06-29 21:16:53 +00:00
class WinkLockDevice(WinkDevice, LockDevice):
2016-03-07 21:13:18 +00:00
"""Representation of a Wink lock."""
def __init__(self, wink, hass):
2016-03-07 21:13:18 +00:00
"""Initialize the lock."""
super().__init__(wink, hass)
@property
def is_locked(self):
2016-02-28 11:03:47 +00:00
"""Return true if device is locked."""
return self.wink.state()
def lock(self, **kwargs):
2016-02-28 11:03:47 +00:00
"""Lock the device."""
self.wink.set_state(True)
def unlock(self, **kwargs):
2016-02-28 11:03:47 +00:00
"""Unlock the device."""
self.wink.set_state(False)