mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 12:59:34 +00:00
Black
This commit is contained in:
@@ -4,9 +4,7 @@ import logging
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||
from homeassistant.const import (TEMP_FAHRENHEIT,
|
||||
TEMP_CELSIUS,
|
||||
CONF_MONITORED_CONDITIONS)
|
||||
from homeassistant.const import TEMP_FAHRENHEIT, TEMP_CELSIUS, CONF_MONITORED_CONDITIONS
|
||||
from homeassistant.helpers.entity import Entity
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
@@ -15,34 +13,43 @@ from . import BLOOMSKY
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
|
||||
# These are the available sensors
|
||||
SENSOR_TYPES = ['Temperature',
|
||||
'Humidity',
|
||||
'Pressure',
|
||||
'Luminance',
|
||||
'UVIndex',
|
||||
'Voltage']
|
||||
SENSOR_TYPES = [
|
||||
"Temperature",
|
||||
"Humidity",
|
||||
"Pressure",
|
||||
"Luminance",
|
||||
"UVIndex",
|
||||
"Voltage",
|
||||
]
|
||||
|
||||
# Sensor units - these do not currently align with the API documentation
|
||||
SENSOR_UNITS_IMPERIAL = {'Temperature': TEMP_FAHRENHEIT,
|
||||
'Humidity': '%',
|
||||
'Pressure': 'inHg',
|
||||
'Luminance': 'cd/m²',
|
||||
'Voltage': 'mV'}
|
||||
SENSOR_UNITS_IMPERIAL = {
|
||||
"Temperature": TEMP_FAHRENHEIT,
|
||||
"Humidity": "%",
|
||||
"Pressure": "inHg",
|
||||
"Luminance": "cd/m²",
|
||||
"Voltage": "mV",
|
||||
}
|
||||
|
||||
# Metric units
|
||||
SENSOR_UNITS_METRIC = {'Temperature': TEMP_CELSIUS,
|
||||
'Humidity': '%',
|
||||
'Pressure': 'mbar',
|
||||
'Luminance': 'cd/m²',
|
||||
'Voltage': 'mV'}
|
||||
SENSOR_UNITS_METRIC = {
|
||||
"Temperature": TEMP_CELSIUS,
|
||||
"Humidity": "%",
|
||||
"Pressure": "mbar",
|
||||
"Luminance": "cd/m²",
|
||||
"Voltage": "mV",
|
||||
}
|
||||
|
||||
# Which sensors to format numerically
|
||||
FORMAT_NUMBERS = ['Temperature', 'Pressure', 'Voltage']
|
||||
FORMAT_NUMBERS = ["Temperature", "Pressure", "Voltage"]
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Optional(CONF_MONITORED_CONDITIONS, default=SENSOR_TYPES):
|
||||
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
|
||||
})
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_MONITORED_CONDITIONS, default=SENSOR_TYPES): vol.All(
|
||||
cv.ensure_list, [vol.In(SENSOR_TYPES)]
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
@@ -52,8 +59,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
|
||||
for device in BLOOMSKY.devices.values():
|
||||
for variable in sensors:
|
||||
add_entities(
|
||||
[BloomSkySensor(BLOOMSKY, device, variable)], True)
|
||||
add_entities([BloomSkySensor(BLOOMSKY, device, variable)], True)
|
||||
|
||||
|
||||
class BloomSkySensor(Entity):
|
||||
@@ -62,11 +68,11 @@ class BloomSkySensor(Entity):
|
||||
def __init__(self, bs, device, sensor_name):
|
||||
"""Initialize a BloomSky sensor."""
|
||||
self._bloomsky = bs
|
||||
self._device_id = device['DeviceID']
|
||||
self._device_id = device["DeviceID"]
|
||||
self._sensor_name = sensor_name
|
||||
self._name = '{} {}'.format(device['DeviceName'], sensor_name)
|
||||
self._name = "{} {}".format(device["DeviceName"], sensor_name)
|
||||
self._state = None
|
||||
self._unique_id = '{}-{}'.format(self._device_id, self._sensor_name)
|
||||
self._unique_id = "{}-{}".format(self._device_id, self._sensor_name)
|
||||
|
||||
@property
|
||||
def unique_id(self):
|
||||
@@ -94,10 +100,9 @@ class BloomSkySensor(Entity):
|
||||
"""Request an update from the BloomSky API."""
|
||||
self._bloomsky.refresh_devices()
|
||||
|
||||
state = \
|
||||
self._bloomsky.devices[self._device_id]['Data'][self._sensor_name]
|
||||
state = self._bloomsky.devices[self._device_id]["Data"][self._sensor_name]
|
||||
|
||||
if self._sensor_name in FORMAT_NUMBERS:
|
||||
self._state = '{0:.2f}'.format(state)
|
||||
self._state = "{0:.2f}".format(state)
|
||||
else:
|
||||
self._state = state
|
||||
|
||||
Reference in New Issue
Block a user