Black
This commit is contained in:
parent
da05dfe708
commit
4de97abc3a
2676 changed files with 163166 additions and 140084 deletions
|
@ -1,48 +1,57 @@
|
|||
"""Support for MySensors sensors."""
|
||||
from homeassistant.components import mysensors
|
||||
from homeassistant.components.sensor import DOMAIN
|
||||
from homeassistant.const import (TEMP_CELSIUS, TEMP_FAHRENHEIT, POWER_WATT,
|
||||
ENERGY_KILO_WATT_HOUR)
|
||||
from homeassistant.const import (
|
||||
TEMP_CELSIUS,
|
||||
TEMP_FAHRENHEIT,
|
||||
POWER_WATT,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
)
|
||||
|
||||
SENSORS = {
|
||||
'V_TEMP': [None, 'mdi:thermometer'],
|
||||
'V_HUM': ['%', 'mdi:water-percent'],
|
||||
'V_DIMMER': ['%', 'mdi:percent'],
|
||||
'V_PERCENTAGE': ['%', 'mdi:percent'],
|
||||
'V_PRESSURE': [None, 'mdi:gauge'],
|
||||
'V_FORECAST': [None, 'mdi:weather-partlycloudy'],
|
||||
'V_RAIN': [None, 'mdi:weather-rainy'],
|
||||
'V_RAINRATE': [None, 'mdi:weather-rainy'],
|
||||
'V_WIND': [None, 'mdi:weather-windy'],
|
||||
'V_GUST': [None, 'mdi:weather-windy'],
|
||||
'V_DIRECTION': ['°', 'mdi:compass'],
|
||||
'V_WEIGHT': ['kg', 'mdi:weight-kilogram'],
|
||||
'V_DISTANCE': ['m', 'mdi:ruler'],
|
||||
'V_IMPEDANCE': ['ohm', None],
|
||||
'V_WATT': [POWER_WATT, None],
|
||||
'V_KWH': [ENERGY_KILO_WATT_HOUR, None],
|
||||
'V_LIGHT_LEVEL': ['%', 'mdi:white-balance-sunny'],
|
||||
'V_FLOW': ['m', 'mdi:gauge'],
|
||||
'V_VOLUME': ['m³', None],
|
||||
'V_LEVEL': {
|
||||
'S_SOUND': ['dB', 'mdi:volume-high'], 'S_VIBRATION': ['Hz', None],
|
||||
'S_LIGHT_LEVEL': ['lx', 'mdi:white-balance-sunny']},
|
||||
'V_VOLTAGE': ['V', 'mdi:flash'],
|
||||
'V_CURRENT': ['A', 'mdi:flash-auto'],
|
||||
'V_PH': ['pH', None],
|
||||
'V_ORP': ['mV', None],
|
||||
'V_EC': ['μS/cm', None],
|
||||
'V_VAR': ['var', None],
|
||||
'V_VA': ['VA', None],
|
||||
"V_TEMP": [None, "mdi:thermometer"],
|
||||
"V_HUM": ["%", "mdi:water-percent"],
|
||||
"V_DIMMER": ["%", "mdi:percent"],
|
||||
"V_PERCENTAGE": ["%", "mdi:percent"],
|
||||
"V_PRESSURE": [None, "mdi:gauge"],
|
||||
"V_FORECAST": [None, "mdi:weather-partlycloudy"],
|
||||
"V_RAIN": [None, "mdi:weather-rainy"],
|
||||
"V_RAINRATE": [None, "mdi:weather-rainy"],
|
||||
"V_WIND": [None, "mdi:weather-windy"],
|
||||
"V_GUST": [None, "mdi:weather-windy"],
|
||||
"V_DIRECTION": ["°", "mdi:compass"],
|
||||
"V_WEIGHT": ["kg", "mdi:weight-kilogram"],
|
||||
"V_DISTANCE": ["m", "mdi:ruler"],
|
||||
"V_IMPEDANCE": ["ohm", None],
|
||||
"V_WATT": [POWER_WATT, None],
|
||||
"V_KWH": [ENERGY_KILO_WATT_HOUR, None],
|
||||
"V_LIGHT_LEVEL": ["%", "mdi:white-balance-sunny"],
|
||||
"V_FLOW": ["m", "mdi:gauge"],
|
||||
"V_VOLUME": ["m³", None],
|
||||
"V_LEVEL": {
|
||||
"S_SOUND": ["dB", "mdi:volume-high"],
|
||||
"S_VIBRATION": ["Hz", None],
|
||||
"S_LIGHT_LEVEL": ["lx", "mdi:white-balance-sunny"],
|
||||
},
|
||||
"V_VOLTAGE": ["V", "mdi:flash"],
|
||||
"V_CURRENT": ["A", "mdi:flash-auto"],
|
||||
"V_PH": ["pH", None],
|
||||
"V_ORP": ["mV", None],
|
||||
"V_EC": ["μS/cm", None],
|
||||
"V_VAR": ["var", None],
|
||||
"V_VA": ["VA", None],
|
||||
}
|
||||
|
||||
|
||||
async def async_setup_platform(
|
||||
hass, config, async_add_entities, discovery_info=None):
|
||||
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
|
||||
"""Set up the MySensors platform for sensors."""
|
||||
mysensors.setup_mysensors_platform(
|
||||
hass, DOMAIN, discovery_info, MySensorsSensor,
|
||||
async_add_entities=async_add_entities)
|
||||
hass,
|
||||
DOMAIN,
|
||||
discovery_info,
|
||||
MySensorsSensor,
|
||||
async_add_entities=async_add_entities,
|
||||
)
|
||||
|
||||
|
||||
class MySensorsSensor(mysensors.device.MySensorsEntity):
|
||||
|
@ -72,8 +81,10 @@ class MySensorsSensor(mysensors.device.MySensorsEntity):
|
|||
def unit_of_measurement(self):
|
||||
"""Return the unit of measurement of this entity."""
|
||||
set_req = self.gateway.const.SetReq
|
||||
if (float(self.gateway.protocol_version) >= 1.5
|
||||
and set_req.V_UNIT_PREFIX in self._values):
|
||||
if (
|
||||
float(self.gateway.protocol_version) >= 1.5
|
||||
and set_req.V_UNIT_PREFIX in self._values
|
||||
):
|
||||
return self._values[set_req.V_UNIT_PREFIX]
|
||||
unit, _ = self._get_sensor_type()
|
||||
return unit
|
||||
|
@ -83,9 +94,9 @@ class MySensorsSensor(mysensors.device.MySensorsEntity):
|
|||
pres = self.gateway.const.Presentation
|
||||
set_req = self.gateway.const.SetReq
|
||||
SENSORS[set_req.V_TEMP.name][0] = (
|
||||
TEMP_CELSIUS if self.gateway.metric else TEMP_FAHRENHEIT)
|
||||
TEMP_CELSIUS if self.gateway.metric else TEMP_FAHRENHEIT
|
||||
)
|
||||
sensor_type = SENSORS.get(set_req(self.value_type).name, [None, None])
|
||||
if isinstance(sensor_type, dict):
|
||||
sensor_type = sensor_type.get(
|
||||
pres(self.child_type).name, [None, None])
|
||||
sensor_type = sensor_type.get(pres(self.child_type).name, [None, None])
|
||||
return sensor_type
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue