From 8a18c1592a933535b6f15a58d30a1c7e5e479a5c Mon Sep 17 00:00:00 2001 From: Andrea Baccega Date: Wed, 25 Mar 2026 17:37:29 +0100 Subject: [PATCH] fix: update deprecated NUMBER_SCHEMA and BUTTON_SCHEMA for ESPHome 2025.11+ ESPHome 2025.11 removed the class-attribute schemas: - number.NUMBER_SCHEMA -> number.number_schema(class_) - button.BUTTON_SCHEMA -> button.button_schema(class_) The new factory functions accept the class directly, so the separate cv.GenerateID()/cv.declare_id() is no longer needed. Ref: https://developers.esphome.io/blog/2025/05/14/_schema-deprecations/ --- .../jiecang_desk_controller/__init__.py | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/components/jiecang_desk_controller/__init__.py b/components/jiecang_desk_controller/__init__.py index f0ec16d..9d67208 100644 --- a/components/jiecang_desk_controller/__init__.py +++ b/components/jiecang_desk_controller/__init__.py @@ -96,31 +96,29 @@ ), }), cv.Optional(CONF_NUMBERS): cv.Schema({ - cv.Optional(CONF_HEIGHT): number.NUMBER_SCHEMA.extend({ - cv.GenerateID(): cv.declare_id(JiecangDeskNumber), + cv.Optional(CONF_HEIGHT): number.number_schema(JiecangDeskNumber).extend({ cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_, cv.Optional(CONF_UNIT_OF_MEASUREMENT, default=UNIT_CENTIMETER): cv.string, }), - cv.Optional(CONF_HEIGHT_PCT): number.NUMBER_SCHEMA.extend({ - cv.GenerateID(): cv.declare_id(JiecangDeskNumber), + cv.Optional(CONF_HEIGHT_PCT): number.number_schema(JiecangDeskNumber).extend({ cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_, cv.Optional(CONF_UNIT_OF_MEASUREMENT, default=UNIT_PERCENT): cv.string, }), }), cv.Optional(CONF_BUTTONS): cv.Schema({ - cv.Optional(CONF_STEP_UP): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_STEP_DOWN): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_STOP): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_POSITION1): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_POSITION2): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_POSITION3): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_POSITION4): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_SAVE_POSITION): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_MOVE_UP): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_MOVE_DOWN): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), + cv.Optional(CONF_STEP_UP): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_STEP_DOWN): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_STOP): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_POSITION1): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_POSITION2): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_POSITION3): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_POSITION4): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_SAVE_POSITION): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_MOVE_UP): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_MOVE_DOWN): button.button_schema(JiecangDeskButton), # Backward compatibility - cv.Optional(CONF_RAISE): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), - cv.Optional(CONF_LOWER): button.BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}), + cv.Optional(CONF_RAISE): button.button_schema(JiecangDeskButton), + cv.Optional(CONF_LOWER): button.button_schema(JiecangDeskButton), }), }).extend(uart.UART_DEVICE_SCHEMA)