mirror of
https://github.com/esphome/esphome.git
synced 2025-09-06 05:12:21 +01:00
Add Entity categories for Home Assistant (#2636)
This commit is contained in:
@@ -12,12 +12,14 @@ from string import ascii_letters, digits
|
||||
import voluptuous as vol
|
||||
|
||||
from esphome import core
|
||||
import esphome.codegen as cg
|
||||
from esphome.const import (
|
||||
ALLOWED_NAME_CHARS,
|
||||
CONF_AVAILABILITY,
|
||||
CONF_COMMAND_TOPIC,
|
||||
CONF_DISABLED_BY_DEFAULT,
|
||||
CONF_DISCOVERY,
|
||||
CONF_ENTITY_CATEGORY,
|
||||
CONF_ICON,
|
||||
CONF_ID,
|
||||
CONF_INTERNAL,
|
||||
@@ -35,6 +37,9 @@ from esphome.const import (
|
||||
CONF_UPDATE_INTERVAL,
|
||||
CONF_TYPE_ID,
|
||||
CONF_TYPE,
|
||||
ENTITY_CATEGORY_CONFIG,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
ENTITY_CATEGORY_NONE,
|
||||
KEY_CORE,
|
||||
KEY_FRAMEWORK_VERSION,
|
||||
KEY_TARGET_FRAMEWORK,
|
||||
@@ -1551,6 +1556,17 @@ def maybe_simple_value(*validators, **kwargs):
|
||||
return validate
|
||||
|
||||
|
||||
_ENTITY_CATEGORIES = {
|
||||
ENTITY_CATEGORY_NONE: cg.EntityCategory.ENTITY_CATEGORY_NONE,
|
||||
ENTITY_CATEGORY_CONFIG: cg.EntityCategory.ENTITY_CATEGORY_CONFIG,
|
||||
ENTITY_CATEGORY_DIAGNOSTIC: cg.EntityCategory.ENTITY_CATEGORY_DIAGNOSTIC,
|
||||
}
|
||||
|
||||
|
||||
def entity_category(value):
|
||||
return enum(_ENTITY_CATEGORIES, lower=True)(value)
|
||||
|
||||
|
||||
MQTT_COMPONENT_AVAILABILITY_SCHEMA = Schema(
|
||||
{
|
||||
Required(CONF_TOPIC): subscribe_topic,
|
||||
@@ -1582,6 +1598,7 @@ ENTITY_BASE_SCHEMA = Schema(
|
||||
Optional(CONF_INTERNAL): boolean,
|
||||
Optional(CONF_DISABLED_BY_DEFAULT, default=False): boolean,
|
||||
Optional(CONF_ICON): icon,
|
||||
Optional(CONF_ENTITY_CATEGORY): entity_category,
|
||||
}
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user