Move sensor rounding to frontend (#87330)

* Move sensor rounding to frontend

* Update integrations

* Add comment
This commit is contained in:
Erik Montnemery 2023-02-04 20:54:36 +01:00 committed by GitHub
parent ee6773236e
commit bcc1aa03b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 231 additions and 307 deletions

View file

@ -38,7 +38,7 @@ async def test_sensor(hass, aioclient_mock):
state = hass.states.get("sensor.home_caqi")
assert state
assert state.state == "7"
assert state.state == "7.29"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == "CAQI"
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
@ -46,10 +46,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_caqi")
assert entry
assert entry.unique_id == "123-456-caqi"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_humidity")
assert state
assert state.state == "68.3"
assert state.state == "68.35"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.HUMIDITY
@ -58,10 +59,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_humidity")
assert entry
assert entry.unique_id == "123-456-humidity"
assert entry.options["sensor"] == {"suggested_display_precision": 1}
state = hass.states.get("sensor.home_pm1_0")
assert state
assert state.state == "3"
assert state.state == "2.83"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -73,10 +75,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_pm1_0")
assert entry
assert entry.unique_id == "123-456-pm1"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_pm2_5")
assert state
assert state.state == "4"
assert state.state == "4.37"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -88,10 +91,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_pm2_5")
assert entry
assert entry.unique_id == "123-456-pm25"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_pm10")
assert state
assert state.state == "6"
assert state.state == "6.06"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -103,16 +107,18 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_pm10")
assert entry
assert entry.unique_id == "123-456-pm10"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_carbon_monoxide")
assert state
assert state.state == "162"
assert state.state == "162.49"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
== CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
)
assert state.attributes.get(ATTR_STATE_CLASS) == SensorStateClass.MEASUREMENT
assert entry.options["sensor"] == {"suggested_display_precision": 0}
entry = registry.async_get("sensor.home_carbon_monoxide")
assert entry
@ -120,7 +126,7 @@ async def test_sensor(hass, aioclient_mock):
state = hass.states.get("sensor.home_nitrogen_dioxide")
assert state
assert state.state == "16"
assert state.state == "16.04"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -132,10 +138,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_nitrogen_dioxide")
assert entry
assert entry.unique_id == "123-456-no2"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_ozone")
assert state
assert state.state == "42"
assert state.state == "41.52"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -147,10 +154,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_ozone")
assert entry
assert entry.unique_id == "123-456-o3"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_sulphur_dioxide")
assert state
assert state.state == "14"
assert state.state == "13.97"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert (
state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)
@ -162,10 +170,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_sulphur_dioxide")
assert entry
assert entry.unique_id == "123-456-so2"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_pressure")
assert state
assert state.state == "1020"
assert state.state == "1019.86"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == UnitOfPressure.HPA
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PRESSURE
@ -174,10 +183,11 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_pressure")
assert entry
assert entry.unique_id == "123-456-pressure"
assert entry.options["sensor"] == {"suggested_display_precision": 0}
state = hass.states.get("sensor.home_temperature")
assert state
assert state.state == "14.4"
assert state.state == "14.37"
assert state.attributes.get(ATTR_ATTRIBUTION) == ATTRIBUTION
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == UnitOfTemperature.CELSIUS
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TEMPERATURE
@ -186,6 +196,7 @@ async def test_sensor(hass, aioclient_mock):
entry = registry.async_get("sensor.home_temperature")
assert entry
assert entry.unique_id == "123-456-temperature"
assert entry.options["sensor"] == {"suggested_display_precision": 1}
async def test_availability(hass, aioclient_mock):
@ -195,7 +206,7 @@ async def test_availability(hass, aioclient_mock):
state = hass.states.get("sensor.home_humidity")
assert state
assert state.state != STATE_UNAVAILABLE
assert state.state == "68.3"
assert state.state == "68.35"
aioclient_mock.clear_requests()
aioclient_mock.get(
@ -218,7 +229,7 @@ async def test_availability(hass, aioclient_mock):
state = hass.states.get("sensor.home_humidity")
assert state
assert state.state != STATE_UNAVAILABLE
assert state.state == "68.3"
assert state.state == "68.35"
async def test_manual_update_entity(hass, aioclient_mock):