From 78f2866f9852fd70925280d6058edeaa8f3c06be Mon Sep 17 00:00:00 2001 From: Robert Hillis Date: Sat, 18 Dec 2021 10:17:55 -0500 Subject: [PATCH] Finish using enums in wled (#62189) --- .../components/wled/binary_sensor.py | 4 ++-- homeassistant/components/wled/button.py | 6 +++--- homeassistant/components/wled/number.py | 6 +++--- homeassistant/components/wled/select.py | 6 +++--- homeassistant/components/wled/sensor.py | 20 +++++++++---------- homeassistant/components/wled/switch.py | 10 +++++----- tests/components/wled/test_binary_sensor.py | 13 ++++-------- tests/components/wled/test_button.py | 6 +++--- tests/components/wled/test_select.py | 4 ++-- tests/components/wled/test_sensor.py | 20 +++++++++---------- tests/components/wled/test_switch.py | 10 +++++----- 11 files changed, 50 insertions(+), 55 deletions(-) diff --git a/homeassistant/components/wled/binary_sensor.py b/homeassistant/components/wled/binary_sensor.py index ce082691ffe..1a8033701da 100644 --- a/homeassistant/components/wled/binary_sensor.py +++ b/homeassistant/components/wled/binary_sensor.py @@ -6,8 +6,8 @@ from homeassistant.components.binary_sensor import ( BinarySensorEntity, ) from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ENTITY_CATEGORY_DIAGNOSTIC from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN @@ -32,7 +32,7 @@ async def async_setup_entry( class WLEDUpdateBinarySensor(WLEDEntity, BinarySensorEntity): """Defines a WLED firmware binary sensor.""" - _attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC + _attr_entity_category = EntityCategory.DIAGNOSTIC _attr_device_class = BinarySensorDeviceClass.UPDATE def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: diff --git a/homeassistant/components/wled/button.py b/homeassistant/components/wled/button.py index 191242fe0dc..5b2e13911bc 100644 --- a/homeassistant/components/wled/button.py +++ b/homeassistant/components/wled/button.py @@ -3,8 +3,8 @@ from __future__ import annotations from homeassistant.components.button import ButtonDeviceClass, ButtonEntity from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ENTITY_CATEGORY_CONFIG from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DOMAIN @@ -32,7 +32,7 @@ class WLEDRestartButton(WLEDEntity, ButtonEntity): """Defines a WLED restart button.""" _attr_device_class = ButtonDeviceClass.RESTART - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: """Initialize the button entity.""" @@ -50,7 +50,7 @@ class WLEDUpdateButton(WLEDEntity, ButtonEntity): """Defines a WLED update button.""" _attr_device_class = ButtonDeviceClass.UPDATE - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: """Initialize the button entity.""" diff --git a/homeassistant/components/wled/number.py b/homeassistant/components/wled/number.py index 48c92cf839c..d551072e452 100644 --- a/homeassistant/components/wled/number.py +++ b/homeassistant/components/wled/number.py @@ -5,8 +5,8 @@ from functools import partial from homeassistant.components.number import NumberEntity, NumberEntityDescription from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ENTITY_CATEGORY_CONFIG from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ATTR_INTENSITY, ATTR_SPEED, DOMAIN @@ -40,7 +40,7 @@ NUMBERS = [ key=ATTR_SPEED, name="Speed", icon="mdi:speedometer", - entity_category=ENTITY_CATEGORY_CONFIG, + entity_category=EntityCategory.CONFIG, step=1, min_value=0, max_value=255, @@ -48,7 +48,7 @@ NUMBERS = [ NumberEntityDescription( key=ATTR_INTENSITY, name="Intensity", - entity_category=ENTITY_CATEGORY_CONFIG, + entity_category=EntityCategory.CONFIG, step=1, min_value=0, max_value=255, diff --git a/homeassistant/components/wled/select.py b/homeassistant/components/wled/select.py index d82f12cffd7..e555b3422ce 100644 --- a/homeassistant/components/wled/select.py +++ b/homeassistant/components/wled/select.py @@ -7,8 +7,8 @@ from wled import Live, Playlist, Preset from homeassistant.components.select import SelectEntity from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ENTITY_CATEGORY_CONFIG from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import DEVICE_CLASS_WLED_LIVE_OVERRIDE, DOMAIN @@ -49,7 +49,7 @@ class WLEDLiveOverrideSelect(WLEDEntity, SelectEntity): """Defined a WLED Live Override select.""" _attr_device_class = DEVICE_CLASS_WLED_LIVE_OVERRIDE - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG _attr_icon = "mdi:theater" def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: @@ -138,7 +138,7 @@ class WLEDPlaylistSelect(WLEDEntity, SelectEntity): class WLEDPaletteSelect(WLEDEntity, SelectEntity): """Defines a WLED Palette select.""" - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG _attr_icon = "mdi:palette-outline" _segment: int diff --git a/homeassistant/components/wled/sensor.py b/homeassistant/components/wled/sensor.py index 0bde4107688..05d92a91e3d 100644 --- a/homeassistant/components/wled/sensor.py +++ b/homeassistant/components/wled/sensor.py @@ -17,11 +17,11 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( DATA_BYTES, ELECTRIC_CURRENT_MILLIAMPERE, - ENTITY_CATEGORY_DIAGNOSTIC, PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT, ) from homeassistant.core import HomeAssistant +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.util.dt import utcnow @@ -52,20 +52,20 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE, device_class=SensorDeviceClass.CURRENT, state_class=STATE_CLASS_MEASUREMENT, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, value_fn=lambda device: device.info.leds.power, ), WLEDSensorEntityDescription( key="info_leds_count", name="LED Count", - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, value_fn=lambda device: device.info.leds.count, ), WLEDSensorEntityDescription( key="info_leds_max_power", name="Max Current", native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, device_class=SensorDeviceClass.CURRENT, value_fn=lambda device: device.info.leds.max_power, ), @@ -73,7 +73,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( key="uptime", name="Uptime", device_class=SensorDeviceClass.TIMESTAMP, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: (utcnow() - timedelta(seconds=device.info.uptime)), ), @@ -83,7 +83,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( icon="mdi:memory", native_unit_of_measurement=DATA_BYTES, state_class=STATE_CLASS_MEASUREMENT, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: device.info.free_heap, ), @@ -92,7 +92,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( name="Wi-Fi Signal", icon="mdi:wifi", native_unit_of_measurement=PERCENTAGE, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: device.info.wifi.signal if device.info.wifi else None, ), @@ -101,7 +101,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( name="Wi-Fi RSSI", native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT, device_class=SensorDeviceClass.SIGNAL_STRENGTH, - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: device.info.wifi.rssi if device.info.wifi else None, ), @@ -109,7 +109,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( key="wifi_channel", name="Wi-Fi Channel", icon="mdi:wifi", - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: device.info.wifi.channel if device.info.wifi else None, ), @@ -117,7 +117,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = ( key="wifi_bssid", name="Wi-Fi BSSID", icon="mdi:wifi", - entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, value_fn=lambda device: device.info.wifi.bssid if device.info.wifi else None, ), diff --git a/homeassistant/components/wled/switch.py b/homeassistant/components/wled/switch.py index a05a0ddaf08..e98b3494ad6 100644 --- a/homeassistant/components/wled/switch.py +++ b/homeassistant/components/wled/switch.py @@ -6,8 +6,8 @@ from typing import Any from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ENTITY_CATEGORY_CONFIG from homeassistant.core import HomeAssistant, callback +from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ( @@ -54,7 +54,7 @@ class WLEDNightlightSwitch(WLEDEntity, SwitchEntity): """Defines a WLED nightlight switch.""" _attr_icon = "mdi:weather-night" - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: """Initialize WLED nightlight switch.""" @@ -91,7 +91,7 @@ class WLEDSyncSendSwitch(WLEDEntity, SwitchEntity): """Defines a WLED sync send switch.""" _attr_icon = "mdi:upload-network-outline" - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: """Initialize WLED sync send switch.""" @@ -124,7 +124,7 @@ class WLEDSyncReceiveSwitch(WLEDEntity, SwitchEntity): """Defines a WLED sync receive switch.""" _attr_icon = "mdi:download-network-outline" - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: """Initialize WLED sync receive switch.""" @@ -157,7 +157,7 @@ class WLEDReverseSwitch(WLEDEntity, SwitchEntity): """Defines a WLED reverse effect switch.""" _attr_icon = "mdi:swap-horizontal-bold" - _attr_entity_category = ENTITY_CATEGORY_CONFIG + _attr_entity_category = EntityCategory.CONFIG _segment: int def __init__(self, coordinator: WLEDDataUpdateCoordinator, segment: int) -> None: diff --git a/tests/components/wled/test_binary_sensor.py b/tests/components/wled/test_binary_sensor.py index 5c40f8833e5..311044d213d 100644 --- a/tests/components/wled/test_binary_sensor.py +++ b/tests/components/wled/test_binary_sensor.py @@ -4,15 +4,10 @@ from unittest.mock import MagicMock import pytest from homeassistant.components.binary_sensor import BinarySensorDeviceClass -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_ICON, - ENTITY_CATEGORY_DIAGNOSTIC, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_ICON, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity import EntityCategory from tests.common import MockConfigEntry @@ -32,7 +27,7 @@ async def test_update_available( entry = entity_registry.async_get("binary_sensor.wled_rgb_light_firmware") assert entry assert entry.unique_id == "aabbccddeeff_update" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC @pytest.mark.parametrize("mock_wled", ["wled/rgb_websocket.json"], indirect=True) @@ -51,4 +46,4 @@ async def test_no_update_available( entry = entity_registry.async_get("binary_sensor.wled_websocket_firmware") assert entry assert entry.unique_id == "aabbccddeeff_update" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC diff --git a/tests/components/wled/test_button.py b/tests/components/wled/test_button.py index d6eea403d97..c9c8412a5b9 100644 --- a/tests/components/wled/test_button.py +++ b/tests/components/wled/test_button.py @@ -13,12 +13,12 @@ from homeassistant.components.button import ( from homeassistant.const import ( ATTR_DEVICE_CLASS, ATTR_ENTITY_ID, - ENTITY_CATEGORY_CONFIG, STATE_UNAVAILABLE, STATE_UNKNOWN, ) from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity import EntityCategory from tests.common import MockConfigEntry @@ -37,7 +37,7 @@ async def test_button_restart( entry = entity_registry.async_get("button.wled_rgb_light_restart") assert entry assert entry.unique_id == "aabbccddeeff_restart" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG await hass.services.async_call( BUTTON_DOMAIN, @@ -111,7 +111,7 @@ async def test_button_update_stay_stable( entry = entity_registry.async_get("button.wled_rgb_light_update") assert entry assert entry.unique_id == "aabbccddeeff_update" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG state = hass.states.get("button.wled_rgb_light_update") assert state diff --git a/tests/components/wled/test_select.py b/tests/components/wled/test_select.py index 345c0c632fe..d798a723246 100644 --- a/tests/components/wled/test_select.py +++ b/tests/components/wled/test_select.py @@ -11,13 +11,13 @@ from homeassistant.components.wled.const import SCAN_INTERVAL from homeassistant.const import ( ATTR_ENTITY_ID, ATTR_ICON, - ENTITY_CATEGORY_CONFIG, SERVICE_SELECT_OPTION, STATE_UNAVAILABLE, STATE_UNKNOWN, ) from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity import EntityCategory import homeassistant.util.dt as dt_util from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture @@ -90,7 +90,7 @@ async def test_color_palette_state( entry = entity_registry.async_get("select.wled_rgb_light_segment_1_color_palette") assert entry assert entry.unique_id == "aabbccddeeff_palette_1" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG async def test_color_palette_segment_change_state( diff --git a/tests/components/wled/test_sensor.py b/tests/components/wled/test_sensor.py index 9e43f573f7e..bf3ef3b060b 100644 --- a/tests/components/wled/test_sensor.py +++ b/tests/components/wled/test_sensor.py @@ -12,13 +12,13 @@ from homeassistant.const import ( ATTR_UNIT_OF_MEASUREMENT, DATA_BYTES, ELECTRIC_CURRENT_MILLIAMPERE, - ENTITY_CATEGORY_DIAGNOSTIC, PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT, STATE_UNKNOWN, ) from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity import EntityCategory from homeassistant.util import dt as dt_util from tests.common import MockConfigEntry @@ -99,7 +99,7 @@ async def test_sensors( entry = registry.async_get("sensor.wled_rgb_light_estimated_current") assert entry assert entry.unique_id == "aabbccddeeff_estimated_current" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_uptime") assert state @@ -110,31 +110,31 @@ async def test_sensors( entry = registry.async_get("sensor.wled_rgb_light_uptime") assert entry assert entry.unique_id == "aabbccddeeff_uptime" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_free_memory") assert state assert state.attributes.get(ATTR_ICON) == "mdi:memory" assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == DATA_BYTES assert state.state == "14600" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC entry = registry.async_get("sensor.wled_rgb_light_free_memory") assert entry assert entry.unique_id == "aabbccddeeff_free_heap" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_wifi_signal") assert state assert state.attributes.get(ATTR_ICON) == "mdi:wifi" assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE assert state.state == "76" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC entry = registry.async_get("sensor.wled_rgb_light_wifi_signal") assert entry assert entry.unique_id == "aabbccddeeff_wifi_signal" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_wifi_rssi") assert state @@ -148,7 +148,7 @@ async def test_sensors( entry = registry.async_get("sensor.wled_rgb_light_wifi_rssi") assert entry assert entry.unique_id == "aabbccddeeff_wifi_rssi" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_wifi_channel") assert state @@ -159,7 +159,7 @@ async def test_sensors( entry = registry.async_get("sensor.wled_rgb_light_wifi_channel") assert entry assert entry.unique_id == "aabbccddeeff_wifi_channel" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC state = hass.states.get("sensor.wled_rgb_light_wifi_bssid") assert state @@ -170,7 +170,7 @@ async def test_sensors( entry = registry.async_get("sensor.wled_rgb_light_wifi_bssid") assert entry assert entry.unique_id == "aabbccddeeff_wifi_bssid" - assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC + assert entry.entity_category is EntityCategory.DIAGNOSTIC @pytest.mark.parametrize( diff --git a/tests/components/wled/test_switch.py b/tests/components/wled/test_switch.py index c47d7012f6e..2bf494284f5 100644 --- a/tests/components/wled/test_switch.py +++ b/tests/components/wled/test_switch.py @@ -16,7 +16,6 @@ from homeassistant.components.wled.const import ( from homeassistant.const import ( ATTR_ENTITY_ID, ATTR_ICON, - ENTITY_CATEGORY_CONFIG, SERVICE_TURN_OFF, SERVICE_TURN_ON, STATE_OFF, @@ -25,6 +24,7 @@ from homeassistant.const import ( ) from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er +from homeassistant.helpers.entity import EntityCategory import homeassistant.util.dt as dt_util from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture @@ -47,7 +47,7 @@ async def test_switch_state( entry = entity_registry.async_get("switch.wled_rgb_light_nightlight") assert entry assert entry.unique_id == "aabbccddeeff_nightlight" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG state = hass.states.get("switch.wled_rgb_light_sync_send") assert state @@ -58,7 +58,7 @@ async def test_switch_state( entry = entity_registry.async_get("switch.wled_rgb_light_sync_send") assert entry assert entry.unique_id == "aabbccddeeff_sync_send" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG state = hass.states.get("switch.wled_rgb_light_sync_receive") assert state @@ -69,7 +69,7 @@ async def test_switch_state( entry = entity_registry.async_get("switch.wled_rgb_light_sync_receive") assert entry assert entry.unique_id == "aabbccddeeff_sync_receive" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG state = hass.states.get("switch.wled_rgb_light_reverse") assert state @@ -79,7 +79,7 @@ async def test_switch_state( entry = entity_registry.async_get("switch.wled_rgb_light_reverse") assert entry assert entry.unique_id == "aabbccddeeff_reverse_0" - assert entry.entity_category == ENTITY_CATEGORY_CONFIG + assert entry.entity_category is EntityCategory.CONFIG async def test_switch_change_state(