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, BinarySensorEntity,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ENTITY_CATEGORY_DIAGNOSTIC
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DOMAIN from .const import DOMAIN
@ -32,7 +32,7 @@ async def async_setup_entry(
class WLEDUpdateBinarySensor(WLEDEntity, BinarySensorEntity): class WLEDUpdateBinarySensor(WLEDEntity, BinarySensorEntity):
"""Defines a WLED firmware binary sensor.""" """Defines a WLED firmware binary sensor."""
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC _attr_entity_category = EntityCategory.DIAGNOSTIC
_attr_device_class = BinarySensorDeviceClass.UPDATE _attr_device_class = BinarySensorDeviceClass.UPDATE
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: 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.components.button import ButtonDeviceClass, ButtonEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ENTITY_CATEGORY_CONFIG
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DOMAIN from .const import DOMAIN
@ -32,7 +32,7 @@ class WLEDRestartButton(WLEDEntity, ButtonEntity):
"""Defines a WLED restart button.""" """Defines a WLED restart button."""
_attr_device_class = ButtonDeviceClass.RESTART _attr_device_class = ButtonDeviceClass.RESTART
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
"""Initialize the button entity.""" """Initialize the button entity."""
@ -50,7 +50,7 @@ class WLEDUpdateButton(WLEDEntity, ButtonEntity):
"""Defines a WLED update button.""" """Defines a WLED update button."""
_attr_device_class = ButtonDeviceClass.UPDATE _attr_device_class = ButtonDeviceClass.UPDATE
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
"""Initialize the button entity.""" """Initialize the button entity."""

View file

@ -5,8 +5,8 @@ from functools import partial
from homeassistant.components.number import NumberEntity, NumberEntityDescription from homeassistant.components.number import NumberEntity, NumberEntityDescription
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ENTITY_CATEGORY_CONFIG
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import ATTR_INTENSITY, ATTR_SPEED, DOMAIN from .const import ATTR_INTENSITY, ATTR_SPEED, DOMAIN
@ -40,7 +40,7 @@ NUMBERS = [
key=ATTR_SPEED, key=ATTR_SPEED,
name="Speed", name="Speed",
icon="mdi:speedometer", icon="mdi:speedometer",
entity_category=ENTITY_CATEGORY_CONFIG, entity_category=EntityCategory.CONFIG,
step=1, step=1,
min_value=0, min_value=0,
max_value=255, max_value=255,
@ -48,7 +48,7 @@ NUMBERS = [
NumberEntityDescription( NumberEntityDescription(
key=ATTR_INTENSITY, key=ATTR_INTENSITY,
name="Intensity", name="Intensity",
entity_category=ENTITY_CATEGORY_CONFIG, entity_category=EntityCategory.CONFIG,
step=1, step=1,
min_value=0, min_value=0,
max_value=255, max_value=255,

View file

@ -7,8 +7,8 @@ from wled import Live, Playlist, Preset
from homeassistant.components.select import SelectEntity from homeassistant.components.select import SelectEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ENTITY_CATEGORY_CONFIG
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import DEVICE_CLASS_WLED_LIVE_OVERRIDE, DOMAIN from .const import DEVICE_CLASS_WLED_LIVE_OVERRIDE, DOMAIN
@ -49,7 +49,7 @@ class WLEDLiveOverrideSelect(WLEDEntity, SelectEntity):
"""Defined a WLED Live Override select.""" """Defined a WLED Live Override select."""
_attr_device_class = DEVICE_CLASS_WLED_LIVE_OVERRIDE _attr_device_class = DEVICE_CLASS_WLED_LIVE_OVERRIDE
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
_attr_icon = "mdi:theater" _attr_icon = "mdi:theater"
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
@ -138,7 +138,7 @@ class WLEDPlaylistSelect(WLEDEntity, SelectEntity):
class WLEDPaletteSelect(WLEDEntity, SelectEntity): class WLEDPaletteSelect(WLEDEntity, SelectEntity):
"""Defines a WLED Palette select.""" """Defines a WLED Palette select."""
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
_attr_icon = "mdi:palette-outline" _attr_icon = "mdi:palette-outline"
_segment: int _segment: int

View file

@ -17,11 +17,11 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
DATA_BYTES, DATA_BYTES,
ELECTRIC_CURRENT_MILLIAMPERE, ELECTRIC_CURRENT_MILLIAMPERE,
ENTITY_CATEGORY_DIAGNOSTIC,
PERCENTAGE, PERCENTAGE,
SIGNAL_STRENGTH_DECIBELS_MILLIWATT, SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType from homeassistant.helpers.typing import StateType
from homeassistant.util.dt import utcnow from homeassistant.util.dt import utcnow
@ -52,20 +52,20 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE, native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE,
device_class=SensorDeviceClass.CURRENT, device_class=SensorDeviceClass.CURRENT,
state_class=STATE_CLASS_MEASUREMENT, state_class=STATE_CLASS_MEASUREMENT,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda device: device.info.leds.power, value_fn=lambda device: device.info.leds.power,
), ),
WLEDSensorEntityDescription( WLEDSensorEntityDescription(
key="info_leds_count", key="info_leds_count",
name="LED Count", name="LED Count",
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda device: device.info.leds.count, value_fn=lambda device: device.info.leds.count,
), ),
WLEDSensorEntityDescription( WLEDSensorEntityDescription(
key="info_leds_max_power", key="info_leds_max_power",
name="Max Current", name="Max Current",
native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE, native_unit_of_measurement=ELECTRIC_CURRENT_MILLIAMPERE,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
device_class=SensorDeviceClass.CURRENT, device_class=SensorDeviceClass.CURRENT,
value_fn=lambda device: device.info.leds.max_power, value_fn=lambda device: device.info.leds.max_power,
), ),
@ -73,7 +73,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
key="uptime", key="uptime",
name="Uptime", name="Uptime",
device_class=SensorDeviceClass.TIMESTAMP, device_class=SensorDeviceClass.TIMESTAMP,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: (utcnow() - timedelta(seconds=device.info.uptime)), value_fn=lambda device: (utcnow() - timedelta(seconds=device.info.uptime)),
), ),
@ -83,7 +83,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
icon="mdi:memory", icon="mdi:memory",
native_unit_of_measurement=DATA_BYTES, native_unit_of_measurement=DATA_BYTES,
state_class=STATE_CLASS_MEASUREMENT, state_class=STATE_CLASS_MEASUREMENT,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: device.info.free_heap, value_fn=lambda device: device.info.free_heap,
), ),
@ -92,7 +92,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
name="Wi-Fi Signal", name="Wi-Fi Signal",
icon="mdi:wifi", icon="mdi:wifi",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: device.info.wifi.signal if device.info.wifi else None, 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", name="Wi-Fi RSSI",
native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT, native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
device_class=SensorDeviceClass.SIGNAL_STRENGTH, device_class=SensorDeviceClass.SIGNAL_STRENGTH,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: device.info.wifi.rssi if device.info.wifi else None, value_fn=lambda device: device.info.wifi.rssi if device.info.wifi else None,
), ),
@ -109,7 +109,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
key="wifi_channel", key="wifi_channel",
name="Wi-Fi Channel", name="Wi-Fi Channel",
icon="mdi:wifi", icon="mdi:wifi",
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: device.info.wifi.channel if device.info.wifi else None, value_fn=lambda device: device.info.wifi.channel if device.info.wifi else None,
), ),
@ -117,7 +117,7 @@ SENSORS: tuple[WLEDSensorEntityDescription, ...] = (
key="wifi_bssid", key="wifi_bssid",
name="Wi-Fi BSSID", name="Wi-Fi BSSID",
icon="mdi:wifi", icon="mdi:wifi",
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
value_fn=lambda device: device.info.wifi.bssid if device.info.wifi else None, 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.components.switch import SwitchEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ENTITY_CATEGORY_CONFIG
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import ( from .const import (
@ -54,7 +54,7 @@ class WLEDNightlightSwitch(WLEDEntity, SwitchEntity):
"""Defines a WLED nightlight switch.""" """Defines a WLED nightlight switch."""
_attr_icon = "mdi:weather-night" _attr_icon = "mdi:weather-night"
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
"""Initialize WLED nightlight switch.""" """Initialize WLED nightlight switch."""
@ -91,7 +91,7 @@ class WLEDSyncSendSwitch(WLEDEntity, SwitchEntity):
"""Defines a WLED sync send switch.""" """Defines a WLED sync send switch."""
_attr_icon = "mdi:upload-network-outline" _attr_icon = "mdi:upload-network-outline"
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
"""Initialize WLED sync send switch.""" """Initialize WLED sync send switch."""
@ -124,7 +124,7 @@ class WLEDSyncReceiveSwitch(WLEDEntity, SwitchEntity):
"""Defines a WLED sync receive switch.""" """Defines a WLED sync receive switch."""
_attr_icon = "mdi:download-network-outline" _attr_icon = "mdi:download-network-outline"
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
"""Initialize WLED sync receive switch.""" """Initialize WLED sync receive switch."""
@ -157,7 +157,7 @@ class WLEDReverseSwitch(WLEDEntity, SwitchEntity):
"""Defines a WLED reverse effect switch.""" """Defines a WLED reverse effect switch."""
_attr_icon = "mdi:swap-horizontal-bold" _attr_icon = "mdi:swap-horizontal-bold"
_attr_entity_category = ENTITY_CATEGORY_CONFIG _attr_entity_category = EntityCategory.CONFIG
_segment: int _segment: int
def __init__(self, coordinator: WLEDDataUpdateCoordinator, segment: int) -> None: def __init__(self, coordinator: WLEDDataUpdateCoordinator, segment: int) -> None:

View file

@ -4,15 +4,10 @@ from unittest.mock import MagicMock
import pytest import pytest
from homeassistant.components.binary_sensor import BinarySensorDeviceClass from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.const import ( from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_ICON, STATE_OFF, STATE_ON
ATTR_DEVICE_CLASS,
ATTR_ICON,
ENTITY_CATEGORY_DIAGNOSTIC,
STATE_OFF,
STATE_ON,
)
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity import EntityCategory
from tests.common import MockConfigEntry 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") entry = entity_registry.async_get("binary_sensor.wled_rgb_light_firmware")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_update" 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) @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") entry = entity_registry.async_get("binary_sensor.wled_websocket_firmware")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_update" 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 ( from homeassistant.const import (
ATTR_DEVICE_CLASS, ATTR_DEVICE_CLASS,
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
ENTITY_CATEGORY_CONFIG,
STATE_UNAVAILABLE, STATE_UNAVAILABLE,
STATE_UNKNOWN, STATE_UNKNOWN,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity import EntityCategory
from tests.common import MockConfigEntry from tests.common import MockConfigEntry
@ -37,7 +37,7 @@ async def test_button_restart(
entry = entity_registry.async_get("button.wled_rgb_light_restart") entry = entity_registry.async_get("button.wled_rgb_light_restart")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_restart" 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( await hass.services.async_call(
BUTTON_DOMAIN, BUTTON_DOMAIN,
@ -111,7 +111,7 @@ async def test_button_update_stay_stable(
entry = entity_registry.async_get("button.wled_rgb_light_update") entry = entity_registry.async_get("button.wled_rgb_light_update")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_update" 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") state = hass.states.get("button.wled_rgb_light_update")
assert state assert state

View file

@ -11,13 +11,13 @@ from homeassistant.components.wled.const import SCAN_INTERVAL
from homeassistant.const import ( from homeassistant.const import (
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
ATTR_ICON, ATTR_ICON,
ENTITY_CATEGORY_CONFIG,
SERVICE_SELECT_OPTION, SERVICE_SELECT_OPTION,
STATE_UNAVAILABLE, STATE_UNAVAILABLE,
STATE_UNKNOWN, STATE_UNKNOWN,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity import EntityCategory
import homeassistant.util.dt as dt_util import homeassistant.util.dt as dt_util
from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture 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") entry = entity_registry.async_get("select.wled_rgb_light_segment_1_color_palette")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_palette_1" 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( async def test_color_palette_segment_change_state(

View file

@ -12,13 +12,13 @@ from homeassistant.const import (
ATTR_UNIT_OF_MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT,
DATA_BYTES, DATA_BYTES,
ELECTRIC_CURRENT_MILLIAMPERE, ELECTRIC_CURRENT_MILLIAMPERE,
ENTITY_CATEGORY_DIAGNOSTIC,
PERCENTAGE, PERCENTAGE,
SIGNAL_STRENGTH_DECIBELS_MILLIWATT, SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
STATE_UNKNOWN, STATE_UNKNOWN,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity import EntityCategory
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
from tests.common import MockConfigEntry from tests.common import MockConfigEntry
@ -99,7 +99,7 @@ async def test_sensors(
entry = registry.async_get("sensor.wled_rgb_light_estimated_current") entry = registry.async_get("sensor.wled_rgb_light_estimated_current")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_estimated_current" 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") state = hass.states.get("sensor.wled_rgb_light_uptime")
assert state assert state
@ -110,31 +110,31 @@ async def test_sensors(
entry = registry.async_get("sensor.wled_rgb_light_uptime") entry = registry.async_get("sensor.wled_rgb_light_uptime")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_uptime" 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") state = hass.states.get("sensor.wled_rgb_light_free_memory")
assert state assert state
assert state.attributes.get(ATTR_ICON) == "mdi:memory" assert state.attributes.get(ATTR_ICON) == "mdi:memory"
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == DATA_BYTES assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == DATA_BYTES
assert state.state == "14600" 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") entry = registry.async_get("sensor.wled_rgb_light_free_memory")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_free_heap" 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") state = hass.states.get("sensor.wled_rgb_light_wifi_signal")
assert state assert state
assert state.attributes.get(ATTR_ICON) == "mdi:wifi" assert state.attributes.get(ATTR_ICON) == "mdi:wifi"
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == PERCENTAGE
assert state.state == "76" 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") entry = registry.async_get("sensor.wled_rgb_light_wifi_signal")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_wifi_signal" 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") state = hass.states.get("sensor.wled_rgb_light_wifi_rssi")
assert state assert state
@ -148,7 +148,7 @@ async def test_sensors(
entry = registry.async_get("sensor.wled_rgb_light_wifi_rssi") entry = registry.async_get("sensor.wled_rgb_light_wifi_rssi")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_wifi_rssi" 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") state = hass.states.get("sensor.wled_rgb_light_wifi_channel")
assert state assert state
@ -159,7 +159,7 @@ async def test_sensors(
entry = registry.async_get("sensor.wled_rgb_light_wifi_channel") entry = registry.async_get("sensor.wled_rgb_light_wifi_channel")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_wifi_channel" 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") state = hass.states.get("sensor.wled_rgb_light_wifi_bssid")
assert state assert state
@ -170,7 +170,7 @@ async def test_sensors(
entry = registry.async_get("sensor.wled_rgb_light_wifi_bssid") entry = registry.async_get("sensor.wled_rgb_light_wifi_bssid")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_wifi_bssid" assert entry.unique_id == "aabbccddeeff_wifi_bssid"
assert entry.entity_category == ENTITY_CATEGORY_DIAGNOSTIC assert entry.entity_category is EntityCategory.DIAGNOSTIC
@pytest.mark.parametrize( @pytest.mark.parametrize(

View file

@ -16,7 +16,6 @@ from homeassistant.components.wled.const import (
from homeassistant.const import ( from homeassistant.const import (
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
ATTR_ICON, ATTR_ICON,
ENTITY_CATEGORY_CONFIG,
SERVICE_TURN_OFF, SERVICE_TURN_OFF,
SERVICE_TURN_ON, SERVICE_TURN_ON,
STATE_OFF, STATE_OFF,
@ -25,6 +24,7 @@ from homeassistant.const import (
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity import EntityCategory
import homeassistant.util.dt as dt_util import homeassistant.util.dt as dt_util
from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture 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") entry = entity_registry.async_get("switch.wled_rgb_light_nightlight")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_nightlight" 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") state = hass.states.get("switch.wled_rgb_light_sync_send")
assert state assert state
@ -58,7 +58,7 @@ async def test_switch_state(
entry = entity_registry.async_get("switch.wled_rgb_light_sync_send") entry = entity_registry.async_get("switch.wled_rgb_light_sync_send")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_sync_send" 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") state = hass.states.get("switch.wled_rgb_light_sync_receive")
assert state assert state
@ -69,7 +69,7 @@ async def test_switch_state(
entry = entity_registry.async_get("switch.wled_rgb_light_sync_receive") entry = entity_registry.async_get("switch.wled_rgb_light_sync_receive")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_sync_receive" 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") state = hass.states.get("switch.wled_rgb_light_reverse")
assert state assert state
@ -79,7 +79,7 @@ async def test_switch_state(
entry = entity_registry.async_get("switch.wled_rgb_light_reverse") entry = entity_registry.async_get("switch.wled_rgb_light_reverse")
assert entry assert entry
assert entry.unique_id == "aabbccddeeff_reverse_0" 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( async def test_switch_change_state(