diff --git a/homeassistant/components/flo/sensor.py b/homeassistant/components/flo/sensor.py index 04766c0196a..a5d54386633 100644 --- a/homeassistant/components/flo/sensor.py +++ b/homeassistant/components/flo/sensor.py @@ -1,7 +1,11 @@ """Support for Flo Water Monitor sensors.""" from __future__ import annotations -from homeassistant.components.sensor import SensorDeviceClass, SensorEntity +from homeassistant.components.sensor import ( + SensorDeviceClass, + SensorEntity, + SensorStateClass, +) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( PERCENTAGE, @@ -65,6 +69,7 @@ class FloDailyUsageSensor(FloEntity, SensorEntity): _attr_icon = WATER_ICON _attr_native_unit_of_measurement = VOLUME_GALLONS + _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING def __init__(self, device): """Initialize the daily water usage sensor.""" @@ -100,6 +105,7 @@ class FloCurrentFlowRateSensor(FloEntity, SensorEntity): _attr_icon = GAUGE_ICON _attr_native_unit_of_measurement = "gpm" + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT def __init__(self, device): """Initialize the flow rate sensor.""" @@ -119,6 +125,7 @@ class FloTemperatureSensor(FloEntity, SensorEntity): _attr_device_class = SensorDeviceClass.TEMPERATURE _attr_native_unit_of_measurement = TEMP_FAHRENHEIT + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT def __init__(self, name, device): """Initialize the temperature sensor.""" @@ -138,6 +145,7 @@ class FloHumiditySensor(FloEntity, SensorEntity): _attr_device_class = SensorDeviceClass.HUMIDITY _attr_native_unit_of_measurement = PERCENTAGE + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT def __init__(self, device): """Initialize the humidity sensor.""" @@ -157,6 +165,7 @@ class FloPressureSensor(FloEntity, SensorEntity): _attr_device_class = SensorDeviceClass.PRESSURE _attr_native_unit_of_measurement = PRESSURE_PSI + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT def __init__(self, device): """Initialize the pressure sensor.""" @@ -176,6 +185,7 @@ class FloBatterySensor(FloEntity, SensorEntity): _attr_device_class = SensorDeviceClass.BATTERY _attr_native_unit_of_measurement = PERCENTAGE + _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT def __init__(self, device): """Initialize the battery sensor.""" diff --git a/tests/components/flo/test_sensor.py b/tests/components/flo/test_sensor.py index ec044286b0d..0a7cf16ecf5 100644 --- a/tests/components/flo/test_sensor.py +++ b/tests/components/flo/test_sensor.py @@ -1,5 +1,6 @@ """Test Flo by Moen sensor entities.""" from homeassistant.components.flo.const import DOMAIN as FLO_DOMAIN +from homeassistant.components.sensor import ATTR_STATE_CLASS, SensorStateClass from homeassistant.const import ATTR_ENTITY_ID, CONF_PASSWORD, CONF_USERNAME from homeassistant.setup import async_setup_component @@ -18,15 +19,49 @@ async def test_sensors(hass, config_entry, aioclient_mock_fixture): # we should have 5 entities for the valve assert hass.states.get("sensor.current_system_mode").state == "home" + assert hass.states.get("sensor.today_s_water_usage").state == "3.7" + assert ( + hass.states.get("sensor.today_s_water_usage").attributes[ATTR_STATE_CLASS] + == SensorStateClass.TOTAL_INCREASING + ) + assert hass.states.get("sensor.water_flow_rate").state == "0" + assert ( + hass.states.get("sensor.water_flow_rate").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) + assert hass.states.get("sensor.water_pressure").state == "54.2" + assert ( + hass.states.get("sensor.water_pressure").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) + assert hass.states.get("sensor.water_temperature").state == "21" + assert ( + hass.states.get("sensor.water_temperature").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) # and 3 entities for the detector assert hass.states.get("sensor.temperature").state == "16" + assert ( + hass.states.get("sensor.temperature").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) + assert hass.states.get("sensor.humidity").state == "43" + assert ( + hass.states.get("sensor.humidity").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) + assert hass.states.get("sensor.battery").state == "100" + assert ( + hass.states.get("sensor.battery").attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) async def test_manual_update_entity(