46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
|
"""Collection of helper methods.
|
||
|
|
||
|
All containing methods are legacy helpers that should not be used by new
|
||
|
components. Instead call the service directly.
|
||
|
"""
|
||
|
from homeassistant.components.lock import DOMAIN
|
||
|
from homeassistant.const import (
|
||
|
ATTR_CODE, ATTR_ENTITY_ID, SERVICE_LOCK, SERVICE_UNLOCK, SERVICE_OPEN)
|
||
|
from homeassistant.loader import bind_hass
|
||
|
|
||
|
|
||
|
@bind_hass
|
||
|
def lock(hass, entity_id=None, code=None):
|
||
|
"""Lock all or specified locks."""
|
||
|
data = {}
|
||
|
if code:
|
||
|
data[ATTR_CODE] = code
|
||
|
if entity_id:
|
||
|
data[ATTR_ENTITY_ID] = entity_id
|
||
|
|
||
|
hass.services.call(DOMAIN, SERVICE_LOCK, data)
|
||
|
|
||
|
|
||
|
@bind_hass
|
||
|
def unlock(hass, entity_id=None, code=None):
|
||
|
"""Unlock all or specified locks."""
|
||
|
data = {}
|
||
|
if code:
|
||
|
data[ATTR_CODE] = code
|
||
|
if entity_id:
|
||
|
data[ATTR_ENTITY_ID] = entity_id
|
||
|
|
||
|
hass.services.call(DOMAIN, SERVICE_UNLOCK, data)
|
||
|
|
||
|
|
||
|
@bind_hass
|
||
|
def open_lock(hass, entity_id=None, code=None):
|
||
|
"""Open all or specified locks."""
|
||
|
data = {}
|
||
|
if code:
|
||
|
data[ATTR_CODE] = code
|
||
|
if entity_id:
|
||
|
data[ATTR_ENTITY_ID] = entity_id
|
||
|
|
||
|
hass.services.call(DOMAIN, SERVICE_OPEN, data)
|