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
|
'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_SENSORS = "sensors"
|
||||||
CONF_BUTTONS = "buttons"
|
CONF_BUTTONS = "buttons"
|
||||||
CONF_NUMBERS = "numbers"
|
CONF_NUMBERS = "numbers"
|
||||||
@@ -110,12 +118,12 @@ CONFIG_SCHEMA = cv.COMPONENT_SCHEMA.extend({
|
|||||||
}),
|
}),
|
||||||
|
|
||||||
cv.Optional(CONF_NUMBERS): cv.Schema({
|
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.GenerateID(): cv.declare_id(JiecangDeskNumber),
|
||||||
cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_,
|
cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_,
|
||||||
cv.Optional(CONF_UNIT_OF_MEASUREMENT, default=UNIT_CENTIMETER): cv.string,
|
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.GenerateID(): cv.declare_id(JiecangDeskNumber),
|
||||||
cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_,
|
cv.Optional(CONF_ACCURACY_DECIMALS, default=1): cv.int_,
|
||||||
cv.Optional(CONF_UNIT_OF_MEASUREMENT, default=UNIT_PERCENT): cv.string,
|
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_BUTTONS): cv.Schema({
|
||||||
cv.Optional(CONF_STEP_UP): button._BUTTON_SCHEMA.extend({
|
cv.Optional(CONF_STEP_UP): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
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_STEP_DOWN): button._BUTTON_SCHEMA.extend({
|
cv.Optional(CONF_POSITION1): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
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_STOP): button._BUTTON_SCHEMA.extend({
|
cv.Optional(CONF_POSITION4): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
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_POSITION1): button._BUTTON_SCHEMA.extend({
|
cv.Optional(CONF_MOVE_DOWN): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
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)
|
|
||||||
}),
|
|
||||||
# Backward compatibility
|
# Backward compatibility
|
||||||
cv.Optional(CONF_RAISE): button._BUTTON_SCHEMA.extend({
|
cv.Optional(CONF_RAISE): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
cv.GenerateID(): cv.declare_id(JiecangDeskButton)
|
cv.Optional(CONF_LOWER): BUTTON_SCHEMA.extend({cv.GenerateID(): cv.declare_id(JiecangDeskButton)}),
|
||||||
}),
|
|
||||||
cv.Optional(CONF_LOWER): button._BUTTON_SCHEMA.extend({
|
|
||||||
cv.GenerateID(): cv.declare_id(JiecangDeskButton)
|
|
||||||
}),
|
|
||||||
}),
|
}),
|
||||||
}).extend(uart.UART_DEVICE_SCHEMA)
|
}).extend(uart.UART_DEVICE_SCHEMA)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user