Allow extra keys in MQTT discovery messages (#58390)
* Allow extra keys in MQTT discovery messages * Remove extra keys
This commit is contained in:
parent
a8a8b532d0
commit
640a7fee9d
44 changed files with 628 additions and 480 deletions
|
@ -41,15 +41,22 @@ def validate_config(config):
|
|||
return config
|
||||
|
||||
|
||||
_PLATFORM_SCHEMA_BASE = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_OPTIMISTIC, default=DEFAULT_OPTIMISTIC): cv.boolean,
|
||||
vol.Required(CONF_OPTIONS): cv.ensure_list,
|
||||
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
||||
},
|
||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||
|
||||
PLATFORM_SCHEMA = vol.All(
|
||||
mqtt.MQTT_RW_PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_OPTIMISTIC, default=DEFAULT_OPTIMISTIC): cv.boolean,
|
||||
vol.Required(CONF_OPTIONS): cv.ensure_list,
|
||||
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
||||
},
|
||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema),
|
||||
_PLATFORM_SCHEMA_BASE,
|
||||
validate_config,
|
||||
)
|
||||
|
||||
DISCOVERY_SCHEMA = vol.All(
|
||||
_PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA),
|
||||
validate_config,
|
||||
)
|
||||
|
||||
|
@ -67,7 +74,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||
setup = functools.partial(
|
||||
_async_setup_entity, hass, async_add_entities, config_entry=config_entry
|
||||
)
|
||||
await async_setup_entry_helper(hass, select.DOMAIN, setup, PLATFORM_SCHEMA)
|
||||
await async_setup_entry_helper(hass, select.DOMAIN, setup, DISCOVERY_SCHEMA)
|
||||
|
||||
|
||||
async def _async_setup_entity(
|
||||
|
@ -96,7 +103,7 @@ class MqttSelect(MqttEntity, SelectEntity, RestoreEntity):
|
|||
@staticmethod
|
||||
def config_schema():
|
||||
"""Return the config schema."""
|
||||
return PLATFORM_SCHEMA
|
||||
return DISCOVERY_SCHEMA
|
||||
|
||||
def _setup_from_config(self, config):
|
||||
"""(Re)Setup the entity."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue