Add config flow and 2FA support for Blink (#35396)

This commit is contained in:
Kevin Fronczak 2020-05-13 09:50:29 -04:00 committed by GitHub
parent 0a94d9b284
commit 85726b67b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 378 additions and 155 deletions

View file

@ -1,25 +1,29 @@
"""Support for Blink system camera sensors."""
import logging
from homeassistant.const import CONF_MONITORED_CONDITIONS
from homeassistant.const import TEMP_FAHRENHEIT
from homeassistant.helpers.entity import Entity
from . import BLINK_DATA, SENSORS
from .const import DOMAIN, TYPE_BATTERY, TYPE_TEMPERATURE, TYPE_WIFI_STRENGTH
_LOGGER = logging.getLogger(__name__)
SENSORS = {
TYPE_TEMPERATURE: ["Temperature", TEMP_FAHRENHEIT, "mdi:thermometer"],
TYPE_BATTERY: ["Battery", "", "mdi:battery-80"],
TYPE_WIFI_STRENGTH: ["Wifi Signal", "dBm", "mdi:wifi-strength-2"],
}
def setup_platform(hass, config, add_entities, discovery_info=None):
"""Set up a Blink sensor."""
if discovery_info is None:
return
data = hass.data[BLINK_DATA]
devs = []
async def async_setup_entry(hass, config, async_add_entities):
"""Initialize a Blink sensor."""
data = hass.data[DOMAIN][config.entry_id]
entities = []
for camera in data.cameras:
for sensor_type in discovery_info[CONF_MONITORED_CONDITIONS]:
devs.append(BlinkSensor(data, camera, sensor_type))
for sensor_type in SENSORS:
entities.append(BlinkSensor(data, camera, sensor_type))
add_entities(devs, True)
async_add_entities(entities)
class BlinkSensor(Entity):
@ -28,7 +32,7 @@ class BlinkSensor(Entity):
def __init__(self, data, camera, sensor_type):
"""Initialize sensors from Blink camera."""
name, units, icon = SENSORS[sensor_type]
self._name = f"{BLINK_DATA} {camera} {name}"
self._name = f"{DOMAIN} {camera} {name}"
self._camera_name = name
self._type = sensor_type
self.data = data