Add new electrical unit constants (mV + mA) (#53158)
This commit is contained in:
parent
08f03c95d2
commit
c578541a82
11 changed files with 34 additions and 23 deletions
|
@ -6,6 +6,7 @@ from homeassistant.const import (
|
||||||
AREA_SQUARE_METERS,
|
AREA_SQUARE_METERS,
|
||||||
CONF_MONITORED_CONDITIONS,
|
CONF_MONITORED_CONDITIONS,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
PRESSURE_INHG,
|
PRESSURE_INHG,
|
||||||
PRESSURE_MBAR,
|
PRESSURE_MBAR,
|
||||||
|
@ -32,7 +33,7 @@ SENSOR_UNITS_IMPERIAL = {
|
||||||
"Humidity": PERCENTAGE,
|
"Humidity": PERCENTAGE,
|
||||||
"Pressure": PRESSURE_INHG,
|
"Pressure": PRESSURE_INHG,
|
||||||
"Luminance": f"cd/{AREA_SQUARE_METERS}",
|
"Luminance": f"cd/{AREA_SQUARE_METERS}",
|
||||||
"Voltage": "mV",
|
"Voltage": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Metric units
|
# Metric units
|
||||||
|
@ -41,7 +42,7 @@ SENSOR_UNITS_METRIC = {
|
||||||
"Humidity": PERCENTAGE,
|
"Humidity": PERCENTAGE,
|
||||||
"Pressure": PRESSURE_MBAR,
|
"Pressure": PRESSURE_MBAR,
|
||||||
"Luminance": f"cd/{AREA_SQUARE_METERS}",
|
"Luminance": f"cd/{AREA_SQUARE_METERS}",
|
||||||
"Voltage": "mV",
|
"Voltage": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Device class
|
# Device class
|
||||||
|
|
|
@ -8,6 +8,7 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_ILLUMINANCE,
|
DEVICE_CLASS_ILLUMINANCE,
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
LENGTH_MILLIMETERS,
|
LENGTH_MILLIMETERS,
|
||||||
|
@ -47,7 +48,7 @@ HM_UNIT_HA_CAST = {
|
||||||
"ACTUAL_TEMPERATURE": TEMP_CELSIUS,
|
"ACTUAL_TEMPERATURE": TEMP_CELSIUS,
|
||||||
"BRIGHTNESS": "#",
|
"BRIGHTNESS": "#",
|
||||||
"POWER": POWER_WATT,
|
"POWER": POWER_WATT,
|
||||||
"CURRENT": "mA",
|
"CURRENT": ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
"VOLTAGE": VOLT,
|
"VOLTAGE": VOLT,
|
||||||
"ENERGY_COUNTER": ENERGY_WATT_HOUR,
|
"ENERGY_COUNTER": ENERGY_WATT_HOUR,
|
||||||
"GAS_POWER": VOLUME_CUBIC_METERS,
|
"GAS_POWER": VOLUME_CUBIC_METERS,
|
||||||
|
|
|
@ -48,6 +48,8 @@ from homeassistant.const import (
|
||||||
CURRENCY_CENT,
|
CURRENCY_CENT,
|
||||||
CURRENCY_DOLLAR,
|
CURRENCY_DOLLAR,
|
||||||
DEGREE,
|
DEGREE,
|
||||||
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
FREQUENCY_HERTZ,
|
FREQUENCY_HERTZ,
|
||||||
|
@ -371,9 +373,9 @@ UOM_FRIENDLY_NAME = {
|
||||||
"38": LENGTH_METERS,
|
"38": LENGTH_METERS,
|
||||||
"39": VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
"39": VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||||
"40": SPEED_METERS_PER_SECOND,
|
"40": SPEED_METERS_PER_SECOND,
|
||||||
"41": "mA",
|
"41": ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
"42": TIME_MILLISECONDS,
|
"42": TIME_MILLISECONDS,
|
||||||
"43": "mV",
|
"43": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
"44": TIME_MINUTES,
|
"44": TIME_MINUTES,
|
||||||
"45": TIME_MINUTES,
|
"45": TIME_MINUTES,
|
||||||
"46": PRECIPITATION_MILLIMETERS_PER_HOUR,
|
"46": PRECIPITATION_MILLIMETERS_PER_HOUR,
|
||||||
|
|
|
@ -11,6 +11,7 @@ from homeassistant.const import (
|
||||||
DEGREE,
|
DEGREE,
|
||||||
DEVICE_CLASS_HUMIDITY,
|
DEVICE_CLASS_HUMIDITY,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRICAL_CURRENT_AMPERE,
|
||||||
ELECTRICAL_VOLT_AMPERE,
|
ELECTRICAL_VOLT_AMPERE,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
|
@ -61,7 +62,7 @@ SENSORS: dict[str, list[str | None] | dict[str, list[str | None]]] = {
|
||||||
"V_VOLTAGE": [VOLT, "mdi:flash", None],
|
"V_VOLTAGE": [VOLT, "mdi:flash", None],
|
||||||
"V_CURRENT": [ELECTRICAL_CURRENT_AMPERE, "mdi:flash-auto", None],
|
"V_CURRENT": [ELECTRICAL_CURRENT_AMPERE, "mdi:flash-auto", None],
|
||||||
"V_PH": ["pH", None, None],
|
"V_PH": ["pH", None, None],
|
||||||
"V_ORP": ["mV", 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": [ELECTRICAL_VOLT_AMPERE, None, None],
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
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 (
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
MASS_GRAMS,
|
MASS_GRAMS,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
|
@ -342,7 +343,7 @@ SENSOR_TYPES = {
|
||||||
"kind": "csad_orp",
|
"kind": "csad_orp",
|
||||||
"device_class": None,
|
"device_class": None,
|
||||||
"icon": "mdi:gauge",
|
"icon": "mdi:gauge",
|
||||||
"unit": "mV",
|
"unit": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
"guard_condition": [
|
"guard_condition": [
|
||||||
{"orp": ""},
|
{"orp": ""},
|
||||||
],
|
],
|
||||||
|
|
|
@ -10,6 +10,7 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_BATTERY,
|
DEVICE_CLASS_BATTERY,
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
)
|
)
|
||||||
|
@ -28,7 +29,12 @@ SENSOR_TYPES = {
|
||||||
None,
|
None,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
],
|
],
|
||||||
"orp": ["Oxydo Reduction Potential", "mV", "mdi:pool", None],
|
"orp": [
|
||||||
|
"Oxydo Reduction Potential",
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
|
"mdi:pool",
|
||||||
|
None,
|
||||||
|
],
|
||||||
"ph": ["pH", "", "mdi:pool", None],
|
"ph": ["pH", "", "mdi:pool", None],
|
||||||
"tds": ["TDS", CONCENTRATION_PARTS_PER_MILLION, "mdi:pool", None],
|
"tds": ["TDS", CONCENTRATION_PARTS_PER_MILLION, "mdi:pool", None],
|
||||||
"battery": ["Battery", PERCENTAGE, None, DEVICE_CLASS_BATTERY],
|
"battery": ["Battery", PERCENTAGE, None, DEVICE_CLASS_BATTERY],
|
||||||
|
|
|
@ -6,6 +6,7 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_BATTERY,
|
DEVICE_CLASS_BATTERY,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
)
|
)
|
||||||
|
@ -15,7 +16,7 @@ from .const import ATTRIBUTION, DOMAIN
|
||||||
|
|
||||||
SENSORS = {
|
SENSORS = {
|
||||||
"Chlorine": {
|
"Chlorine": {
|
||||||
"unit": "mV",
|
"unit": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
"icon": "mdi:pool",
|
"icon": "mdi:pool",
|
||||||
"name": "Chlorine",
|
"name": "Chlorine",
|
||||||
"device_class": None,
|
"device_class": None,
|
||||||
|
@ -40,13 +41,13 @@ SENSORS = {
|
||||||
"device_class": DEVICE_CLASS_TIMESTAMP,
|
"device_class": DEVICE_CLASS_TIMESTAMP,
|
||||||
},
|
},
|
||||||
"Chlorine High": {
|
"Chlorine High": {
|
||||||
"unit": "mV",
|
"unit": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
"icon": "mdi:pool",
|
"icon": "mdi:pool",
|
||||||
"name": "Chlorine High",
|
"name": "Chlorine High",
|
||||||
"device_class": None,
|
"device_class": None,
|
||||||
},
|
},
|
||||||
"Chlorine Low": {
|
"Chlorine Low": {
|
||||||
"unit": "mV",
|
"unit": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||||
"icon": "mdi:pool",
|
"icon": "mdi:pool",
|
||||||
"name": "Chlorine Low",
|
"name": "Chlorine Low",
|
||||||
"device_class": None,
|
"device_class": None,
|
||||||
|
|
|
@ -30,9 +30,6 @@ ATTR_SPEED = "speed"
|
||||||
ATTR_TARGET_BRIGHTNESS = "target_brightness"
|
ATTR_TARGET_BRIGHTNESS = "target_brightness"
|
||||||
ATTR_UDP_PORT = "udp_port"
|
ATTR_UDP_PORT = "udp_port"
|
||||||
|
|
||||||
# Units of measurement
|
|
||||||
CURRENT_MA = "mA"
|
|
||||||
|
|
||||||
# Services
|
# Services
|
||||||
SERVICE_EFFECT = "effect"
|
SERVICE_EFFECT = "effect"
|
||||||
SERVICE_PRESET = "preset"
|
SERVICE_PRESET = "preset"
|
||||||
|
|
|
@ -10,6 +10,7 @@ from homeassistant.const import (
|
||||||
DATA_BYTES,
|
DATA_BYTES,
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||||
)
|
)
|
||||||
|
@ -17,7 +18,7 @@ from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util.dt import utcnow
|
from homeassistant.util.dt import utcnow
|
||||||
|
|
||||||
from .const import ATTR_LED_COUNT, ATTR_MAX_POWER, CURRENT_MA, DOMAIN
|
from .const import ATTR_LED_COUNT, ATTR_MAX_POWER, DOMAIN
|
||||||
from .coordinator import WLEDDataUpdateCoordinator
|
from .coordinator import WLEDDataUpdateCoordinator
|
||||||
from .models import WLEDEntity
|
from .models import WLEDEntity
|
||||||
|
|
||||||
|
@ -47,7 +48,7 @@ class WLEDEstimatedCurrentSensor(WLEDEntity, SensorEntity):
|
||||||
"""Defines a WLED estimated current sensor."""
|
"""Defines a WLED estimated current sensor."""
|
||||||
|
|
||||||
_attr_icon = "mdi:power"
|
_attr_icon = "mdi:power"
|
||||||
_attr_unit_of_measurement = CURRENT_MA
|
_attr_unit_of_measurement = ELECTRIC_CURRENT_MILLIAMPERE
|
||||||
_attr_device_class = DEVICE_CLASS_CURRENT
|
_attr_device_class = DEVICE_CLASS_CURRENT
|
||||||
|
|
||||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||||
|
|
|
@ -407,8 +407,10 @@ ENERGY_WATT_HOUR: Final = "Wh"
|
||||||
ENERGY_KILO_WATT_HOUR: Final = "kWh"
|
ENERGY_KILO_WATT_HOUR: Final = "kWh"
|
||||||
|
|
||||||
# Electrical units
|
# Electrical units
|
||||||
|
ELECTRIC_CURRENT_MILLIAMPERE: Final = "mA"
|
||||||
ELECTRICAL_CURRENT_AMPERE: Final = "A"
|
ELECTRICAL_CURRENT_AMPERE: Final = "A"
|
||||||
ELECTRICAL_VOLT_AMPERE: Final = "VA"
|
ELECTRICAL_VOLT_AMPERE: Final = "VA"
|
||||||
|
ELECTRIC_POTENTIAL_MILLIVOLT: Final = "mV"
|
||||||
|
|
||||||
# Degree units
|
# Degree units
|
||||||
DEGREE: Final = "°"
|
DEGREE: Final = "°"
|
||||||
|
|
|
@ -10,17 +10,13 @@ from homeassistant.components.sensor import (
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
DOMAIN as SENSOR_DOMAIN,
|
DOMAIN as SENSOR_DOMAIN,
|
||||||
)
|
)
|
||||||
from homeassistant.components.wled.const import (
|
from homeassistant.components.wled.const import ATTR_LED_COUNT, ATTR_MAX_POWER, DOMAIN
|
||||||
ATTR_LED_COUNT,
|
|
||||||
ATTR_MAX_POWER,
|
|
||||||
CURRENT_MA,
|
|
||||||
DOMAIN,
|
|
||||||
)
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_DEVICE_CLASS,
|
ATTR_DEVICE_CLASS,
|
||||||
ATTR_ICON,
|
ATTR_ICON,
|
||||||
ATTR_UNIT_OF_MEASUREMENT,
|
ATTR_UNIT_OF_MEASUREMENT,
|
||||||
DATA_BYTES,
|
DATA_BYTES,
|
||||||
|
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||||
STATE_UNKNOWN,
|
STATE_UNKNOWN,
|
||||||
|
@ -101,7 +97,9 @@ async def test_sensors(
|
||||||
assert state.attributes.get(ATTR_ICON) == "mdi:power"
|
assert state.attributes.get(ATTR_ICON) == "mdi:power"
|
||||||
assert state.attributes.get(ATTR_LED_COUNT) == 30
|
assert state.attributes.get(ATTR_LED_COUNT) == 30
|
||||||
assert state.attributes.get(ATTR_MAX_POWER) == 850
|
assert state.attributes.get(ATTR_MAX_POWER) == 850
|
||||||
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == CURRENT_MA
|
assert (
|
||||||
|
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == ELECTRIC_CURRENT_MILLIAMPERE
|
||||||
|
)
|
||||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_CURRENT
|
assert state.attributes.get(ATTR_DEVICE_CLASS) == DEVICE_CLASS_CURRENT
|
||||||
assert state.state == "470"
|
assert state.state == "470"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue