Add entity category to WLED (#57693)
This commit is contained in:
parent
0407a56fdf
commit
3c11e2a097
5 changed files with 27 additions and 0 deletions
|
@ -25,6 +25,7 @@ class WLEDDataUpdateCoordinator(DataUpdateCoordinator[WLEDDevice]):
|
|||
"""Class to manage fetching WLED data from single endpoint."""
|
||||
|
||||
keep_master_light: bool
|
||||
config_entry: ConfigEntry
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
|
|
|
@ -11,6 +11,7 @@ from homeassistant.const import (
|
|||
DEVICE_CLASS_SIGNAL_STRENGTH,
|
||||
DEVICE_CLASS_TIMESTAMP,
|
||||
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
PERCENTAGE,
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
)
|
||||
|
@ -50,6 +51,7 @@ class WLEDEstimatedCurrentSensor(WLEDEntity, SensorEntity):
|
|||
_attr_icon = "mdi:power"
|
||||
_attr_native_unit_of_measurement = ELECTRIC_CURRENT_MILLIAMPERE
|
||||
_attr_device_class = DEVICE_CLASS_CURRENT
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED estimated current sensor."""
|
||||
|
@ -76,6 +78,7 @@ class WLEDUptimeSensor(WLEDEntity, SensorEntity):
|
|||
|
||||
_attr_device_class = DEVICE_CLASS_TIMESTAMP
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED uptime sensor."""
|
||||
|
@ -96,6 +99,7 @@ class WLEDFreeHeapSensor(WLEDEntity, SensorEntity):
|
|||
_attr_icon = "mdi:memory"
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_native_unit_of_measurement = DATA_BYTES
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED free heap sensor."""
|
||||
|
@ -115,6 +119,7 @@ class WLEDWifiSignalSensor(WLEDEntity, SensorEntity):
|
|||
_attr_icon = "mdi:wifi"
|
||||
_attr_native_unit_of_measurement = PERCENTAGE
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED Wi-Fi signal sensor."""
|
||||
|
@ -136,6 +141,7 @@ class WLEDWifiRSSISensor(WLEDEntity, SensorEntity):
|
|||
_attr_device_class = DEVICE_CLASS_SIGNAL_STRENGTH
|
||||
_attr_native_unit_of_measurement = SIGNAL_STRENGTH_DECIBELS_MILLIWATT
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED Wi-Fi RSSI sensor."""
|
||||
|
@ -156,6 +162,7 @@ class WLEDWifiChannelSensor(WLEDEntity, SensorEntity):
|
|||
|
||||
_attr_icon = "mdi:wifi"
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED Wi-Fi Channel sensor."""
|
||||
|
@ -176,6 +183,7 @@ class WLEDWifiBSSIDSensor(WLEDEntity, SensorEntity):
|
|||
|
||||
_attr_icon = "mdi:wifi"
|
||||
_attr_entity_registry_enabled_default = False
|
||||
_attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED Wi-Fi BSSID sensor."""
|
||||
|
|
|
@ -5,6 +5,7 @@ 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
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
|
@ -42,6 +43,7 @@ class WLEDNightlightSwitch(WLEDEntity, SwitchEntity):
|
|||
"""Defines a WLED nightlight switch."""
|
||||
|
||||
_attr_icon = "mdi:weather-night"
|
||||
_attr_entity_category = ENTITY_CATEGORY_CONFIG
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED nightlight switch."""
|
||||
|
@ -78,6 +80,7 @@ class WLEDSyncSendSwitch(WLEDEntity, SwitchEntity):
|
|||
"""Defines a WLED sync send switch."""
|
||||
|
||||
_attr_icon = "mdi:upload-network-outline"
|
||||
_attr_entity_category = ENTITY_CATEGORY_CONFIG
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED sync send switch."""
|
||||
|
@ -110,6 +113,7 @@ class WLEDSyncReceiveSwitch(WLEDEntity, SwitchEntity):
|
|||
"""Defines a WLED sync receive switch."""
|
||||
|
||||
_attr_icon = "mdi:download-network-outline"
|
||||
_attr_entity_category = ENTITY_CATEGORY_CONFIG
|
||||
|
||||
def __init__(self, coordinator: WLEDDataUpdateCoordinator) -> None:
|
||||
"""Initialize WLED sync receive switch."""
|
||||
|
|
|
@ -17,6 +17,7 @@ from homeassistant.const import (
|
|||
ATTR_UNIT_OF_MEASUREMENT,
|
||||
DATA_BYTES,
|
||||
ELECTRIC_CURRENT_MILLIAMPERE,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
PERCENTAGE,
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
STATE_UNKNOWN,
|
||||
|
@ -106,6 +107,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
|
||||
|
||||
state = hass.states.get("sensor.wled_rgb_light_uptime")
|
||||
assert state
|
||||
|
@ -116,26 +118,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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
state = hass.states.get("sensor.wled_rgb_light_wifi_rssi")
|
||||
assert state
|
||||
|
@ -149,6 +156,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
|
||||
|
||||
state = hass.states.get("sensor.wled_rgb_light_wifi_channel")
|
||||
assert state
|
||||
|
@ -159,6 +167,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
|
||||
|
||||
state = hass.states.get("sensor.wled_rgb_light_wifi_bssid")
|
||||
assert state
|
||||
|
@ -169,6 +178,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
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
|
|
@ -14,6 +14,7 @@ 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,
|
||||
|
@ -43,6 +44,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
|
||||
|
||||
state = hass.states.get("switch.wled_rgb_light_sync_send")
|
||||
assert state
|
||||
|
@ -53,6 +55,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
|
||||
|
||||
state = hass.states.get("switch.wled_rgb_light_sync_receive")
|
||||
assert state
|
||||
|
@ -63,6 +66,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
|
||||
|
||||
|
||||
async def test_switch_change_state(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue