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