From fdbef90a57e7505a1e35bb27c10f577d4263914c Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Thu, 1 Apr 2021 15:05:10 +0200 Subject: [PATCH] Remove device class timestamp from device condition and trigger (#48431) * Remove unit from garmin connect * Remove unit from hvv departures * Remove device class timestamp from device condition and trigger * Remove unit from systemmonitor * Use device class constant for timestamp in ring --- homeassistant/components/garmin_connect/const.py | 10 +++++----- homeassistant/components/hvv_departures/sensor.py | 1 - homeassistant/components/ring/sensor.py | 12 ++++++++---- homeassistant/components/sensor/device_condition.py | 4 ---- homeassistant/components/sensor/device_trigger.py | 4 ---- homeassistant/components/sensor/strings.json | 2 -- homeassistant/components/systemmonitor/sensor.py | 3 ++- tests/components/sensor/test_device_condition.py | 6 +++++- tests/components/sensor/test_device_trigger.py | 8 ++++++-- .../testing_config/custom_components/test/sensor.py | 1 - 10 files changed, 26 insertions(+), 25 deletions(-) diff --git a/homeassistant/components/garmin_connect/const.py b/homeassistant/components/garmin_connect/const.py index 7a143e2e63a..991ac90526a 100644 --- a/homeassistant/components/garmin_connect/const.py +++ b/homeassistant/components/garmin_connect/const.py @@ -42,14 +42,14 @@ GARMIN_ENTITY_LIST = { ], "wellnessStartTimeLocal": [ "Wellness Start Time", - "", + None, "mdi:clock", DEVICE_CLASS_TIMESTAMP, False, ], "wellnessEndTimeLocal": [ "Wellness End Time", - "", + None, "mdi:clock", DEVICE_CLASS_TIMESTAMP, False, @@ -299,7 +299,7 @@ GARMIN_ENTITY_LIST = { "latestSpo2": ["Latest SPO2", PERCENTAGE, "mdi:diabetes", None, True], "latestSpo2ReadingTimeLocal": [ "Latest SPO2 Time", - "", + None, "mdi:diabetes", DEVICE_CLASS_TIMESTAMP, False, @@ -334,7 +334,7 @@ GARMIN_ENTITY_LIST = { ], "latestRespirationTimeGMT": [ "Latest Respiration Update", - "", + None, "mdi:progress-clock", DEVICE_CLASS_TIMESTAMP, False, @@ -348,5 +348,5 @@ GARMIN_ENTITY_LIST = { "physiqueRating": ["Physique Rating", "", "mdi:numeric", None, False], "visceralFat": ["Visceral Fat", "", "mdi:food", None, False], "metabolicAge": ["Metabolic Age", "", "mdi:calendar-heart", None, False], - "nextAlarm": ["Next Alarm Time", "", "mdi:alarm", DEVICE_CLASS_TIMESTAMP, True], + "nextAlarm": ["Next Alarm Time", None, "mdi:alarm", DEVICE_CLASS_TIMESTAMP, True], } diff --git a/homeassistant/components/hvv_departures/sensor.py b/homeassistant/components/hvv_departures/sensor.py index 35fc137a0f0..5bc70c7a3b4 100644 --- a/homeassistant/components/hvv_departures/sensor.py +++ b/homeassistant/components/hvv_departures/sensor.py @@ -18,7 +18,6 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1) MAX_LIST = 20 MAX_TIME_OFFSET = 360 ICON = "mdi:bus" -UNIT_OF_MEASUREMENT = "min" ATTR_DEPARTURE = "departure" ATTR_LINE = "line" diff --git a/homeassistant/components/ring/sensor.py b/homeassistant/components/ring/sensor.py index a20d484d3fe..a2b9e2300dc 100644 --- a/homeassistant/components/ring/sensor.py +++ b/homeassistant/components/ring/sensor.py @@ -1,6 +1,10 @@ """This component provides HA sensor support for Ring Door Bell/Chimes.""" from homeassistant.components.sensor import SensorEntity -from homeassistant.const import PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT +from homeassistant.const import ( + DEVICE_CLASS_TIMESTAMP, + PERCENTAGE, + SIGNAL_STRENGTH_DECIBELS_MILLIWATT, +) from homeassistant.core import callback from homeassistant.helpers.icon import icon_for_battery_level @@ -210,7 +214,7 @@ SENSOR_TYPES = { None, "history", None, - "timestamp", + DEVICE_CLASS_TIMESTAMP, HistoryRingSensor, ], "last_ding": [ @@ -219,7 +223,7 @@ SENSOR_TYPES = { None, "history", "ding", - "timestamp", + DEVICE_CLASS_TIMESTAMP, HistoryRingSensor, ], "last_motion": [ @@ -228,7 +232,7 @@ SENSOR_TYPES = { None, "history", "motion", - "timestamp", + DEVICE_CLASS_TIMESTAMP, HistoryRingSensor, ], "volume": [ diff --git a/homeassistant/components/sensor/device_condition.py b/homeassistant/components/sensor/device_condition.py index fea79530485..4d3d8a4b477 100644 --- a/homeassistant/components/sensor/device_condition.py +++ b/homeassistant/components/sensor/device_condition.py @@ -25,7 +25,6 @@ from homeassistant.const import ( DEVICE_CLASS_PRESSURE, DEVICE_CLASS_SIGNAL_STRENGTH, DEVICE_CLASS_TEMPERATURE, - DEVICE_CLASS_TIMESTAMP, DEVICE_CLASS_VOLTAGE, ) from homeassistant.core import HomeAssistant, callback @@ -54,7 +53,6 @@ CONF_IS_POWER_FACTOR = "is_power_factor" CONF_IS_PRESSURE = "is_pressure" CONF_IS_SIGNAL_STRENGTH = "is_signal_strength" CONF_IS_TEMPERATURE = "is_temperature" -CONF_IS_TIMESTAMP = "is_timestamp" CONF_IS_VOLTAGE = "is_voltage" CONF_IS_VALUE = "is_value" @@ -71,7 +69,6 @@ ENTITY_CONDITIONS = { DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_IS_PRESSURE}], DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_IS_SIGNAL_STRENGTH}], DEVICE_CLASS_TEMPERATURE: [{CONF_TYPE: CONF_IS_TEMPERATURE}], - DEVICE_CLASS_TIMESTAMP: [{CONF_TYPE: CONF_IS_TIMESTAMP}], DEVICE_CLASS_VOLTAGE: [{CONF_TYPE: CONF_IS_VOLTAGE}], DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_IS_VALUE}], } @@ -94,7 +91,6 @@ CONDITION_SCHEMA = vol.All( CONF_IS_PRESSURE, CONF_IS_SIGNAL_STRENGTH, CONF_IS_TEMPERATURE, - CONF_IS_TIMESTAMP, CONF_IS_VOLTAGE, CONF_IS_VALUE, ] diff --git a/homeassistant/components/sensor/device_trigger.py b/homeassistant/components/sensor/device_trigger.py index 9586261a191..0bca1e299d6 100644 --- a/homeassistant/components/sensor/device_trigger.py +++ b/homeassistant/components/sensor/device_trigger.py @@ -28,7 +28,6 @@ from homeassistant.const import ( DEVICE_CLASS_PRESSURE, DEVICE_CLASS_SIGNAL_STRENGTH, DEVICE_CLASS_TEMPERATURE, - DEVICE_CLASS_TIMESTAMP, DEVICE_CLASS_VOLTAGE, ) from homeassistant.helpers import config_validation as cv @@ -52,7 +51,6 @@ CONF_POWER_FACTOR = "power_factor" CONF_PRESSURE = "pressure" CONF_SIGNAL_STRENGTH = "signal_strength" CONF_TEMPERATURE = "temperature" -CONF_TIMESTAMP = "timestamp" CONF_VOLTAGE = "voltage" CONF_VALUE = "value" @@ -69,7 +67,6 @@ ENTITY_TRIGGERS = { DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_PRESSURE}], DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_SIGNAL_STRENGTH}], DEVICE_CLASS_TEMPERATURE: [{CONF_TYPE: CONF_TEMPERATURE}], - DEVICE_CLASS_TIMESTAMP: [{CONF_TYPE: CONF_TIMESTAMP}], DEVICE_CLASS_VOLTAGE: [{CONF_TYPE: CONF_VOLTAGE}], DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_VALUE}], } @@ -93,7 +90,6 @@ TRIGGER_SCHEMA = vol.All( CONF_PRESSURE, CONF_SIGNAL_STRENGTH, CONF_TEMPERATURE, - CONF_TIMESTAMP, CONF_VOLTAGE, CONF_VALUE, ] diff --git a/homeassistant/components/sensor/strings.json b/homeassistant/components/sensor/strings.json index 4298a367c2c..efe5366cfec 100644 --- a/homeassistant/components/sensor/strings.json +++ b/homeassistant/components/sensor/strings.json @@ -11,7 +11,6 @@ "is_pressure": "Current {entity_name} pressure", "is_signal_strength": "Current {entity_name} signal strength", "is_temperature": "Current {entity_name} temperature", - "is_timestamp": "Current {entity_name} timestamp", "is_current": "Current {entity_name} current", "is_energy": "Current {entity_name} energy", "is_power_factor": "Current {entity_name} power factor", @@ -28,7 +27,6 @@ "pressure": "{entity_name} pressure changes", "signal_strength": "{entity_name} signal strength changes", "temperature": "{entity_name} temperature changes", - "timestamp": "{entity_name} timestamp changes", "current": "{entity_name} current changes", "energy": "{entity_name} energy changes", "power_factor": "{entity_name} power factor changes", diff --git a/homeassistant/components/systemmonitor/sensor.py b/homeassistant/components/systemmonitor/sensor.py index 596f56d51a1..038d7c6e014 100644 --- a/homeassistant/components/systemmonitor/sensor.py +++ b/homeassistant/components/systemmonitor/sensor.py @@ -14,6 +14,7 @@ from homeassistant.const import ( DATA_GIBIBYTES, DATA_MEBIBYTES, DATA_RATE_MEGABYTES_PER_SECOND, + DEVICE_CLASS_TIMESTAMP, PERCENTAGE, STATE_OFF, STATE_ON, @@ -47,7 +48,7 @@ SENSOR_TYPES = { ], "ipv4_address": ["IPv4 address", "", "mdi:server-network", None, True], "ipv6_address": ["IPv6 address", "", "mdi:server-network", None, True], - "last_boot": ["Last boot", "", "mdi:clock", "timestamp", False], + "last_boot": ["Last boot", None, "mdi:clock", DEVICE_CLASS_TIMESTAMP, False], "load_15m": ["Load (15m)", " ", CPU_ICON, None, False], "load_1m": ["Load (1m)", " ", CPU_ICON, None, False], "load_5m": ["Load (5m)", " ", CPU_ICON, None, False], diff --git a/tests/components/sensor/test_device_condition.py b/tests/components/sensor/test_device_condition.py index 80c20cb8e2d..2de95d44eb1 100644 --- a/tests/components/sensor/test_device_condition.py +++ b/tests/components/sensor/test_device_condition.py @@ -17,7 +17,10 @@ from tests.common import ( mock_registry, ) from tests.components.blueprint.conftest import stub_blueprint_populate # noqa: F401 -from tests.testing_config.custom_components.test.sensor import DEVICE_CLASSES +from tests.testing_config.custom_components.test.sensor import ( + DEVICE_CLASSES, + UNITS_OF_MEASUREMENT, +) @pytest.fixture @@ -69,6 +72,7 @@ async def test_get_conditions(hass, device_reg, entity_reg): "entity_id": platform.ENTITIES[device_class].entity_id, } for device_class in DEVICE_CLASSES + if device_class in UNITS_OF_MEASUREMENT for condition in ENTITY_CONDITIONS[device_class] if device_class != "none" ] diff --git a/tests/components/sensor/test_device_trigger.py b/tests/components/sensor/test_device_trigger.py index ed1da9f86dd..4c65eff34ab 100644 --- a/tests/components/sensor/test_device_trigger.py +++ b/tests/components/sensor/test_device_trigger.py @@ -21,7 +21,10 @@ from tests.common import ( mock_registry, ) from tests.components.blueprint.conftest import stub_blueprint_populate # noqa: F401 -from tests.testing_config.custom_components.test.sensor import DEVICE_CLASSES +from tests.testing_config.custom_components.test.sensor import ( + DEVICE_CLASSES, + UNITS_OF_MEASUREMENT, +) @pytest.fixture @@ -73,11 +76,12 @@ async def test_get_triggers(hass, device_reg, entity_reg): "entity_id": platform.ENTITIES[device_class].entity_id, } for device_class in DEVICE_CLASSES + if device_class in UNITS_OF_MEASUREMENT for trigger in ENTITY_TRIGGERS[device_class] if device_class != "none" ] triggers = await async_get_device_automations(hass, "trigger", device_entry.id) - assert len(triggers) == 14 + assert len(triggers) == 13 assert triggers == expected_triggers diff --git a/tests/testing_config/custom_components/test/sensor.py b/tests/testing_config/custom_components/test/sensor.py index de6f179daa7..384db20d2d4 100644 --- a/tests/testing_config/custom_components/test/sensor.py +++ b/tests/testing_config/custom_components/test/sensor.py @@ -24,7 +24,6 @@ UNITS_OF_MEASUREMENT = { sensor.DEVICE_CLASS_ILLUMINANCE: "lm", # current light level (lx/lm) sensor.DEVICE_CLASS_SIGNAL_STRENGTH: SIGNAL_STRENGTH_DECIBELS, # signal strength (dB/dBm) sensor.DEVICE_CLASS_TEMPERATURE: "C", # temperature (C/F) - sensor.DEVICE_CLASS_TIMESTAMP: "hh:mm:ss", # timestamp (ISO8601) sensor.DEVICE_CLASS_PRESSURE: PRESSURE_HPA, # pressure (hPa/mbar) sensor.DEVICE_CLASS_POWER: "kW", # power (W/kW) sensor.DEVICE_CLASS_CURRENT: "A", # current (A)