diff --git a/homeassistant/components/miflora/sensor.py b/homeassistant/components/miflora/sensor.py index b8073f16d92..61db00fa148 100644 --- a/homeassistant/components/miflora/sensor.py +++ b/homeassistant/components/miflora/sensor.py @@ -18,6 +18,7 @@ from homeassistant.const import ( EVENT_HOMEASSISTANT_START, TEMP_CELSIUS, TEMP_FAHRENHEIT, + UNIT_CONDUCTIVITY, UNIT_PERCENTAGE, ) from homeassistant.core import callback @@ -54,7 +55,7 @@ SENSOR_TYPES = { "temperature": ["Temperature", TEMP_CELSIUS, "mdi:thermometer"], "light": ["Light intensity", "lx", "mdi:white-balance-sunny"], "moisture": ["Moisture", UNIT_PERCENTAGE, "mdi:water-percent"], - "conductivity": ["Conductivity", "µS/cm", "mdi:flash-circle"], + "conductivity": ["Conductivity", UNIT_CONDUCTIVITY, "mdi:flash-circle"], "battery": ["Battery", UNIT_PERCENTAGE, "mdi:battery-charging"], } diff --git a/homeassistant/components/mysensors/sensor.py b/homeassistant/components/mysensors/sensor.py index ac16198ee69..e528d7c4baa 100644 --- a/homeassistant/components/mysensors/sensor.py +++ b/homeassistant/components/mysensors/sensor.py @@ -7,6 +7,7 @@ from homeassistant.const import ( POWER_WATT, TEMP_CELSIUS, TEMP_FAHRENHEIT, + UNIT_CONDUCTIVITY, UNIT_DEGREE, UNIT_PERCENTAGE, UNIT_VOLT, @@ -41,7 +42,7 @@ SENSORS = { "V_CURRENT": ["A", "mdi:flash-auto"], "V_PH": ["pH", None], "V_ORP": ["mV", None], - "V_EC": ["μS/cm", None], + "V_EC": [UNIT_CONDUCTIVITY, None], "V_VAR": ["var", None], "V_VA": ["VA", None], } diff --git a/homeassistant/components/plant/__init__.py b/homeassistant/components/plant/__init__.py index 3e35559bb62..f63df3995ec 100644 --- a/homeassistant/components/plant/__init__.py +++ b/homeassistant/components/plant/__init__.py @@ -16,6 +16,7 @@ from homeassistant.const import ( STATE_UNAVAILABLE, STATE_UNKNOWN, TEMP_CELSIUS, + UNIT_CONDUCTIVITY, UNIT_PERCENTAGE, ) from homeassistant.core import callback @@ -147,7 +148,7 @@ class Plant(Entity): "max": CONF_MAX_MOISTURE, }, READING_CONDUCTIVITY: { - ATTR_UNIT_OF_MEASUREMENT: "µS/cm", + ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY, "min": CONF_MIN_CONDUCTIVITY, "max": CONF_MAX_CONDUCTIVITY, }, diff --git a/homeassistant/const.py b/homeassistant/const.py index 99274d59ff7..74647864fab 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -409,6 +409,9 @@ MASS_MICROGRAMS = "µg" MASS_OUNCES: str = "oz" MASS_POUNDS: str = "lb" +# Conductivity units +UNIT_CONDUCTIVITY: str = f"µS/{LENGTH_CENTIMETERS}" + # UV Index units UNIT_UV_INDEX: str = "UV index" diff --git a/tests/components/plant/test_init.py b/tests/components/plant/test_init.py index 5250fb0fa70..0f8cac370e8 100644 --- a/tests/components/plant/test_init.py +++ b/tests/components/plant/test_init.py @@ -13,6 +13,7 @@ from homeassistant.const import ( STATE_PROBLEM, STATE_UNAVAILABLE, STATE_UNKNOWN, + UNIT_CONDUCTIVITY, ) from homeassistant.setup import setup_component @@ -93,7 +94,9 @@ class TestPlant(unittest.TestCase): def test_initial_states(self): """Test plant initialises attributes if sensor already exists.""" - self.hass.states.set(MOISTURE_ENTITY, 5, {ATTR_UNIT_OF_MEASUREMENT: "us/cm"}) + self.hass.states.set( + MOISTURE_ENTITY, 5, {ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY} + ) plant_name = "some_plant" assert setup_component( self.hass, plant.DOMAIN, {plant.DOMAIN: {plant_name: GOOD_CONFIG}} @@ -111,7 +114,9 @@ class TestPlant(unittest.TestCase): assert setup_component( self.hass, plant.DOMAIN, {plant.DOMAIN: {plant_name: GOOD_CONFIG}} ) - self.hass.states.set(MOISTURE_ENTITY, 5, {ATTR_UNIT_OF_MEASUREMENT: "us/cm"}) + self.hass.states.set( + MOISTURE_ENTITY, 5, {ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY} + ) self.hass.block_till_done() state = self.hass.states.get(f"plant.{plant_name}") assert STATE_PROBLEM == state.state @@ -127,7 +132,9 @@ class TestPlant(unittest.TestCase): self.hass, plant.DOMAIN, {plant.DOMAIN: {plant_name: GOOD_CONFIG}} ) self.hass.states.set( - MOISTURE_ENTITY, STATE_UNAVAILABLE, {ATTR_UNIT_OF_MEASUREMENT: "us/cm"} + MOISTURE_ENTITY, + STATE_UNAVAILABLE, + {ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY}, ) self.hass.block_till_done() state = self.hass.states.get(f"plant.{plant_name}") @@ -143,13 +150,17 @@ class TestPlant(unittest.TestCase): assert setup_component( self.hass, plant.DOMAIN, {plant.DOMAIN: {plant_name: GOOD_CONFIG}} ) - self.hass.states.set(MOISTURE_ENTITY, 42, {ATTR_UNIT_OF_MEASUREMENT: "us/cm"}) + self.hass.states.set( + MOISTURE_ENTITY, 42, {ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY} + ) self.hass.block_till_done() state = self.hass.states.get(f"plant.{plant_name}") assert state.state == STATE_OK assert state.attributes[plant.READING_MOISTURE] == 42 self.hass.states.set( - MOISTURE_ENTITY, STATE_UNAVAILABLE, {ATTR_UNIT_OF_MEASUREMENT: "us/cm"} + MOISTURE_ENTITY, + STATE_UNAVAILABLE, + {ATTR_UNIT_OF_MEASUREMENT: UNIT_CONDUCTIVITY}, ) self.hass.block_till_done() state = self.hass.states.get(f"plant.{plant_name}")