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
This commit is contained in:
parent
efa6079c62
commit
fdbef90a57
10 changed files with 26 additions and 25 deletions
|
@ -42,14 +42,14 @@ GARMIN_ENTITY_LIST = {
|
||||||
],
|
],
|
||||||
"wellnessStartTimeLocal": [
|
"wellnessStartTimeLocal": [
|
||||||
"Wellness Start Time",
|
"Wellness Start Time",
|
||||||
"",
|
None,
|
||||||
"mdi:clock",
|
"mdi:clock",
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
False,
|
False,
|
||||||
],
|
],
|
||||||
"wellnessEndTimeLocal": [
|
"wellnessEndTimeLocal": [
|
||||||
"Wellness End Time",
|
"Wellness End Time",
|
||||||
"",
|
None,
|
||||||
"mdi:clock",
|
"mdi:clock",
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
False,
|
False,
|
||||||
|
@ -299,7 +299,7 @@ GARMIN_ENTITY_LIST = {
|
||||||
"latestSpo2": ["Latest SPO2", PERCENTAGE, "mdi:diabetes", None, True],
|
"latestSpo2": ["Latest SPO2", PERCENTAGE, "mdi:diabetes", None, True],
|
||||||
"latestSpo2ReadingTimeLocal": [
|
"latestSpo2ReadingTimeLocal": [
|
||||||
"Latest SPO2 Time",
|
"Latest SPO2 Time",
|
||||||
"",
|
None,
|
||||||
"mdi:diabetes",
|
"mdi:diabetes",
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
False,
|
False,
|
||||||
|
@ -334,7 +334,7 @@ GARMIN_ENTITY_LIST = {
|
||||||
],
|
],
|
||||||
"latestRespirationTimeGMT": [
|
"latestRespirationTimeGMT": [
|
||||||
"Latest Respiration Update",
|
"Latest Respiration Update",
|
||||||
"",
|
None,
|
||||||
"mdi:progress-clock",
|
"mdi:progress-clock",
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
False,
|
False,
|
||||||
|
@ -348,5 +348,5 @@ GARMIN_ENTITY_LIST = {
|
||||||
"physiqueRating": ["Physique Rating", "", "mdi:numeric", None, False],
|
"physiqueRating": ["Physique Rating", "", "mdi:numeric", None, False],
|
||||||
"visceralFat": ["Visceral Fat", "", "mdi:food", None, False],
|
"visceralFat": ["Visceral Fat", "", "mdi:food", None, False],
|
||||||
"metabolicAge": ["Metabolic Age", "", "mdi:calendar-heart", 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],
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)
|
||||||
MAX_LIST = 20
|
MAX_LIST = 20
|
||||||
MAX_TIME_OFFSET = 360
|
MAX_TIME_OFFSET = 360
|
||||||
ICON = "mdi:bus"
|
ICON = "mdi:bus"
|
||||||
UNIT_OF_MEASUREMENT = "min"
|
|
||||||
|
|
||||||
ATTR_DEPARTURE = "departure"
|
ATTR_DEPARTURE = "departure"
|
||||||
ATTR_LINE = "line"
|
ATTR_LINE = "line"
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
"""This component provides HA sensor support for Ring Door Bell/Chimes."""
|
"""This component provides HA sensor support for Ring Door Bell/Chimes."""
|
||||||
from homeassistant.components.sensor import SensorEntity
|
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.core import callback
|
||||||
from homeassistant.helpers.icon import icon_for_battery_level
|
from homeassistant.helpers.icon import icon_for_battery_level
|
||||||
|
|
||||||
|
@ -210,7 +214,7 @@ SENSOR_TYPES = {
|
||||||
None,
|
None,
|
||||||
"history",
|
"history",
|
||||||
None,
|
None,
|
||||||
"timestamp",
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
HistoryRingSensor,
|
HistoryRingSensor,
|
||||||
],
|
],
|
||||||
"last_ding": [
|
"last_ding": [
|
||||||
|
@ -219,7 +223,7 @@ SENSOR_TYPES = {
|
||||||
None,
|
None,
|
||||||
"history",
|
"history",
|
||||||
"ding",
|
"ding",
|
||||||
"timestamp",
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
HistoryRingSensor,
|
HistoryRingSensor,
|
||||||
],
|
],
|
||||||
"last_motion": [
|
"last_motion": [
|
||||||
|
@ -228,7 +232,7 @@ SENSOR_TYPES = {
|
||||||
None,
|
None,
|
||||||
"history",
|
"history",
|
||||||
"motion",
|
"motion",
|
||||||
"timestamp",
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
HistoryRingSensor,
|
HistoryRingSensor,
|
||||||
],
|
],
|
||||||
"volume": [
|
"volume": [
|
||||||
|
|
|
@ -25,7 +25,6 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_PRESSURE,
|
DEVICE_CLASS_PRESSURE,
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
|
@ -54,7 +53,6 @@ CONF_IS_POWER_FACTOR = "is_power_factor"
|
||||||
CONF_IS_PRESSURE = "is_pressure"
|
CONF_IS_PRESSURE = "is_pressure"
|
||||||
CONF_IS_SIGNAL_STRENGTH = "is_signal_strength"
|
CONF_IS_SIGNAL_STRENGTH = "is_signal_strength"
|
||||||
CONF_IS_TEMPERATURE = "is_temperature"
|
CONF_IS_TEMPERATURE = "is_temperature"
|
||||||
CONF_IS_TIMESTAMP = "is_timestamp"
|
|
||||||
CONF_IS_VOLTAGE = "is_voltage"
|
CONF_IS_VOLTAGE = "is_voltage"
|
||||||
CONF_IS_VALUE = "is_value"
|
CONF_IS_VALUE = "is_value"
|
||||||
|
|
||||||
|
@ -71,7 +69,6 @@ ENTITY_CONDITIONS = {
|
||||||
DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_IS_PRESSURE}],
|
DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_IS_PRESSURE}],
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_IS_SIGNAL_STRENGTH}],
|
DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_IS_SIGNAL_STRENGTH}],
|
||||||
DEVICE_CLASS_TEMPERATURE: [{CONF_TYPE: CONF_IS_TEMPERATURE}],
|
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_VOLTAGE: [{CONF_TYPE: CONF_IS_VOLTAGE}],
|
||||||
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_IS_VALUE}],
|
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_IS_VALUE}],
|
||||||
}
|
}
|
||||||
|
@ -94,7 +91,6 @@ CONDITION_SCHEMA = vol.All(
|
||||||
CONF_IS_PRESSURE,
|
CONF_IS_PRESSURE,
|
||||||
CONF_IS_SIGNAL_STRENGTH,
|
CONF_IS_SIGNAL_STRENGTH,
|
||||||
CONF_IS_TEMPERATURE,
|
CONF_IS_TEMPERATURE,
|
||||||
CONF_IS_TIMESTAMP,
|
|
||||||
CONF_IS_VOLTAGE,
|
CONF_IS_VOLTAGE,
|
||||||
CONF_IS_VALUE,
|
CONF_IS_VALUE,
|
||||||
]
|
]
|
||||||
|
|
|
@ -28,7 +28,6 @@ from homeassistant.const import (
|
||||||
DEVICE_CLASS_PRESSURE,
|
DEVICE_CLASS_PRESSURE,
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
DEVICE_CLASS_TIMESTAMP,
|
|
||||||
DEVICE_CLASS_VOLTAGE,
|
DEVICE_CLASS_VOLTAGE,
|
||||||
)
|
)
|
||||||
from homeassistant.helpers import config_validation as cv
|
from homeassistant.helpers import config_validation as cv
|
||||||
|
@ -52,7 +51,6 @@ CONF_POWER_FACTOR = "power_factor"
|
||||||
CONF_PRESSURE = "pressure"
|
CONF_PRESSURE = "pressure"
|
||||||
CONF_SIGNAL_STRENGTH = "signal_strength"
|
CONF_SIGNAL_STRENGTH = "signal_strength"
|
||||||
CONF_TEMPERATURE = "temperature"
|
CONF_TEMPERATURE = "temperature"
|
||||||
CONF_TIMESTAMP = "timestamp"
|
|
||||||
CONF_VOLTAGE = "voltage"
|
CONF_VOLTAGE = "voltage"
|
||||||
CONF_VALUE = "value"
|
CONF_VALUE = "value"
|
||||||
|
|
||||||
|
@ -69,7 +67,6 @@ ENTITY_TRIGGERS = {
|
||||||
DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_PRESSURE}],
|
DEVICE_CLASS_PRESSURE: [{CONF_TYPE: CONF_PRESSURE}],
|
||||||
DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_SIGNAL_STRENGTH}],
|
DEVICE_CLASS_SIGNAL_STRENGTH: [{CONF_TYPE: CONF_SIGNAL_STRENGTH}],
|
||||||
DEVICE_CLASS_TEMPERATURE: [{CONF_TYPE: CONF_TEMPERATURE}],
|
DEVICE_CLASS_TEMPERATURE: [{CONF_TYPE: CONF_TEMPERATURE}],
|
||||||
DEVICE_CLASS_TIMESTAMP: [{CONF_TYPE: CONF_TIMESTAMP}],
|
|
||||||
DEVICE_CLASS_VOLTAGE: [{CONF_TYPE: CONF_VOLTAGE}],
|
DEVICE_CLASS_VOLTAGE: [{CONF_TYPE: CONF_VOLTAGE}],
|
||||||
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_VALUE}],
|
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_VALUE}],
|
||||||
}
|
}
|
||||||
|
@ -93,7 +90,6 @@ TRIGGER_SCHEMA = vol.All(
|
||||||
CONF_PRESSURE,
|
CONF_PRESSURE,
|
||||||
CONF_SIGNAL_STRENGTH,
|
CONF_SIGNAL_STRENGTH,
|
||||||
CONF_TEMPERATURE,
|
CONF_TEMPERATURE,
|
||||||
CONF_TIMESTAMP,
|
|
||||||
CONF_VOLTAGE,
|
CONF_VOLTAGE,
|
||||||
CONF_VALUE,
|
CONF_VALUE,
|
||||||
]
|
]
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
"is_pressure": "Current {entity_name} pressure",
|
"is_pressure": "Current {entity_name} pressure",
|
||||||
"is_signal_strength": "Current {entity_name} signal strength",
|
"is_signal_strength": "Current {entity_name} signal strength",
|
||||||
"is_temperature": "Current {entity_name} temperature",
|
"is_temperature": "Current {entity_name} temperature",
|
||||||
"is_timestamp": "Current {entity_name} timestamp",
|
|
||||||
"is_current": "Current {entity_name} current",
|
"is_current": "Current {entity_name} current",
|
||||||
"is_energy": "Current {entity_name} energy",
|
"is_energy": "Current {entity_name} energy",
|
||||||
"is_power_factor": "Current {entity_name} power factor",
|
"is_power_factor": "Current {entity_name} power factor",
|
||||||
|
@ -28,7 +27,6 @@
|
||||||
"pressure": "{entity_name} pressure changes",
|
"pressure": "{entity_name} pressure changes",
|
||||||
"signal_strength": "{entity_name} signal strength changes",
|
"signal_strength": "{entity_name} signal strength changes",
|
||||||
"temperature": "{entity_name} temperature changes",
|
"temperature": "{entity_name} temperature changes",
|
||||||
"timestamp": "{entity_name} timestamp changes",
|
|
||||||
"current": "{entity_name} current changes",
|
"current": "{entity_name} current changes",
|
||||||
"energy": "{entity_name} energy changes",
|
"energy": "{entity_name} energy changes",
|
||||||
"power_factor": "{entity_name} power factor changes",
|
"power_factor": "{entity_name} power factor changes",
|
||||||
|
|
|
@ -14,6 +14,7 @@ from homeassistant.const import (
|
||||||
DATA_GIBIBYTES,
|
DATA_GIBIBYTES,
|
||||||
DATA_MEBIBYTES,
|
DATA_MEBIBYTES,
|
||||||
DATA_RATE_MEGABYTES_PER_SECOND,
|
DATA_RATE_MEGABYTES_PER_SECOND,
|
||||||
|
DEVICE_CLASS_TIMESTAMP,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
|
@ -47,7 +48,7 @@ SENSOR_TYPES = {
|
||||||
],
|
],
|
||||||
"ipv4_address": ["IPv4 address", "", "mdi:server-network", None, True],
|
"ipv4_address": ["IPv4 address", "", "mdi:server-network", None, True],
|
||||||
"ipv6_address": ["IPv6 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_15m": ["Load (15m)", " ", CPU_ICON, None, False],
|
||||||
"load_1m": ["Load (1m)", " ", CPU_ICON, None, False],
|
"load_1m": ["Load (1m)", " ", CPU_ICON, None, False],
|
||||||
"load_5m": ["Load (5m)", " ", CPU_ICON, None, False],
|
"load_5m": ["Load (5m)", " ", CPU_ICON, None, False],
|
||||||
|
|
|
@ -17,7 +17,10 @@ from tests.common import (
|
||||||
mock_registry,
|
mock_registry,
|
||||||
)
|
)
|
||||||
from tests.components.blueprint.conftest import stub_blueprint_populate # noqa: F401
|
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
|
@pytest.fixture
|
||||||
|
@ -69,6 +72,7 @@ async def test_get_conditions(hass, device_reg, entity_reg):
|
||||||
"entity_id": platform.ENTITIES[device_class].entity_id,
|
"entity_id": platform.ENTITIES[device_class].entity_id,
|
||||||
}
|
}
|
||||||
for device_class in DEVICE_CLASSES
|
for device_class in DEVICE_CLASSES
|
||||||
|
if device_class in UNITS_OF_MEASUREMENT
|
||||||
for condition in ENTITY_CONDITIONS[device_class]
|
for condition in ENTITY_CONDITIONS[device_class]
|
||||||
if device_class != "none"
|
if device_class != "none"
|
||||||
]
|
]
|
||||||
|
|
|
@ -21,7 +21,10 @@ from tests.common import (
|
||||||
mock_registry,
|
mock_registry,
|
||||||
)
|
)
|
||||||
from tests.components.blueprint.conftest import stub_blueprint_populate # noqa: F401
|
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
|
@pytest.fixture
|
||||||
|
@ -73,11 +76,12 @@ async def test_get_triggers(hass, device_reg, entity_reg):
|
||||||
"entity_id": platform.ENTITIES[device_class].entity_id,
|
"entity_id": platform.ENTITIES[device_class].entity_id,
|
||||||
}
|
}
|
||||||
for device_class in DEVICE_CLASSES
|
for device_class in DEVICE_CLASSES
|
||||||
|
if device_class in UNITS_OF_MEASUREMENT
|
||||||
for trigger in ENTITY_TRIGGERS[device_class]
|
for trigger in ENTITY_TRIGGERS[device_class]
|
||||||
if device_class != "none"
|
if device_class != "none"
|
||||||
]
|
]
|
||||||
triggers = await async_get_device_automations(hass, "trigger", device_entry.id)
|
triggers = await async_get_device_automations(hass, "trigger", device_entry.id)
|
||||||
assert len(triggers) == 14
|
assert len(triggers) == 13
|
||||||
assert triggers == expected_triggers
|
assert triggers == expected_triggers
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ UNITS_OF_MEASUREMENT = {
|
||||||
sensor.DEVICE_CLASS_ILLUMINANCE: "lm", # current light level (lx/lm)
|
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_SIGNAL_STRENGTH: SIGNAL_STRENGTH_DECIBELS, # signal strength (dB/dBm)
|
||||||
sensor.DEVICE_CLASS_TEMPERATURE: "C", # temperature (C/F)
|
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_PRESSURE: PRESSURE_HPA, # pressure (hPa/mbar)
|
||||||
sensor.DEVICE_CLASS_POWER: "kW", # power (W/kW)
|
sensor.DEVICE_CLASS_POWER: "kW", # power (W/kW)
|
||||||
sensor.DEVICE_CLASS_CURRENT: "A", # current (A)
|
sensor.DEVICE_CLASS_CURRENT: "A", # current (A)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue