[factory_reset] Use switch_schema method (#8757)

This commit is contained in:
Jesse Hills 2025-05-13 08:58:05 +12:00 committed by GitHub
parent 38790793dd
commit bdd2774544
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,14 +1,7 @@
import esphome.codegen as cg import esphome.codegen as cg
from esphome.components import switch from esphome.components import switch
import esphome.config_validation as cv import esphome.config_validation as cv
from esphome.const import ( from esphome.const import ENTITY_CATEGORY_CONFIG, ICON_RESTART_ALERT
CONF_ENTITY_CATEGORY,
CONF_ICON,
CONF_ID,
CONF_INVERTED,
ENTITY_CATEGORY_CONFIG,
ICON_RESTART_ALERT,
)
from .. import factory_reset_ns from .. import factory_reset_ns
@ -16,21 +9,14 @@ FactoryResetSwitch = factory_reset_ns.class_(
"FactoryResetSwitch", switch.Switch, cg.Component "FactoryResetSwitch", switch.Switch, cg.Component
) )
CONFIG_SCHEMA = switch.SWITCH_SCHEMA.extend( CONFIG_SCHEMA = switch.switch_schema(
{ FactoryResetSwitch,
cv.GenerateID(): cv.declare_id(FactoryResetSwitch), block_inverted=True,
cv.Optional(CONF_INVERTED): cv.invalid( icon=ICON_RESTART_ALERT,
"Factory Reset switches do not support inverted mode!" entity_category=ENTITY_CATEGORY_CONFIG,
),
cv.Optional(CONF_ICON, default=ICON_RESTART_ALERT): cv.icon,
cv.Optional(
CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
): cv.entity_category,
}
).extend(cv.COMPONENT_SCHEMA) ).extend(cv.COMPONENT_SCHEMA)
async def to_code(config): async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID]) var = await switch.new_switch(config)
await cg.register_component(var, config) await cg.register_component(var, config)
await switch.register_switch(var, config)