From cc4656448869593e687fdd5207950776987f8787 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 25 Oct 2022 17:21:44 +0200 Subject: [PATCH] Add wind_speed sensor device class (#79789) --- homeassistant/components/sensor/__init__.py | 10 ++++++++++ homeassistant/components/sensor/device_condition.py | 2 ++ homeassistant/components/sensor/device_trigger.py | 2 ++ 3 files changed, 14 insertions(+) diff --git a/homeassistant/components/sensor/__init__.py b/homeassistant/components/sensor/__init__.py index ae384df881b..e18bfbb178d 100644 --- a/homeassistant/components/sensor/__init__.py +++ b/homeassistant/components/sensor/__init__.py @@ -341,6 +341,15 @@ class SensorDeviceClass(StrEnum): - USCS / imperial: `oz`, `lb` """ + WIND_SPEED = "wind_speed" + """Wind speed. + + Unit of measurement: `SPEED_*` units + - SI /metric: `m/s`, `km/h` + - USCS / imperial: `ft/s`, `mph` + - Nautical: `kn` + """ + DEVICE_CLASSES_SCHEMA: Final = vol.All(vol.Lower, vol.Coerce(SensorDeviceClass)) @@ -387,6 +396,7 @@ UNIT_CONVERTERS: dict[SensorDeviceClass | str | None, type[BaseUnitConverter]] = SensorDeviceClass.VOLUME: VolumeConverter, SensorDeviceClass.WATER: VolumeConverter, SensorDeviceClass.WEIGHT: MassConverter, + SensorDeviceClass.WIND_SPEED: SpeedConverter, } # mypy: disallow-any-generics diff --git a/homeassistant/components/sensor/device_condition.py b/homeassistant/components/sensor/device_condition.py index c1015636d40..e06355dda8c 100644 --- a/homeassistant/components/sensor/device_condition.py +++ b/homeassistant/components/sensor/device_condition.py @@ -65,6 +65,7 @@ CONF_IS_VOLTAGE = "is_voltage" CONF_IS_VOLUME = "is_volume" CONF_IS_WATER = "is_water" CONF_IS_WEIGHT = "is_weight" +CONF_IS_WIND_SPEED = "is_wind_speed" ENTITY_CONDITIONS = { SensorDeviceClass.APPARENT_POWER: [{CONF_TYPE: CONF_IS_APPARENT_POWER}], @@ -104,6 +105,7 @@ ENTITY_CONDITIONS = { SensorDeviceClass.VOLUME: [{CONF_TYPE: CONF_IS_VOLUME}], SensorDeviceClass.WATER: [{CONF_TYPE: CONF_IS_WATER}], SensorDeviceClass.WEIGHT: [{CONF_TYPE: CONF_IS_WEIGHT}], + SensorDeviceClass.WIND_SPEED: [{CONF_TYPE: CONF_IS_WIND_SPEED}], DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_IS_VALUE}], } diff --git a/homeassistant/components/sensor/device_trigger.py b/homeassistant/components/sensor/device_trigger.py index c2cda7d8e9d..4f36c8b78cb 100644 --- a/homeassistant/components/sensor/device_trigger.py +++ b/homeassistant/components/sensor/device_trigger.py @@ -64,6 +64,7 @@ CONF_VOLTAGE = "voltage" CONF_VOLUME = "volume" CONF_WATER = "water" CONF_WEIGHT = "weight" +CONF_WIND_SPEED = "wind_speed" ENTITY_TRIGGERS = { SensorDeviceClass.APPARENT_POWER: [{CONF_TYPE: CONF_APPARENT_POWER}], @@ -103,6 +104,7 @@ ENTITY_TRIGGERS = { SensorDeviceClass.VOLUME: [{CONF_TYPE: CONF_VOLUME}], SensorDeviceClass.WATER: [{CONF_TYPE: CONF_WATER}], SensorDeviceClass.WEIGHT: [{CONF_TYPE: CONF_WEIGHT}], + SensorDeviceClass.WIND_SPEED: [{CONF_TYPE: CONF_WIND_SPEED}], DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_VALUE}], }