core/homeassistant/components/doorbird/util.py

43 lines
1.1 KiB
Python
Raw Normal View History

"""DoorBird integration utils."""
from .const import DOMAIN, DOOR_STATION
def get_mac_address_from_doorstation_info(doorstation_info):
"""Get the mac address depending on the device type."""
if "PRIMARY_MAC_ADDR" in doorstation_info:
return doorstation_info["PRIMARY_MAC_ADDR"]
return doorstation_info["WIFI_MAC_ADDR"]
def get_doorstation_by_token(hass, token):
"""Get doorstation by token."""
return _get_doorstation_by_attr(hass, "token", token)
def get_doorstation_by_slug(hass, slug):
"""Get doorstation by slug."""
return _get_doorstation_by_attr(hass, "slug", slug)
def _get_doorstation_by_attr(hass, attr, val):
for entry in hass.data[DOMAIN].values():
if DOOR_STATION not in entry:
continue
doorstation = entry[DOOR_STATION]
if getattr(doorstation, attr) == val:
return doorstation
return None
def get_all_doorstations(hass):
"""Get all doorstations."""
return [
entry[DOOR_STATION]
for entry in hass.data[DOMAIN].values()
if DOOR_STATION in entry
]