components/jiecang_desk_controller/__init__.py aktualisiert
This commit is contained in:
@@ -26,6 +26,14 @@ JiecangDeskNumber = jiecang_desk_controller_ns.class_(
|
||||
'JiecangDeskNumber', number.Number, cg.Component
|
||||
)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Robust schema compatibility (ESPHome 2025.11 ↔ 2025.12+)
|
||||
# -------------------------------------------------------------------
|
||||
BUTTON_SCHEMA = getattr(button, "_BUTTON_SCHEMA", button.BUTTON_SCHEMA)
|
||||
NUMBER_SCHEMA = getattr(number, "_NUMBER_SCHEMA", number.NUMBER_SCHEMA)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
CONF_SENSORS = "sensors"
|
||||
CONF_BUTTONS = "buttons"
|
||||
CONF_NUMBERS = "numbers"
|
||||
@@ -110,12 +118,12 @@ CONFIG_SCHEMA = cv.COMPONENT_SCHEMA.extend({
|
||||
}),
|
||||
|
||||
cv.Optional(CONF_NUMBERS): cv.Schema({
|
||||
cv.Optional(CONF_HEIGHT): number._NUMBER_SCHEMA.extend({
|
||||
cv.Optional(CONF_HEIGHT): NUMBER_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_id(JiecangDeskNumber),
|
||||
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.Optional(CONF_HEIGHT_PCT): NUMBER_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_id(JiecangDeskNumber),
|
||||
cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_,
|
||||
cv.Optional(CONF_UNIT_OF_MEASUREMENT, default=UNIT_PERCENT): cv.string,
|
||||
@@ -123,43 +131,19 @@ CONFIG_SCHEMA = cv.COMPONENT_SCHEMA.extend({
|
||||
}),
|
||||
|
||||
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_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_STEP_DOWN): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_STOP): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION1): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION2): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION3): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_POSITION4): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_SAVE_POSITION): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_MOVE_UP): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_MOVE_DOWN): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(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_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
cv.Optional(CONF_LOWER): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||
}),
|
||||
}).extend(uart.UART_DEVICE_SCHEMA)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user