Finish using enums in wled (#62189)

This commit is contained in:
Robert Hillis 2021-12-18 10:17:55 -05:00 committed by GitHub
parent ff530dce0d
commit 78f2866f98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 50 additions and 55 deletions

View File

@ -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:

View File

@ -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."""

View File

@ -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,

View File

@ -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

View File

@ -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,
),

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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(

View File

@ -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(

View File

@ -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(