Rename and reorganize electric unit constants (#53243)
This commit is contained in:
parent
6e88428f95
commit
074d762664
33 changed files with 244 additions and 178 deletions
|
@ -8,15 +8,15 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_RESOURCES,
|
CONF_RESOURCES,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ELECTRICAL_VOLT_AMPERE,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
POWER_VOLT_AMPERE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ SENSOR_TYPES = {
|
||||||
"badbatts": ["Bad Batteries", "", "mdi:information-outline", None],
|
"badbatts": ["Bad Batteries", "", "mdi:information-outline", None],
|
||||||
"battdate": ["Battery Replaced", "", "mdi:calendar-clock", None],
|
"battdate": ["Battery Replaced", "", "mdi:calendar-clock", None],
|
||||||
"battstat": ["Battery Status", "", "mdi:information-outline", None],
|
"battstat": ["Battery Status", "", "mdi:information-outline", None],
|
||||||
"battv": ["Battery Voltage", VOLT, "mdi:flash", None],
|
"battv": ["Battery Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"bcharge": ["Battery", PERCENTAGE, "mdi:battery", None],
|
"bcharge": ["Battery", PERCENTAGE, "mdi:battery", None],
|
||||||
"cable": ["Cable Type", "", "mdi:ethernet-cable", None],
|
"cable": ["Cable Type", "", "mdi:ethernet-cable", None],
|
||||||
"cumonbatt": ["Total Time on Battery", "", "mdi:timer-outline", None],
|
"cumonbatt": ["Total Time on Battery", "", "mdi:timer-outline", None],
|
||||||
|
@ -46,33 +46,33 @@ SENSOR_TYPES = {
|
||||||
"endapc": ["Date and Time", "", "mdi:calendar-clock", None],
|
"endapc": ["Date and Time", "", "mdi:calendar-clock", None],
|
||||||
"extbatts": ["External Batteries", "", "mdi:information-outline", None],
|
"extbatts": ["External Batteries", "", "mdi:information-outline", None],
|
||||||
"firmware": ["Firmware Version", "", "mdi:information-outline", None],
|
"firmware": ["Firmware Version", "", "mdi:information-outline", None],
|
||||||
"hitrans": ["Transfer High", VOLT, "mdi:flash", None],
|
"hitrans": ["Transfer High", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"hostname": ["Hostname", "", "mdi:information-outline", None],
|
"hostname": ["Hostname", "", "mdi:information-outline", None],
|
||||||
"humidity": ["Ambient Humidity", PERCENTAGE, "mdi:water-percent", None],
|
"humidity": ["Ambient Humidity", PERCENTAGE, "mdi:water-percent", None],
|
||||||
"itemp": ["Internal Temperature", TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE],
|
"itemp": ["Internal Temperature", TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE],
|
||||||
"lastxfer": ["Last Transfer", "", "mdi:transfer", None],
|
"lastxfer": ["Last Transfer", "", "mdi:transfer", None],
|
||||||
"linefail": ["Input Voltage Status", "", "mdi:information-outline", None],
|
"linefail": ["Input Voltage Status", "", "mdi:information-outline", None],
|
||||||
"linefreq": ["Line Frequency", FREQUENCY_HERTZ, "mdi:information-outline", None],
|
"linefreq": ["Line Frequency", FREQUENCY_HERTZ, "mdi:information-outline", None],
|
||||||
"linev": ["Input Voltage", VOLT, "mdi:flash", None],
|
"linev": ["Input Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"loadpct": ["Load", PERCENTAGE, "mdi:gauge", None],
|
"loadpct": ["Load", PERCENTAGE, "mdi:gauge", None],
|
||||||
"loadapnt": ["Load Apparent Power", PERCENTAGE, "mdi:gauge", None],
|
"loadapnt": ["Load Apparent Power", PERCENTAGE, "mdi:gauge", None],
|
||||||
"lotrans": ["Transfer Low", VOLT, "mdi:flash", None],
|
"lotrans": ["Transfer Low", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"mandate": ["Manufacture Date", "", "mdi:calendar", None],
|
"mandate": ["Manufacture Date", "", "mdi:calendar", None],
|
||||||
"masterupd": ["Master Update", "", "mdi:information-outline", None],
|
"masterupd": ["Master Update", "", "mdi:information-outline", None],
|
||||||
"maxlinev": ["Input Voltage High", VOLT, "mdi:flash", None],
|
"maxlinev": ["Input Voltage High", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"maxtime": ["Battery Timeout", "", "mdi:timer-off-outline", None],
|
"maxtime": ["Battery Timeout", "", "mdi:timer-off-outline", None],
|
||||||
"mbattchg": ["Battery Shutdown", PERCENTAGE, "mdi:battery-alert", None],
|
"mbattchg": ["Battery Shutdown", PERCENTAGE, "mdi:battery-alert", None],
|
||||||
"minlinev": ["Input Voltage Low", VOLT, "mdi:flash", None],
|
"minlinev": ["Input Voltage Low", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"mintimel": ["Shutdown Time", "", "mdi:timer-outline", None],
|
"mintimel": ["Shutdown Time", "", "mdi:timer-outline", None],
|
||||||
"model": ["Model", "", "mdi:information-outline", None],
|
"model": ["Model", "", "mdi:information-outline", None],
|
||||||
"nombattv": ["Battery Nominal Voltage", VOLT, "mdi:flash", None],
|
"nombattv": ["Battery Nominal Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"nominv": ["Nominal Input Voltage", VOLT, "mdi:flash", None],
|
"nominv": ["Nominal Input Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"nomoutv": ["Nominal Output Voltage", VOLT, "mdi:flash", None],
|
"nomoutv": ["Nominal Output Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"nompower": ["Nominal Output Power", POWER_WATT, "mdi:flash", None],
|
"nompower": ["Nominal Output Power", POWER_WATT, "mdi:flash", None],
|
||||||
"nomapnt": ["Nominal Apparent Power", ELECTRICAL_VOLT_AMPERE, "mdi:flash", None],
|
"nomapnt": ["Nominal Apparent Power", POWER_VOLT_AMPERE, "mdi:flash", None],
|
||||||
"numxfers": ["Transfer Count", "", "mdi:counter", None],
|
"numxfers": ["Transfer Count", "", "mdi:counter", None],
|
||||||
"outcurnt": ["Output Current", ELECTRICAL_CURRENT_AMPERE, "mdi:flash", None],
|
"outcurnt": ["Output Current", ELECTRIC_CURRENT_AMPERE, "mdi:flash", None],
|
||||||
"outputv": ["Output Voltage", VOLT, "mdi:flash", None],
|
"outputv": ["Output Voltage", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"reg1": ["Register 1 Fault", "", "mdi:information-outline", None],
|
"reg1": ["Register 1 Fault", "", "mdi:information-outline", None],
|
||||||
"reg2": ["Register 2 Fault", "", "mdi:information-outline", None],
|
"reg2": ["Register 2 Fault", "", "mdi:information-outline", None],
|
||||||
"reg3": ["Register 3 Fault", "", "mdi:information-outline", None],
|
"reg3": ["Register 3 Fault", "", "mdi:information-outline", None],
|
||||||
|
@ -99,9 +99,9 @@ INFERRED_UNITS = {
|
||||||
" Minutes": TIME_MINUTES,
|
" Minutes": TIME_MINUTES,
|
||||||
" Seconds": TIME_SECONDS,
|
" Seconds": TIME_SECONDS,
|
||||||
" Percent": PERCENTAGE,
|
" Percent": PERCENTAGE,
|
||||||
" Volts": VOLT,
|
" Volts": ELECTRIC_POTENTIAL_VOLT,
|
||||||
" Ampere": ELECTRICAL_CURRENT_AMPERE,
|
" Ampere": ELECTRIC_CURRENT_AMPERE,
|
||||||
" Volt-Ampere": ELECTRICAL_VOLT_AMPERE,
|
" Volt-Ampere": POWER_VOLT_AMPERE,
|
||||||
" Watts": POWER_WATT,
|
" Watts": POWER_WATT,
|
||||||
" Hz": FREQUENCY_HERTZ,
|
" Hz": FREQUENCY_HERTZ,
|
||||||
" C": TEMP_CELSIUS,
|
" C": TEMP_CELSIUS,
|
||||||
|
|
|
@ -7,10 +7,10 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
POWER_KILO_WATT,
|
POWER_KILO_WATT,
|
||||||
VOLT,
|
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -112,37 +112,37 @@ DEFINITIONS = {
|
||||||
"name": "Current voltage L1",
|
"name": "Current voltage L1",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_VOLTAGE,
|
"device_class": DEVICE_CLASS_VOLTAGE,
|
||||||
"unit": VOLT,
|
"unit": ELECTRIC_POTENTIAL_VOLT,
|
||||||
},
|
},
|
||||||
"dsmr/reading/phase_voltage_l2": {
|
"dsmr/reading/phase_voltage_l2": {
|
||||||
"name": "Current voltage L2",
|
"name": "Current voltage L2",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_VOLTAGE,
|
"device_class": DEVICE_CLASS_VOLTAGE,
|
||||||
"unit": VOLT,
|
"unit": ELECTRIC_POTENTIAL_VOLT,
|
||||||
},
|
},
|
||||||
"dsmr/reading/phase_voltage_l3": {
|
"dsmr/reading/phase_voltage_l3": {
|
||||||
"name": "Current voltage L3",
|
"name": "Current voltage L3",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_VOLTAGE,
|
"device_class": DEVICE_CLASS_VOLTAGE,
|
||||||
"unit": VOLT,
|
"unit": ELECTRIC_POTENTIAL_VOLT,
|
||||||
},
|
},
|
||||||
"dsmr/reading/phase_power_current_l1": {
|
"dsmr/reading/phase_power_current_l1": {
|
||||||
"name": "Phase power current L1",
|
"name": "Phase power current L1",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_CURRENT,
|
"device_class": DEVICE_CLASS_CURRENT,
|
||||||
"unit": ELECTRICAL_CURRENT_AMPERE,
|
"unit": ELECTRIC_CURRENT_AMPERE,
|
||||||
},
|
},
|
||||||
"dsmr/reading/phase_power_current_l2": {
|
"dsmr/reading/phase_power_current_l2": {
|
||||||
"name": "Phase power current L2",
|
"name": "Phase power current L2",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_CURRENT,
|
"device_class": DEVICE_CLASS_CURRENT,
|
||||||
"unit": ELECTRICAL_CURRENT_AMPERE,
|
"unit": ELECTRIC_CURRENT_AMPERE,
|
||||||
},
|
},
|
||||||
"dsmr/reading/phase_power_current_l3": {
|
"dsmr/reading/phase_power_current_l3": {
|
||||||
"name": "Phase power current L3",
|
"name": "Phase power current L3",
|
||||||
"enable_default": True,
|
"enable_default": True,
|
||||||
"device_class": DEVICE_CLASS_CURRENT,
|
"device_class": DEVICE_CLASS_CURRENT,
|
||||||
"unit": ELECTRICAL_CURRENT_AMPERE,
|
"unit": ELECTRIC_CURRENT_AMPERE,
|
||||||
},
|
},
|
||||||
"dsmr/reading/timestamp": {
|
"dsmr/reading/timestamp": {
|
||||||
"name": "Telegram timestamp",
|
"name": "Telegram timestamp",
|
||||||
|
|
|
@ -9,7 +9,7 @@ from elkm1_lib.util import pretty_const, username
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from homeassistant.components.sensor import SensorEntity
|
||||||
from homeassistant.const import VOLT
|
from homeassistant.const import ELECTRIC_POTENTIAL_VOLT
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers import entity_platform
|
from homeassistant.helpers import entity_platform
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ class ElkZone(ElkSensor):
|
||||||
if self._element.definition == ZoneType.TEMPERATURE.value:
|
if self._element.definition == ZoneType.TEMPERATURE.value:
|
||||||
return self._temperature_unit
|
return self._temperature_unit
|
||||||
if self._element.definition == ZoneType.ANALOG_ZONE.value:
|
if self._element.definition == ZoneType.ANALOG_ZONE.value:
|
||||||
return VOLT
|
return ELECTRIC_POTENTIAL_VOLT
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _element_changed(self, element, changeset):
|
def _element_changed(self, element, changeset):
|
||||||
|
|
|
@ -10,9 +10,9 @@ from homeassistant.const import (
|
||||||
CONF_DISPLAY_OPTIONS,
|
CONF_DISPLAY_OPTIONS,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
PRESSURE_HPA,
|
PRESSURE_HPA,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
|
@ -37,10 +37,10 @@ SENSOR_TYPES = {
|
||||||
"magnetometer_z": ["magnetometer_z", " ", "mdi:magnet", None],
|
"magnetometer_z": ["magnetometer_z", " ", "mdi:magnet", None],
|
||||||
"temperature": ["temperature", TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE],
|
"temperature": ["temperature", TEMP_CELSIUS, None, DEVICE_CLASS_TEMPERATURE],
|
||||||
"pressure": ["pressure", PRESSURE_HPA, "mdi:gauge", None],
|
"pressure": ["pressure", PRESSURE_HPA, "mdi:gauge", None],
|
||||||
"voltage_0": ["voltage_0", VOLT, "mdi:flash", None],
|
"voltage_0": ["voltage_0", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"voltage_1": ["voltage_1", VOLT, "mdi:flash", None],
|
"voltage_1": ["voltage_1", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"voltage_2": ["voltage_2", VOLT, "mdi:flash", None],
|
"voltage_2": ["voltage_2", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"voltage_3": ["voltage_3", VOLT, "mdi:flash", None],
|
"voltage_3": ["voltage_3", ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
}
|
}
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||||
|
|
|
@ -20,7 +20,8 @@ from homeassistant.const import (
|
||||||
ATTR_DEVICE_CLASS,
|
ATTR_DEVICE_CLASS,
|
||||||
ATTR_NAME,
|
ATTR_NAME,
|
||||||
ATTR_UNIT_OF_MEASUREMENT,
|
ATTR_UNIT_OF_MEASUREMENT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
|
@ -28,7 +29,6 @@ from homeassistant.const import (
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
ATTR_DEFAULT_ENABLED = "default_enabled"
|
ATTR_DEFAULT_ENABLED = "default_enabled"
|
||||||
|
@ -66,7 +66,7 @@ SENSOR_DICT = {
|
||||||
"ampsIn": {
|
"ampsIn": {
|
||||||
ATTR_NAME: "Amps In",
|
ATTR_NAME: "Amps In",
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRICAL_CURRENT_AMPERE,
|
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||||
ATTR_DEFAULT_ENABLED: False,
|
ATTR_DEFAULT_ENABLED: False,
|
||||||
},
|
},
|
||||||
|
@ -80,7 +80,7 @@ SENSOR_DICT = {
|
||||||
"ampsOut": {
|
"ampsOut": {
|
||||||
ATTR_NAME: "Amps Out",
|
ATTR_NAME: "Amps Out",
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRICAL_CURRENT_AMPERE,
|
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||||
ATTR_DEFAULT_ENABLED: False,
|
ATTR_DEFAULT_ENABLED: False,
|
||||||
},
|
},
|
||||||
|
@ -101,7 +101,7 @@ SENSOR_DICT = {
|
||||||
"volts": {
|
"volts": {
|
||||||
ATTR_NAME: "Volts",
|
ATTR_NAME: "Volts",
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE,
|
ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: VOLT,
|
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT,
|
||||||
ATTR_DEFAULT_ENABLED: False,
|
ATTR_DEFAULT_ENABLED: False,
|
||||||
},
|
},
|
||||||
"socPercent": {
|
"socPercent": {
|
||||||
|
|
|
@ -5,11 +5,11 @@ from homeassistant.const import (
|
||||||
CONF_SENSOR_TYPE,
|
CONF_SENSOR_TYPE,
|
||||||
CONF_TEMPERATURE_UNIT,
|
CONF_TEMPERATURE_UNIT,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TIME_HOURS,
|
TIME_HOURS,
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from . import (
|
from . import (
|
||||||
|
@ -270,7 +270,7 @@ class VoltageSensor(GEMSensor):
|
||||||
"""Entity showing voltage."""
|
"""Entity showing voltage."""
|
||||||
|
|
||||||
_attr_icon = VOLTAGE_ICON
|
_attr_icon = VOLTAGE_ICON
|
||||||
_attr_unit_of_measurement = VOLT
|
_attr_unit_of_measurement = ELECTRIC_POTENTIAL_VOLT
|
||||||
|
|
||||||
def __init__(self, monitor_serial_number, number, name):
|
def __init__(self, monitor_serial_number, number, name):
|
||||||
"""Construct the entity."""
|
"""Construct the entity."""
|
||||||
|
|
|
@ -21,14 +21,14 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
POWER_KILO_WATT,
|
POWER_KILO_WATT,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.util import Throttle, dt
|
from homeassistant.util import Throttle, dt
|
||||||
|
@ -84,13 +84,13 @@ INVERTER_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"inverter_voltage_input_1": (
|
"inverter_voltage_input_1": (
|
||||||
"Input 1 voltage",
|
"Input 1 voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv1",
|
"vpv1",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"inverter_amperage_input_1": (
|
"inverter_amperage_input_1": (
|
||||||
"Input 1 Amperage",
|
"Input 1 Amperage",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"ipv1",
|
"ipv1",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
|
@ -102,13 +102,13 @@ INVERTER_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"inverter_voltage_input_2": (
|
"inverter_voltage_input_2": (
|
||||||
"Input 2 voltage",
|
"Input 2 voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv2",
|
"vpv2",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"inverter_amperage_input_2": (
|
"inverter_amperage_input_2": (
|
||||||
"Input 2 Amperage",
|
"Input 2 Amperage",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"ipv2",
|
"ipv2",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
|
@ -120,13 +120,13 @@ INVERTER_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"inverter_voltage_input_3": (
|
"inverter_voltage_input_3": (
|
||||||
"Input 3 voltage",
|
"Input 3 voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv3",
|
"vpv3",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"inverter_amperage_input_3": (
|
"inverter_amperage_input_3": (
|
||||||
"Input 3 Amperage",
|
"Input 3 Amperage",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"ipv3",
|
"ipv3",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
|
@ -144,13 +144,13 @@ INVERTER_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"inverter_reactive_voltage": (
|
"inverter_reactive_voltage": (
|
||||||
"Reactive voltage",
|
"Reactive voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vacr",
|
"vacr",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 1, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"inverter_inverter_reactive_amperage": (
|
"inverter_inverter_reactive_amperage": (
|
||||||
"Reactive amperage",
|
"Reactive amperage",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"iacr",
|
"iacr",
|
||||||
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 1, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
|
@ -280,13 +280,13 @@ STORAGE_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"storage_grid_voltage": (
|
"storage_grid_voltage": (
|
||||||
"AC input voltage",
|
"AC input voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vGrid",
|
"vGrid",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"storage_pv_charging_voltage": (
|
"storage_pv_charging_voltage": (
|
||||||
"PV charging voltage",
|
"PV charging voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv",
|
"vpv",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
|
@ -298,7 +298,7 @@ STORAGE_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"storage_output_voltage": (
|
"storage_output_voltage": (
|
||||||
"Output voltage",
|
"Output voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"outPutVolt",
|
"outPutVolt",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
|
@ -310,31 +310,31 @@ STORAGE_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"storage_current_PV": (
|
"storage_current_PV": (
|
||||||
"Solar charge current",
|
"Solar charge current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"iAcCharge",
|
"iAcCharge",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
"storage_current_1": (
|
"storage_current_1": (
|
||||||
"Solar current to storage",
|
"Solar current to storage",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"iChargePV1",
|
"iChargePV1",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
"storage_grid_amperage_input": (
|
"storage_grid_amperage_input": (
|
||||||
"Grid charge current",
|
"Grid charge current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"chgCurr",
|
"chgCurr",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
"storage_grid_out_current": (
|
"storage_grid_out_current": (
|
||||||
"Grid out current",
|
"Grid out current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"outPutCurrent",
|
"outPutCurrent",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
{"round": 2, "device_class": DEVICE_CLASS_CURRENT},
|
||||||
),
|
),
|
||||||
"storage_battery_voltage": (
|
"storage_battery_voltage": (
|
||||||
"Battery voltage",
|
"Battery voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vBat",
|
"vBat",
|
||||||
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
{"round": 2, "device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
|
@ -398,19 +398,19 @@ MIX_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"mix_battery_voltage": (
|
"mix_battery_voltage": (
|
||||||
"Battery voltage",
|
"Battery voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vbat",
|
"vbat",
|
||||||
{"device_class": DEVICE_CLASS_VOLTAGE},
|
{"device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"mix_pv1_voltage": (
|
"mix_pv1_voltage": (
|
||||||
"PV1 voltage",
|
"PV1 voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv1",
|
"vpv1",
|
||||||
{"device_class": DEVICE_CLASS_VOLTAGE},
|
{"device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
"mix_pv2_voltage": (
|
"mix_pv2_voltage": (
|
||||||
"PV2 voltage",
|
"PV2 voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vpv2",
|
"vpv2",
|
||||||
{"device_class": DEVICE_CLASS_VOLTAGE},
|
{"device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
|
@ -490,7 +490,7 @@ MIX_SENSOR_TYPES = {
|
||||||
),
|
),
|
||||||
"mix_grid_voltage": (
|
"mix_grid_voltage": (
|
||||||
"Grid voltage",
|
"Grid voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"vAc1",
|
"vAc1",
|
||||||
{"device_class": DEVICE_CLASS_VOLTAGE},
|
{"device_class": DEVICE_CLASS_VOLTAGE},
|
||||||
),
|
),
|
||||||
|
|
|
@ -9,6 +9,7 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
ELECTRIC_CURRENT_MILLIAMPERE,
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
LENGTH_MILLIMETERS,
|
LENGTH_MILLIMETERS,
|
||||||
|
@ -18,7 +19,6 @@ from homeassistant.const import (
|
||||||
PRESSURE_HPA,
|
PRESSURE_HPA,
|
||||||
SPEED_KILOMETERS_PER_HOUR,
|
SPEED_KILOMETERS_PER_HOUR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ HM_UNIT_HA_CAST = {
|
||||||
"BRIGHTNESS": "#",
|
"BRIGHTNESS": "#",
|
||||||
"POWER": POWER_WATT,
|
"POWER": POWER_WATT,
|
||||||
"CURRENT": ELECTRIC_CURRENT_MILLIAMPERE,
|
"CURRENT": ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
"VOLTAGE": VOLT,
|
"VOLTAGE": ELECTRIC_POTENTIAL_VOLT,
|
||||||
"ENERGY_COUNTER": ENERGY_WATT_HOUR,
|
"ENERGY_COUNTER": ENERGY_WATT_HOUR,
|
||||||
"GAS_POWER": VOLUME_CUBIC_METERS,
|
"GAS_POWER": VOLUME_CUBIC_METERS,
|
||||||
"GAS_ENERGY_COUNTER": VOLUME_CUBIC_METERS,
|
"GAS_ENERGY_COUNTER": VOLUME_CUBIC_METERS,
|
||||||
|
|
|
@ -50,6 +50,7 @@ from homeassistant.const import (
|
||||||
DEGREE,
|
DEGREE,
|
||||||
ELECTRIC_CURRENT_MILLIAMPERE,
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
ELECTRIC_POTENTIAL_MILLIVOLT,
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
|
@ -102,7 +103,6 @@ from homeassistant.const import (
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
TIME_YEARS,
|
TIME_YEARS,
|
||||||
UV_INDEX,
|
UV_INDEX,
|
||||||
VOLT,
|
|
||||||
VOLUME_CUBIC_FEET,
|
VOLUME_CUBIC_FEET,
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE,
|
||||||
|
@ -399,7 +399,7 @@ UOM_FRIENDLY_NAME = {
|
||||||
"65": "SML",
|
"65": "SML",
|
||||||
"69": VOLUME_GALLONS,
|
"69": VOLUME_GALLONS,
|
||||||
"71": UV_INDEX,
|
"71": UV_INDEX,
|
||||||
"72": VOLT,
|
"72": ELECTRIC_POTENTIAL_VOLT,
|
||||||
"73": POWER_WATT,
|
"73": POWER_WATT,
|
||||||
"74": IRRADIATION_WATTS_PER_SQUARE_METER,
|
"74": IRRADIATION_WATTS_PER_SQUARE_METER,
|
||||||
"75": "weekday",
|
"75": "weekday",
|
||||||
|
|
|
@ -6,12 +6,12 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from .const import DOMAIN, JUICENET_API, JUICENET_COORDINATOR
|
from .const import DOMAIN, JUICENET_API, JUICENET_COORDINATOR
|
||||||
|
@ -25,10 +25,10 @@ SENSOR_TYPES = {
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
],
|
],
|
||||||
"voltage": ["Voltage", VOLT, DEVICE_CLASS_VOLTAGE, None],
|
"voltage": ["Voltage", ELECTRIC_POTENTIAL_VOLT, DEVICE_CLASS_VOLTAGE, None],
|
||||||
"amps": [
|
"amps": [
|
||||||
"Amps",
|
"Amps",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
DEVICE_CLASS_CURRENT,
|
DEVICE_CLASS_CURRENT,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
],
|
],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from homeassistant.components.sensor import SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
||||||
"Max Current",
|
"Max Current",
|
||||||
"max_current",
|
"max_current",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
),
|
),
|
||||||
KebaSensor(
|
KebaSensor(
|
||||||
keba,
|
keba,
|
||||||
|
|
|
@ -3,11 +3,11 @@ from itertools import product
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
DEGREE,
|
DEGREE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
TEMP_KELVIN,
|
TEMP_KELVIN,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
PLATFORMS = ["binary_sensor", "climate", "cover", "light", "scene", "sensor", "switch"]
|
PLATFORMS = ["binary_sensor", "climate", "cover", "light", "scene", "sensor", "switch"]
|
||||||
|
@ -171,7 +171,7 @@ VAR_UNITS = [
|
||||||
"PERCENT",
|
"PERCENT",
|
||||||
"PPM",
|
"PPM",
|
||||||
"VOLT",
|
"VOLT",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"AMPERE",
|
"AMPERE",
|
||||||
"AMP",
|
"AMP",
|
||||||
"A",
|
"A",
|
||||||
|
|
|
@ -11,20 +11,20 @@ from homeassistant.const import (
|
||||||
DEGREE,
|
DEGREE,
|
||||||
DEVICE_CLASS_HUMIDITY,
|
DEVICE_CLASS_HUMIDITY,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ELECTRIC_POTENTIAL_MILLIVOLT,
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ELECTRICAL_VOLT_AMPERE,
|
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
LENGTH_METERS,
|
LENGTH_METERS,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
MASS_KILOGRAMS,
|
MASS_KILOGRAMS,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
POWER_VOLT_AMPERE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
SOUND_PRESSURE_DB,
|
SOUND_PRESSURE_DB,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
VOLT,
|
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
@ -59,13 +59,13 @@ SENSORS: dict[str, list[str | None] | dict[str, list[str | None]]] = {
|
||||||
"S_VIBRATION": [FREQUENCY_HERTZ, None, None],
|
"S_VIBRATION": [FREQUENCY_HERTZ, None, None],
|
||||||
"S_LIGHT_LEVEL": [LIGHT_LUX, "mdi:white-balance-sunny", None],
|
"S_LIGHT_LEVEL": [LIGHT_LUX, "mdi:white-balance-sunny", None],
|
||||||
},
|
},
|
||||||
"V_VOLTAGE": [VOLT, "mdi:flash", None],
|
"V_VOLTAGE": [ELECTRIC_POTENTIAL_VOLT, "mdi:flash", None],
|
||||||
"V_CURRENT": [ELECTRICAL_CURRENT_AMPERE, "mdi:flash-auto", None],
|
"V_CURRENT": [ELECTRIC_CURRENT_AMPERE, "mdi:flash-auto", None],
|
||||||
"V_PH": ["pH", None, None],
|
"V_PH": ["pH", None, None],
|
||||||
"V_ORP": [ELECTRIC_POTENTIAL_MILLIVOLT, None, None],
|
"V_ORP": [ELECTRIC_POTENTIAL_MILLIVOLT, None, None],
|
||||||
"V_EC": [CONDUCTIVITY, None, None],
|
"V_EC": [CONDUCTIVITY, None, None],
|
||||||
"V_VAR": ["var", None, None],
|
"V_VAR": ["var", None, None],
|
||||||
"V_VA": [ELECTRICAL_VOLT_AMPERE, None, None],
|
"V_VA": [POWER_VOLT_AMPERE, None, None],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,14 +7,14 @@ from homeassistant.components.sensor import (
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ELECTRICAL_VOLT_AMPERE,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
POWER_VOLT_AMPERE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_SECONDS,
|
TIME_SECONDS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
DOMAIN = "nut"
|
DOMAIN = "nut"
|
||||||
|
@ -80,8 +80,8 @@ SENSOR_TYPES = {
|
||||||
"ups.display.language": ["Language", "", "mdi:information-outline", None],
|
"ups.display.language": ["Language", "", "mdi:information-outline", None],
|
||||||
"ups.contacts": ["External Contacts", "", "mdi:information-outline", None],
|
"ups.contacts": ["External Contacts", "", "mdi:information-outline", None],
|
||||||
"ups.efficiency": ["Efficiency", PERCENTAGE, "mdi:gauge", None],
|
"ups.efficiency": ["Efficiency", PERCENTAGE, "mdi:gauge", None],
|
||||||
"ups.power": ["Current Apparent Power", ELECTRICAL_VOLT_AMPERE, "mdi:flash", None],
|
"ups.power": ["Current Apparent Power", POWER_VOLT_AMPERE, "mdi:flash", None],
|
||||||
"ups.power.nominal": ["Nominal Power", ELECTRICAL_VOLT_AMPERE, "mdi:flash", None],
|
"ups.power.nominal": ["Nominal Power", POWER_VOLT_AMPERE, "mdi:flash", None],
|
||||||
"ups.realpower": [
|
"ups.realpower": [
|
||||||
"Current Real Power",
|
"Current Real Power",
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
|
@ -121,25 +121,40 @@ SENSOR_TYPES = {
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"battery.charger.status": ["Charging Status", "", "mdi:information-outline", None],
|
"battery.charger.status": ["Charging Status", "", "mdi:information-outline", None],
|
||||||
"battery.voltage": ["Battery Voltage", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
"battery.voltage": [
|
||||||
"battery.voltage.nominal": [
|
"Battery Voltage",
|
||||||
"Nominal Battery Voltage",
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
VOLT,
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
|
"battery.voltage.nominal": [
|
||||||
|
"Nominal Battery Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
|
"battery.voltage.low": [
|
||||||
|
"Low Battery Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
|
"battery.voltage.high": [
|
||||||
|
"High Battery Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
None,
|
None,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
],
|
],
|
||||||
"battery.voltage.low": ["Low Battery Voltage", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
|
||||||
"battery.voltage.high": ["High Battery Voltage", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
|
||||||
"battery.capacity": ["Battery Capacity", "Ah", "mdi:flash", None],
|
"battery.capacity": ["Battery Capacity", "Ah", "mdi:flash", None],
|
||||||
"battery.current": [
|
"battery.current": [
|
||||||
"Battery Current",
|
"Battery Current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"battery.current.total": [
|
"battery.current.total": [
|
||||||
"Total Battery Current",
|
"Total Battery Current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
|
@ -184,18 +199,33 @@ SENSOR_TYPES = {
|
||||||
"mdi:information-outline",
|
"mdi:information-outline",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"input.transfer.low": ["Low Voltage Transfer", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
"input.transfer.low": [
|
||||||
"input.transfer.high": ["High Voltage Transfer", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
"Low Voltage Transfer",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
|
"input.transfer.high": [
|
||||||
|
"High Voltage Transfer",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
"input.transfer.reason": [
|
"input.transfer.reason": [
|
||||||
"Voltage Transfer Reason",
|
"Voltage Transfer Reason",
|
||||||
"",
|
"",
|
||||||
"mdi:information-outline",
|
"mdi:information-outline",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"input.voltage": ["Input Voltage", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
"input.voltage": [
|
||||||
|
"Input Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
"input.voltage.nominal": [
|
"input.voltage.nominal": [
|
||||||
"Nominal Input Voltage",
|
"Nominal Input Voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
None,
|
None,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
],
|
],
|
||||||
|
@ -212,17 +242,22 @@ SENSOR_TYPES = {
|
||||||
"mdi:information-outline",
|
"mdi:information-outline",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"output.current": ["Output Current", ELECTRICAL_CURRENT_AMPERE, "mdi:flash", None],
|
"output.current": ["Output Current", ELECTRIC_CURRENT_AMPERE, "mdi:flash", None],
|
||||||
"output.current.nominal": [
|
"output.current.nominal": [
|
||||||
"Nominal Output Current",
|
"Nominal Output Current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
None,
|
None,
|
||||||
],
|
],
|
||||||
"output.voltage": ["Output Voltage", VOLT, None, DEVICE_CLASS_VOLTAGE],
|
"output.voltage": [
|
||||||
|
"Output Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
None,
|
||||||
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
],
|
||||||
"output.voltage.nominal": [
|
"output.voltage.nominal": [
|
||||||
"Nominal Output Voltage",
|
"Nominal Output Voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
None,
|
None,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
],
|
],
|
||||||
|
|
|
@ -11,12 +11,12 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_PRESSURE,
|
DEVICE_CLASS_PRESSURE,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
PRESSURE_MBAR,
|
PRESSURE_MBAR,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
CONF_MOUNT_DIR = "mount_dir"
|
CONF_MOUNT_DIR = "mount_dir"
|
||||||
|
@ -55,8 +55,8 @@ SENSOR_TYPES: dict[str, list[str | None]] = {
|
||||||
SENSOR_TYPE_WETNESS: [PERCENTAGE, DEVICE_CLASS_HUMIDITY],
|
SENSOR_TYPE_WETNESS: [PERCENTAGE, DEVICE_CLASS_HUMIDITY],
|
||||||
SENSOR_TYPE_MOISTURE: [PRESSURE_CBAR, DEVICE_CLASS_PRESSURE],
|
SENSOR_TYPE_MOISTURE: [PRESSURE_CBAR, DEVICE_CLASS_PRESSURE],
|
||||||
SENSOR_TYPE_COUNT: ["count", None],
|
SENSOR_TYPE_COUNT: ["count", None],
|
||||||
SENSOR_TYPE_VOLTAGE: [VOLT, DEVICE_CLASS_VOLTAGE],
|
SENSOR_TYPE_VOLTAGE: [ELECTRIC_POTENTIAL_VOLT, DEVICE_CLASS_VOLTAGE],
|
||||||
SENSOR_TYPE_CURRENT: [ELECTRICAL_CURRENT_AMPERE, DEVICE_CLASS_CURRENT],
|
SENSOR_TYPE_CURRENT: [ELECTRIC_CURRENT_AMPERE, DEVICE_CLASS_CURRENT],
|
||||||
SENSOR_TYPE_SENSED: [None, None],
|
SENSOR_TYPE_SENSED: [None, None],
|
||||||
SWITCH_TYPE_LATCH: [None, None],
|
SWITCH_TYPE_LATCH: [None, None],
|
||||||
SWITCH_TYPE_PIO: [None, None],
|
SWITCH_TYPE_PIO: [None, None],
|
||||||
|
|
|
@ -23,7 +23,8 @@ from homeassistant.const import (
|
||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
DEGREE,
|
DEGREE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
EVENT_HOMEASSISTANT_STOP,
|
EVENT_HOMEASSISTANT_STOP,
|
||||||
LENGTH_MILLIMETERS,
|
LENGTH_MILLIMETERS,
|
||||||
|
@ -35,7 +36,6 @@ from homeassistant.const import (
|
||||||
SPEED_METERS_PER_SECOND,
|
SPEED_METERS_PER_SECOND,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
UV_INDEX,
|
UV_INDEX,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
@ -87,11 +87,11 @@ DATA_TYPES = OrderedDict(
|
||||||
("Wind gust", SPEED_METERS_PER_SECOND),
|
("Wind gust", SPEED_METERS_PER_SECOND),
|
||||||
("Chill", TEMP_CELSIUS),
|
("Chill", TEMP_CELSIUS),
|
||||||
("Count", "count"),
|
("Count", "count"),
|
||||||
("Current Ch. 1", ELECTRICAL_CURRENT_AMPERE),
|
("Current Ch. 1", ELECTRIC_CURRENT_AMPERE),
|
||||||
("Current Ch. 2", ELECTRICAL_CURRENT_AMPERE),
|
("Current Ch. 2", ELECTRIC_CURRENT_AMPERE),
|
||||||
("Current Ch. 3", ELECTRICAL_CURRENT_AMPERE),
|
("Current Ch. 3", ELECTRIC_CURRENT_AMPERE),
|
||||||
("Voltage", VOLT),
|
("Voltage", ELECTRIC_POTENTIAL_VOLT),
|
||||||
("Current", ELECTRICAL_CURRENT_AMPERE),
|
("Current", ELECTRIC_CURRENT_AMPERE),
|
||||||
("Battery numeric", PERCENTAGE),
|
("Battery numeric", PERCENTAGE),
|
||||||
("Rssi numeric", SIGNAL_STRENGTH_DECIBELS_MILLIWATT),
|
("Rssi numeric", SIGNAL_STRENGTH_DECIBELS_MILLIWATT),
|
||||||
]
|
]
|
||||||
|
|
|
@ -3,9 +3,9 @@ from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntit
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ATTRIBUTION,
|
ATTR_ATTRIBUTION,
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
@ -174,7 +174,7 @@ class SenseActiveSensor(SensorEntity):
|
||||||
class SenseVoltageSensor(SensorEntity):
|
class SenseVoltageSensor(SensorEntity):
|
||||||
"""Implementation of a Sense energy voltage sensor."""
|
"""Implementation of a Sense energy voltage sensor."""
|
||||||
|
|
||||||
_attr_unit_of_measurement = VOLT
|
_attr_unit_of_measurement = ELECTRIC_POTENTIAL_VOLT
|
||||||
_attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION}
|
_attr_extra_state_attributes = {ATTR_ATTRIBUTION: ATTRIBUTION}
|
||||||
_attr_icon = ICON
|
_attr_icon = ICON
|
||||||
_attr_should_poll = False
|
_attr_should_poll = False
|
||||||
|
|
|
@ -4,13 +4,13 @@ from homeassistant.components.sensor import SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
DEGREE,
|
DEGREE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from .const import SHAIR_MAX_WORK_HOURS
|
from .const import SHAIR_MAX_WORK_HOURS
|
||||||
|
@ -43,7 +43,7 @@ SENSORS = {
|
||||||
),
|
),
|
||||||
("emeter", "current"): BlockAttributeDescription(
|
("emeter", "current"): BlockAttributeDescription(
|
||||||
name="Current",
|
name="Current",
|
||||||
unit=ELECTRICAL_CURRENT_AMPERE,
|
unit=ELECTRIC_CURRENT_AMPERE,
|
||||||
value=lambda value: value,
|
value=lambda value: value,
|
||||||
device_class=sensor.DEVICE_CLASS_CURRENT,
|
device_class=sensor.DEVICE_CLASS_CURRENT,
|
||||||
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
||||||
|
@ -72,7 +72,7 @@ SENSORS = {
|
||||||
),
|
),
|
||||||
("emeter", "voltage"): BlockAttributeDescription(
|
("emeter", "voltage"): BlockAttributeDescription(
|
||||||
name="Voltage",
|
name="Voltage",
|
||||||
unit=VOLT,
|
unit=ELECTRIC_POTENTIAL_VOLT,
|
||||||
value=lambda value: round(value, 1),
|
value=lambda value: round(value, 1),
|
||||||
device_class=sensor.DEVICE_CLASS_VOLTAGE,
|
device_class=sensor.DEVICE_CLASS_VOLTAGE,
|
||||||
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
||||||
|
@ -186,7 +186,7 @@ SENSORS = {
|
||||||
),
|
),
|
||||||
("adc", "adc"): BlockAttributeDescription(
|
("adc", "adc"): BlockAttributeDescription(
|
||||||
name="ADC",
|
name="ADC",
|
||||||
unit=VOLT,
|
unit=ELECTRIC_POTENTIAL_VOLT,
|
||||||
value=lambda value: round(value, 1),
|
value=lambda value: round(value, 1),
|
||||||
device_class=sensor.DEVICE_CLASS_VOLTAGE,
|
device_class=sensor.DEVICE_CLASS_VOLTAGE,
|
||||||
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
state_class=sensor.STATE_CLASS_MEASUREMENT,
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
"""Support for monitoring a Smappee energy sensor."""
|
"""Support for monitoring a Smappee energy sensor."""
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from homeassistant.components.sensor import SensorEntity
|
||||||
from homeassistant.const import DEVICE_CLASS_POWER, ENERGY_WATT_HOUR, POWER_WATT, VOLT
|
from homeassistant.const import (
|
||||||
|
DEVICE_CLASS_POWER,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
ENERGY_WATT_HOUR,
|
||||||
|
POWER_WATT,
|
||||||
|
)
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
@ -93,7 +98,7 @@ VOLTAGE_SENSORS = {
|
||||||
"phase_voltages_a": [
|
"phase_voltages_a": [
|
||||||
"Phase voltages - A",
|
"Phase voltages - A",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"phase_voltage_a",
|
"phase_voltage_a",
|
||||||
None,
|
None,
|
||||||
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
|
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
|
||||||
|
@ -101,7 +106,7 @@ VOLTAGE_SENSORS = {
|
||||||
"phase_voltages_b": [
|
"phase_voltages_b": [
|
||||||
"Phase voltages - B",
|
"Phase voltages - B",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"phase_voltage_b",
|
"phase_voltage_b",
|
||||||
None,
|
None,
|
||||||
["TWO", "THREE_STAR", "THREE_DELTA"],
|
["TWO", "THREE_STAR", "THREE_DELTA"],
|
||||||
|
@ -109,7 +114,7 @@ VOLTAGE_SENSORS = {
|
||||||
"phase_voltages_c": [
|
"phase_voltages_c": [
|
||||||
"Phase voltages - C",
|
"Phase voltages - C",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"phase_voltage_c",
|
"phase_voltage_c",
|
||||||
None,
|
None,
|
||||||
["THREE_STAR"],
|
["THREE_STAR"],
|
||||||
|
@ -117,7 +122,7 @@ VOLTAGE_SENSORS = {
|
||||||
"line_voltages_a": [
|
"line_voltages_a": [
|
||||||
"Line voltages - A",
|
"Line voltages - A",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"line_voltage_a",
|
"line_voltage_a",
|
||||||
None,
|
None,
|
||||||
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
|
["ONE", "TWO", "THREE_STAR", "THREE_DELTA"],
|
||||||
|
@ -125,7 +130,7 @@ VOLTAGE_SENSORS = {
|
||||||
"line_voltages_b": [
|
"line_voltages_b": [
|
||||||
"Line voltages - B",
|
"Line voltages - B",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"line_voltage_b",
|
"line_voltage_b",
|
||||||
None,
|
None,
|
||||||
["TWO", "THREE_STAR", "THREE_DELTA"],
|
["TWO", "THREE_STAR", "THREE_DELTA"],
|
||||||
|
@ -133,7 +138,7 @@ VOLTAGE_SENSORS = {
|
||||||
"line_voltages_c": [
|
"line_voltages_c": [
|
||||||
"Line voltages - C",
|
"Line voltages - C",
|
||||||
"mdi:flash",
|
"mdi:flash",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"line_voltage_c",
|
"line_voltage_c",
|
||||||
None,
|
None,
|
||||||
["THREE_STAR", "THREE_DELTA"],
|
["THREE_STAR", "THREE_DELTA"],
|
||||||
|
|
|
@ -15,6 +15,7 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_ILLUMINANCE,
|
DEVICE_CLASS_ILLUMINANCE,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
MASS_KILOGRAMS,
|
MASS_KILOGRAMS,
|
||||||
|
@ -22,7 +23,6 @@ from homeassistant.const import (
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
VOLT,
|
|
||||||
VOLUME_CUBIC_METERS,
|
VOLUME_CUBIC_METERS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ CAPABILITY_TO_SENSORS = {
|
||||||
Map(Attribute.ultraviolet_index, "Ultraviolet Index", None, None)
|
Map(Attribute.ultraviolet_index, "Ultraviolet Index", None, None)
|
||||||
],
|
],
|
||||||
Capability.voltage_measurement: [
|
Capability.voltage_measurement: [
|
||||||
Map(Attribute.voltage, "Voltage Measurement", VOLT, None)
|
Map(Attribute.voltage, "Voltage Measurement", ELECTRIC_POTENTIAL_VOLT, None)
|
||||||
],
|
],
|
||||||
Capability.washer_mode: [Map(Attribute.washer_mode, "Washer Mode", None, None)],
|
Capability.washer_mode: [Map(Attribute.washer_mode, "Washer Mode", None, None)],
|
||||||
Capability.washer_operating_state: [
|
Capability.washer_operating_state: [
|
||||||
|
|
|
@ -14,13 +14,13 @@ from homeassistant.const import (
|
||||||
CONF_IP_ADDRESS,
|
CONF_IP_ADDRESS,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
|
@ -44,8 +44,20 @@ INVERTER_MODES = (
|
||||||
# Supported sensor types:
|
# Supported sensor types:
|
||||||
# Key: ['json_key', 'name', unit, icon, attribute name]
|
# Key: ['json_key', 'name', unit, icon, attribute name]
|
||||||
SENSOR_TYPES = {
|
SENSOR_TYPES = {
|
||||||
"current_AC_voltage": ["gridvoltage", "Grid Voltage", VOLT, "mdi:current-ac", None],
|
"current_AC_voltage": [
|
||||||
"current_DC_voltage": ["dcvoltage", "DC Voltage", VOLT, "mdi:current-dc", None],
|
"gridvoltage",
|
||||||
|
"Grid Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
"mdi:current-ac",
|
||||||
|
None,
|
||||||
|
],
|
||||||
|
"current_DC_voltage": [
|
||||||
|
"dcvoltage",
|
||||||
|
"DC Voltage",
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
"mdi:current-dc",
|
||||||
|
None,
|
||||||
|
],
|
||||||
"current_frequency": [
|
"current_frequency": [
|
||||||
"gridfrequency",
|
"gridfrequency",
|
||||||
"Grid Frequency",
|
"Grid Frequency",
|
||||||
|
@ -113,7 +125,7 @@ SENSOR_TYPES = {
|
||||||
"optimizer_current": [
|
"optimizer_current": [
|
||||||
"optimizercurrent",
|
"optimizercurrent",
|
||||||
"Average Optimizer Current",
|
"Average Optimizer Current",
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
"mdi:solar-panel",
|
"mdi:solar-panel",
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
|
@ -137,7 +149,7 @@ SENSOR_TYPES = {
|
||||||
"optimizer_voltage": [
|
"optimizer_voltage": [
|
||||||
"optimizervoltage",
|
"optimizervoltage",
|
||||||
"Average Optimizer Voltage",
|
"Average Optimizer Voltage",
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
"mdi:solar-panel",
|
"mdi:solar-panel",
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
"""Constants for the Solar-Log integration."""
|
"""Constants for the Solar-Log integration."""
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
from homeassistant.const import ENERGY_KILO_WATT_HOUR, PERCENTAGE, POWER_WATT, VOLT
|
from homeassistant.const import (
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
ENERGY_KILO_WATT_HOUR,
|
||||||
|
PERCENTAGE,
|
||||||
|
POWER_WATT,
|
||||||
|
)
|
||||||
|
|
||||||
DOMAIN = "solarlog"
|
DOMAIN = "solarlog"
|
||||||
|
|
||||||
|
@ -17,8 +22,8 @@ SENSOR_TYPES = {
|
||||||
"time": ["TIME", "last update", None, "mdi:calendar-clock"],
|
"time": ["TIME", "last update", None, "mdi:calendar-clock"],
|
||||||
"power_ac": ["powerAC", "power AC", POWER_WATT, "mdi:solar-power"],
|
"power_ac": ["powerAC", "power AC", POWER_WATT, "mdi:solar-power"],
|
||||||
"power_dc": ["powerDC", "power DC", POWER_WATT, "mdi:solar-power"],
|
"power_dc": ["powerDC", "power DC", POWER_WATT, "mdi:solar-power"],
|
||||||
"voltage_ac": ["voltageAC", "voltage AC", VOLT, "mdi:flash"],
|
"voltage_ac": ["voltageAC", "voltage AC", ELECTRIC_POTENTIAL_VOLT, "mdi:flash"],
|
||||||
"voltage_dc": ["voltageDC", "voltage DC", VOLT, "mdi:flash"],
|
"voltage_dc": ["voltageDC", "voltage DC", ELECTRIC_POTENTIAL_VOLT, "mdi:flash"],
|
||||||
"yield_day": ["yieldDAY", "yield day", ENERGY_KILO_WATT_HOUR, "mdi:solar-power"],
|
"yield_day": ["yieldDAY", "yield day", ENERGY_KILO_WATT_HOUR, "mdi:solar-power"],
|
||||||
"yield_yesterday": [
|
"yield_yesterday": [
|
||||||
"yieldYESTERDAY",
|
"yieldYESTERDAY",
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
"""Reads vehicle status from StarLine API."""
|
"""Reads vehicle status from StarLine API."""
|
||||||
from homeassistant.components.sensor import DEVICE_CLASS_TEMPERATURE, SensorEntity
|
from homeassistant.components.sensor import DEVICE_CLASS_TEMPERATURE, SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
LENGTH_KILOMETERS,
|
LENGTH_KILOMETERS,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
VOLUME_LITERS,
|
VOLUME_LITERS,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers.icon import icon_for_battery_level, icon_for_signal_level
|
from homeassistant.helpers.icon import icon_for_battery_level, icon_for_signal_level
|
||||||
|
@ -14,7 +14,7 @@ from .const import DOMAIN
|
||||||
from .entity import StarlineEntity
|
from .entity import StarlineEntity
|
||||||
|
|
||||||
SENSOR_TYPES = {
|
SENSOR_TYPES = {
|
||||||
"battery": ["Battery", None, VOLT, None],
|
"battery": ["Battery", None, ELECTRIC_POTENTIAL_VOLT, None],
|
||||||
"balance": ["Balance", None, None, "mdi:cash-multiple"],
|
"balance": ["Balance", None, None, "mdi:cash-multiple"],
|
||||||
"ctemp": ["Interior Temperature", DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None],
|
"ctemp": ["Interior Temperature", DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None],
|
||||||
"etemp": ["Engine Temperature", DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None],
|
"etemp": ["Engine Temperature", DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, None],
|
||||||
|
|
|
@ -8,13 +8,13 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
LENGTH_KILOMETERS,
|
LENGTH_KILOMETERS,
|
||||||
LENGTH_MILES,
|
LENGTH_MILES,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
PRESSURE_HPA,
|
PRESSURE_HPA,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
VOLT,
|
|
||||||
VOLUME_GALLONS,
|
VOLUME_GALLONS,
|
||||||
VOLUME_LITERS,
|
VOLUME_LITERS,
|
||||||
)
|
)
|
||||||
|
@ -111,7 +111,7 @@ API_GEN_2_SENSORS = [
|
||||||
SENSOR_TYPE: "12V Battery Voltage",
|
SENSOR_TYPE: "12V Battery Voltage",
|
||||||
SENSOR_CLASS: DEVICE_CLASS_VOLTAGE,
|
SENSOR_CLASS: DEVICE_CLASS_VOLTAGE,
|
||||||
SENSOR_FIELD: sc.BATTERY_VOLTAGE,
|
SENSOR_FIELD: sc.BATTERY_VOLTAGE,
|
||||||
SENSOR_UNITS: VOLT,
|
SENSOR_UNITS: ELECTRIC_POTENTIAL_VOLT,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ from homeassistant.components.sensor import (
|
||||||
SensorEntity,
|
SensorEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import ELECTRICAL_CURRENT_AMPERE, POWER_WATT
|
from homeassistant.const import ELECTRIC_CURRENT_AMPERE, POWER_WATT
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers import device_registry
|
from homeassistant.helpers import device_registry
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
@ -45,7 +45,7 @@ POWER_SENSORS = {
|
||||||
),
|
),
|
||||||
"electric_current": AttributeDescription(
|
"electric_current": AttributeDescription(
|
||||||
name="Electric Current",
|
name="Electric Current",
|
||||||
unit=ELECTRICAL_CURRENT_AMPERE,
|
unit=ELECTRIC_CURRENT_AMPERE,
|
||||||
device_class=DEVICE_CLASS_CURRENT,
|
device_class=DEVICE_CLASS_CURRENT,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
|
|
|
@ -14,10 +14,10 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
FREQUENCY_GIGAHERTZ,
|
FREQUENCY_GIGAHERTZ,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||||
|
@ -205,7 +205,7 @@ class BridgeCpuVoltageSensor(BridgeSensor):
|
||||||
"CPU Voltage",
|
"CPU Voltage",
|
||||||
None,
|
None,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
False,
|
False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -26,14 +26,15 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ELECTRICAL_VOLT_AMPERE,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
LENGTH_CENTIMETERS,
|
LENGTH_CENTIMETERS,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
MASS_KILOGRAMS,
|
MASS_KILOGRAMS,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
POWER_VOLT_AMPERE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
PRESSURE_HPA,
|
PRESSURE_HPA,
|
||||||
SIGNAL_STRENGTH_DECIBELS,
|
SIGNAL_STRENGTH_DECIBELS,
|
||||||
|
@ -44,7 +45,6 @@ from homeassistant.const import (
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
TEMP_FAHRENHEIT,
|
TEMP_FAHRENHEIT,
|
||||||
TEMP_KELVIN,
|
TEMP_KELVIN,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
@ -134,8 +134,8 @@ SENSOR_UNIT_MAP = {
|
||||||
hc.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
hc.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
hc.CONCENTRATION_PARTS_PER_BILLION: CONCENTRATION_PARTS_PER_BILLION,
|
hc.CONCENTRATION_PARTS_PER_BILLION: CONCENTRATION_PARTS_PER_BILLION,
|
||||||
hc.CONCENTRATION_PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
|
hc.CONCENTRATION_PARTS_PER_MILLION: CONCENTRATION_PARTS_PER_MILLION,
|
||||||
hc.ELECTRICAL_CURRENT_AMPERE: ELECTRICAL_CURRENT_AMPERE,
|
hc.ELECTRICAL_CURRENT_AMPERE: ELECTRIC_CURRENT_AMPERE,
|
||||||
hc.ELECTRICAL_VOLT_AMPERE: ELECTRICAL_VOLT_AMPERE,
|
hc.ELECTRICAL_VOLT_AMPERE: POWER_VOLT_AMPERE,
|
||||||
hc.ENERGY_KILO_WATT_HOUR: ENERGY_KILO_WATT_HOUR,
|
hc.ENERGY_KILO_WATT_HOUR: ENERGY_KILO_WATT_HOUR,
|
||||||
hc.FREQUENCY_HERTZ: FREQUENCY_HERTZ,
|
hc.FREQUENCY_HERTZ: FREQUENCY_HERTZ,
|
||||||
hc.LENGTH_CENTIMETERS: LENGTH_CENTIMETERS,
|
hc.LENGTH_CENTIMETERS: LENGTH_CENTIMETERS,
|
||||||
|
@ -152,7 +152,7 @@ SENSOR_UNIT_MAP = {
|
||||||
hc.TEMP_CELSIUS: TEMP_CELSIUS,
|
hc.TEMP_CELSIUS: TEMP_CELSIUS,
|
||||||
hc.TEMP_FAHRENHEIT: TEMP_FAHRENHEIT,
|
hc.TEMP_FAHRENHEIT: TEMP_FAHRENHEIT,
|
||||||
hc.TEMP_KELVIN: TEMP_KELVIN,
|
hc.TEMP_KELVIN: TEMP_KELVIN,
|
||||||
hc.VOLT: VOLT,
|
hc.VOLT: ELECTRIC_POTENTIAL_VOLT,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,13 @@ from homeassistant.components.sensor import (
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
SensorEntity,
|
SensorEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT, POWER_WATT, VOLT
|
from homeassistant.const import (
|
||||||
|
CONF_HOST,
|
||||||
|
CONF_NAME,
|
||||||
|
CONF_PORT,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
|
POWER_WATT,
|
||||||
|
)
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
|
|
||||||
|
@ -47,7 +53,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||||
dev = []
|
dev = []
|
||||||
for mtu in gateway.data:
|
for mtu in gateway.data:
|
||||||
dev.append(Ted5000Sensor(gateway, name, mtu, POWER_WATT))
|
dev.append(Ted5000Sensor(gateway, name, mtu, POWER_WATT))
|
||||||
dev.append(Ted5000Sensor(gateway, name, mtu, VOLT))
|
dev.append(Ted5000Sensor(gateway, name, mtu, ELECTRIC_POTENTIAL_VOLT))
|
||||||
|
|
||||||
add_entities(dev)
|
add_entities(dev)
|
||||||
return True
|
return True
|
||||||
|
@ -60,7 +66,7 @@ class Ted5000Sensor(SensorEntity):
|
||||||
|
|
||||||
def __init__(self, gateway, name, mtu, unit):
|
def __init__(self, gateway, name, mtu, unit):
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
units = {POWER_WATT: "power", VOLT: "voltage"}
|
units = {POWER_WATT: "power", ELECTRIC_POTENTIAL_VOLT: "voltage"}
|
||||||
self._gateway = gateway
|
self._gateway = gateway
|
||||||
self._name = f"{name} mtu{mtu} {units[unit]}"
|
self._name = f"{name} mtu{mtu} {units[unit]}"
|
||||||
self._mtu = mtu
|
self._mtu = mtu
|
||||||
|
@ -112,4 +118,7 @@ class Ted5000Gateway:
|
||||||
power = int(doc["LiveData"]["Power"]["MTU%d" % mtu]["PowerNow"])
|
power = int(doc["LiveData"]["Power"]["MTU%d" % mtu]["PowerNow"])
|
||||||
voltage = int(doc["LiveData"]["Voltage"]["MTU%d" % mtu]["VoltageNow"])
|
voltage = int(doc["LiveData"]["Voltage"]["MTU%d" % mtu]["VoltageNow"])
|
||||||
|
|
||||||
self.data[mtu] = {POWER_WATT: power, VOLT: voltage / 10}
|
self.data[mtu] = {
|
||||||
|
POWER_WATT: power,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT: voltage / 10,
|
||||||
|
}
|
||||||
|
|
|
@ -22,12 +22,12 @@ from homeassistant.components.sensor import (
|
||||||
SensorEntity,
|
SensorEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
SIGNAL_STRENGTH_DECIBELS,
|
SIGNAL_STRENGTH_DECIBELS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.exceptions import PlatformNotReady
|
from homeassistant.exceptions import PlatformNotReady
|
||||||
|
@ -126,37 +126,37 @@ RT_SENSOR_MAP: dict[str, TibberSensorMetadata] = {
|
||||||
"voltagePhase1": TibberSensorMetadata(
|
"voltagePhase1": TibberSensorMetadata(
|
||||||
"voltage phase1",
|
"voltage phase1",
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"voltagePhase2": TibberSensorMetadata(
|
"voltagePhase2": TibberSensorMetadata(
|
||||||
"voltage phase2",
|
"voltage phase2",
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"voltagePhase3": TibberSensorMetadata(
|
"voltagePhase3": TibberSensorMetadata(
|
||||||
"voltage phase3",
|
"voltage phase3",
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
VOLT,
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"currentL1": TibberSensorMetadata(
|
"currentL1": TibberSensorMetadata(
|
||||||
"current L1",
|
"current L1",
|
||||||
DEVICE_CLASS_CURRENT,
|
DEVICE_CLASS_CURRENT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"currentL2": TibberSensorMetadata(
|
"currentL2": TibberSensorMetadata(
|
||||||
"current L2",
|
"current L2",
|
||||||
DEVICE_CLASS_CURRENT,
|
DEVICE_CLASS_CURRENT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"currentL3": TibberSensorMetadata(
|
"currentL3": TibberSensorMetadata(
|
||||||
"current L3",
|
"current L3",
|
||||||
DEVICE_CLASS_CURRENT,
|
DEVICE_CLASS_CURRENT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
STATE_CLASS_MEASUREMENT,
|
STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
"signalStrength": TibberSensorMetadata(
|
"signalStrength": TibberSensorMetadata(
|
||||||
|
|
|
@ -3,7 +3,7 @@ from homeassistant.const import (
|
||||||
CONF_ICON,
|
CONF_ICON,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_UNIT_OF_MEASUREMENT,
|
CONF_UNIT_OF_MEASUREMENT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
LENGTH_KILOMETERS,
|
LENGTH_KILOMETERS,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
@ -30,7 +30,7 @@ CONF_SENSOR_TYPES = {
|
||||||
CONF_ICON: "mdi:ev-station",
|
CONF_ICON: "mdi:ev-station",
|
||||||
CONF_NAME: "Max Available Power",
|
CONF_NAME: "Max Available Power",
|
||||||
CONF_ROUND: 0,
|
CONF_ROUND: 0,
|
||||||
CONF_UNIT_OF_MEASUREMENT: ELECTRICAL_CURRENT_AMPERE,
|
CONF_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||||
STATE_UNAVAILABLE: False,
|
STATE_UNAVAILABLE: False,
|
||||||
},
|
},
|
||||||
"charging_speed": {
|
"charging_speed": {
|
||||||
|
|
|
@ -11,9 +11,9 @@ from homeassistant.const import (
|
||||||
ATTR_VOLTAGE,
|
ATTR_VOLTAGE,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
CONF_USERNAME,
|
CONF_USERNAME,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.dispatcher import dispatcher_send
|
from homeassistant.helpers.dispatcher import dispatcher_send
|
||||||
|
@ -276,7 +276,7 @@ class WirelessTagBaseSensor(Entity):
|
||||||
"""Return the state attributes."""
|
"""Return the state attributes."""
|
||||||
return {
|
return {
|
||||||
ATTR_BATTERY_LEVEL: int(self._tag.battery_remaining * 100),
|
ATTR_BATTERY_LEVEL: int(self._tag.battery_remaining * 100),
|
||||||
ATTR_VOLTAGE: f"{self._tag.battery_volts:.2f}{VOLT}",
|
ATTR_VOLTAGE: f"{self._tag.battery_volts:.2f}{ELECTRIC_POTENTIAL_VOLT}",
|
||||||
ATTR_TAG_SIGNAL_STRENGTH: f"{self._tag.signal_strength}{SIGNAL_STRENGTH_DECIBELS_MILLIWATT}",
|
ATTR_TAG_SIGNAL_STRENGTH: f"{self._tag.signal_strength}{SIGNAL_STRENGTH_DECIBELS_MILLIWATT}",
|
||||||
ATTR_TAG_OUT_OF_RANGE: not self._tag.is_in_range,
|
ATTR_TAG_OUT_OF_RANGE: not self._tag.is_in_range,
|
||||||
ATTR_TAG_POWER_CONSUMPTION: f"{self._tag.power_consumption:.2f}{PERCENTAGE}",
|
ATTR_TAG_POWER_CONSUMPTION: f"{self._tag.power_consumption:.2f}{PERCENTAGE}",
|
||||||
|
|
|
@ -401,19 +401,19 @@ ATTR_TEMPERATURE: Final = "temperature"
|
||||||
# Power units
|
# Power units
|
||||||
POWER_WATT: Final = "W"
|
POWER_WATT: Final = "W"
|
||||||
POWER_KILO_WATT: Final = "kW"
|
POWER_KILO_WATT: Final = "kW"
|
||||||
|
POWER_VOLT_AMPERE: Final = "VA"
|
||||||
# Voltage units
|
|
||||||
VOLT: Final = "V"
|
|
||||||
|
|
||||||
# Energy units
|
# Energy units
|
||||||
ENERGY_WATT_HOUR: Final = "Wh"
|
ENERGY_WATT_HOUR: Final = "Wh"
|
||||||
ENERGY_KILO_WATT_HOUR: Final = "kWh"
|
ENERGY_KILO_WATT_HOUR: Final = "kWh"
|
||||||
|
|
||||||
# Electrical units
|
# Electric_current units
|
||||||
ELECTRIC_CURRENT_MILLIAMPERE: Final = "mA"
|
ELECTRIC_CURRENT_MILLIAMPERE: Final = "mA"
|
||||||
ELECTRICAL_CURRENT_AMPERE: Final = "A"
|
ELECTRIC_CURRENT_AMPERE: Final = "A"
|
||||||
ELECTRICAL_VOLT_AMPERE: Final = "VA"
|
|
||||||
|
# Electric_potential units
|
||||||
ELECTRIC_POTENTIAL_MILLIVOLT: Final = "mV"
|
ELECTRIC_POTENTIAL_MILLIVOLT: Final = "mV"
|
||||||
|
ELECTRIC_POTENTIAL_VOLT: Final = "V"
|
||||||
|
|
||||||
# Degree units
|
# Degree units
|
||||||
DEGREE: Final = "°"
|
DEGREE: Final = "°"
|
||||||
|
|
|
@ -14,14 +14,14 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_PRESSURE,
|
DEVICE_CLASS_PRESSURE,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRIC_CURRENT_AMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_VOLT,
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
PRESSURE_MBAR,
|
PRESSURE_MBAR,
|
||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
VOLT,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
MOCK_OWPROXY_DEVICES = {
|
MOCK_OWPROXY_DEVICES = {
|
||||||
|
@ -347,7 +347,7 @@ MOCK_OWPROXY_DEVICES = {
|
||||||
"unique_id": "/26.111111111111/VAD",
|
"unique_id": "/26.111111111111/VAD",
|
||||||
"injected_value": b" 2.97",
|
"injected_value": b" 2.97",
|
||||||
"result": "3.0",
|
"result": "3.0",
|
||||||
"unit": VOLT,
|
"unit": ELECTRIC_POTENTIAL_VOLT,
|
||||||
"class": DEVICE_CLASS_VOLTAGE,
|
"class": DEVICE_CLASS_VOLTAGE,
|
||||||
"disabled": True,
|
"disabled": True,
|
||||||
},
|
},
|
||||||
|
@ -356,7 +356,7 @@ MOCK_OWPROXY_DEVICES = {
|
||||||
"unique_id": "/26.111111111111/VDD",
|
"unique_id": "/26.111111111111/VDD",
|
||||||
"injected_value": b" 4.74",
|
"injected_value": b" 4.74",
|
||||||
"result": "4.7",
|
"result": "4.7",
|
||||||
"unit": VOLT,
|
"unit": ELECTRIC_POTENTIAL_VOLT,
|
||||||
"class": DEVICE_CLASS_VOLTAGE,
|
"class": DEVICE_CLASS_VOLTAGE,
|
||||||
"disabled": True,
|
"disabled": True,
|
||||||
},
|
},
|
||||||
|
@ -365,7 +365,7 @@ MOCK_OWPROXY_DEVICES = {
|
||||||
"unique_id": "/26.111111111111/IAD",
|
"unique_id": "/26.111111111111/IAD",
|
||||||
"injected_value": b" 1",
|
"injected_value": b" 1",
|
||||||
"result": "1.0",
|
"result": "1.0",
|
||||||
"unit": ELECTRICAL_CURRENT_AMPERE,
|
"unit": ELECTRIC_CURRENT_AMPERE,
|
||||||
"class": DEVICE_CLASS_CURRENT,
|
"class": DEVICE_CLASS_CURRENT,
|
||||||
"disabled": True,
|
"disabled": True,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue