mirror of
https://github.com/esphome/esphome.git
synced 2026-09-20 19:48:39 +00:00
[multiple] Fix raw value codegen for TEMPLATABLE_VALUE setters
- max7219digit: wrap bool state via cg.templatable - number: wrap operation enum and cycle bool in deprecated CONF_MODE path - select: wrap operation enum and cycle bool in deprecated CONF_MODE path - datetime: wrap ESPTime struct initializers via cg.templatable - display: wrap DisplayPage* pointer via cg.templatable - speaker/media_player: wrap AudioFile* pointer via cg.templatable
This commit is contained in:
@@ -204,7 +204,8 @@ async def datetime_date_set_to_code(config, action_id, template_arg, args):
|
||||
("month", date_config[CONF_MONTH]),
|
||||
("year", date_config[CONF_YEAR]),
|
||||
)
|
||||
cg.add(action_var.set_date(date_struct))
|
||||
template_ = await cg.templatable(date_struct, args, cg.ESPTime)
|
||||
cg.add(action_var.set_date(template_))
|
||||
return action_var
|
||||
|
||||
|
||||
@@ -236,7 +237,8 @@ async def datetime_time_set_to_code(config, action_id, template_arg, args):
|
||||
("minute", time_config[CONF_MINUTE]),
|
||||
("hour", time_config[CONF_HOUR]),
|
||||
)
|
||||
cg.add(action_var.set_time(time_struct))
|
||||
template_ = await cg.templatable(time_struct, args, cg.ESPTime)
|
||||
cg.add(action_var.set_time(template_))
|
||||
return action_var
|
||||
|
||||
|
||||
@@ -271,5 +273,6 @@ async def datetime_datetime_set_to_code(config, action_id, template_arg, args):
|
||||
("month", datetime_config[CONF_MONTH]),
|
||||
("year", datetime_config[CONF_YEAR]),
|
||||
)
|
||||
cg.add(action_var.set_datetime(datetime_struct))
|
||||
template_ = await cg.templatable(datetime_struct, args, cg.ESPTime)
|
||||
cg.add(action_var.set_datetime(template_))
|
||||
return action_var
|
||||
|
||||
@@ -207,7 +207,8 @@ async def display_page_show_to_code(config, action_id, template_arg, args):
|
||||
cg.add(var.set_page(template_))
|
||||
else:
|
||||
paren = await cg.get_variable(config[CONF_ID])
|
||||
cg.add(var.set_page(paren))
|
||||
template_ = await cg.templatable(paren, args, DisplayPagePtr)
|
||||
cg.add(var.set_page(template_))
|
||||
return var
|
||||
|
||||
|
||||
|
||||
@@ -147,7 +147,8 @@ MAX7219_ON_ACTION_SCHEMA = automation.maybe_simple_id(
|
||||
async def max7219digit_invert_to_code(config, action_id, template_arg, args):
|
||||
var = cg.new_Pvariable(action_id, template_arg)
|
||||
await cg.register_parented(var, config[CONF_ID])
|
||||
cg.add(var.set_state(config[CONF_STATE]))
|
||||
template_ = await cg.templatable(config[CONF_STATE], args, cg.bool_)
|
||||
cg.add(var.set_state(template_))
|
||||
return var
|
||||
|
||||
|
||||
@@ -166,7 +167,8 @@ async def max7219digit_invert_to_code(config, action_id, template_arg, args):
|
||||
async def max7219digit_visible_to_code(config, action_id, template_arg, args):
|
||||
var = cg.new_Pvariable(action_id, template_arg)
|
||||
await cg.register_parented(var, config[CONF_ID])
|
||||
cg.add(var.set_state(config[CONF_STATE]))
|
||||
template_ = await cg.templatable(config[CONF_STATE], args, cg.bool_)
|
||||
cg.add(var.set_state(template_))
|
||||
return var
|
||||
|
||||
|
||||
@@ -185,7 +187,8 @@ async def max7219digit_visible_to_code(config, action_id, template_arg, args):
|
||||
async def max7219digit_reverse_to_code(config, action_id, template_arg, args):
|
||||
var = cg.new_Pvariable(action_id, template_arg)
|
||||
await cg.register_parented(var, config[CONF_ID])
|
||||
cg.add(var.set_state(config[CONF_STATE]))
|
||||
template_ = await cg.templatable(config[CONF_STATE], args, cg.bool_)
|
||||
cg.add(var.set_state(template_))
|
||||
return var
|
||||
|
||||
|
||||
|
||||
@@ -448,7 +448,11 @@ async def number_to_to_code(config, action_id, template_arg, args):
|
||||
template_ = await cg.templatable(cycle, args, bool)
|
||||
cg.add(var.set_cycle(template_))
|
||||
if (mode := config.get(CONF_MODE)) is not None:
|
||||
cg.add(var.set_operation(NUMBER_OPERATION_OPTIONS[mode]))
|
||||
template_ = await cg.templatable(
|
||||
NUMBER_OPERATION_OPTIONS[mode], args, NumberOperation
|
||||
)
|
||||
cg.add(var.set_operation(template_))
|
||||
if (cycle := config.get(CONF_CYCLE)) is not None:
|
||||
cg.add(var.set_cycle(cycle))
|
||||
template_ = await cg.templatable(cycle, args, cg.bool_)
|
||||
cg.add(var.set_cycle(template_))
|
||||
return var
|
||||
|
||||
@@ -282,7 +282,11 @@ async def select_operation_to_code(config, action_id, template_arg, args):
|
||||
template_ = await cg.templatable(cycle, args, bool)
|
||||
cg.add(var.set_cycle(template_))
|
||||
if (mode := config.get(CONF_MODE)) is not None:
|
||||
cg.add(var.set_operation(SELECT_OPERATION_OPTIONS[mode]))
|
||||
template_ = await cg.templatable(
|
||||
SELECT_OPERATION_OPTIONS[mode], args, SelectOperation
|
||||
)
|
||||
cg.add(var.set_operation(template_))
|
||||
if (cycle := config.get(CONF_CYCLE)) is not None:
|
||||
cg.add(var.set_cycle(cycle))
|
||||
template_ = await cg.templatable(cycle, args, cg.bool_)
|
||||
cg.add(var.set_cycle(template_))
|
||||
return var
|
||||
|
||||
@@ -516,7 +516,8 @@ async def play_on_device_media_media_action(config, action_id, template_arg, arg
|
||||
announcement = await cg.templatable(config[CONF_ANNOUNCEMENT], args, cg.bool_)
|
||||
enqueue = await cg.templatable(config[CONF_ENQUEUE], args, cg.bool_)
|
||||
|
||||
cg.add(var.set_audio_file(media_file))
|
||||
template_ = await cg.templatable(media_file, args, audio.AudioFile.operator("ptr"))
|
||||
cg.add(var.set_audio_file(template_))
|
||||
cg.add(var.set_announcement(announcement))
|
||||
cg.add(var.set_enqueue(enqueue))
|
||||
return var
|
||||
|
||||
Reference in New Issue
Block a user