mirror of
https://github.com/esphome/esphome.git
synced 2024-11-25 08:28:12 +01:00
Housecleaning: Use walrus operator in climate (#6551)
This commit is contained in:
parent
fa1adf7528
commit
77ade12ee9
1 changed files with 118 additions and 100 deletions
|
@ -244,122 +244,150 @@ async def setup_climate_core_(var, config):
|
||||||
await setup_entity(var, config)
|
await setup_entity(var, config)
|
||||||
|
|
||||||
visual = config[CONF_VISUAL]
|
visual = config[CONF_VISUAL]
|
||||||
if CONF_MIN_TEMPERATURE in visual:
|
if (min_temp := visual.get(CONF_MIN_TEMPERATURE)) is not None:
|
||||||
cg.add(var.set_visual_min_temperature_override(visual[CONF_MIN_TEMPERATURE]))
|
cg.add(var.set_visual_min_temperature_override(min_temp))
|
||||||
if CONF_MAX_TEMPERATURE in visual:
|
if (max_temp := visual.get(CONF_MAX_TEMPERATURE)) is not None:
|
||||||
cg.add(var.set_visual_max_temperature_override(visual[CONF_MAX_TEMPERATURE]))
|
cg.add(var.set_visual_max_temperature_override(max_temp))
|
||||||
if CONF_TEMPERATURE_STEP in visual:
|
if (temp_step := visual.get(CONF_TEMPERATURE_STEP)) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
var.set_visual_temperature_step_override(
|
var.set_visual_temperature_step_override(
|
||||||
visual[CONF_TEMPERATURE_STEP][CONF_TARGET_TEMPERATURE],
|
temp_step[CONF_TARGET_TEMPERATURE],
|
||||||
visual[CONF_TEMPERATURE_STEP][CONF_CURRENT_TEMPERATURE],
|
temp_step[CONF_CURRENT_TEMPERATURE],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_MIN_HUMIDITY in visual:
|
if (min_humidity := visual.get(CONF_MIN_HUMIDITY)) is not None:
|
||||||
cg.add(var.set_visual_min_humidity_override(visual[CONF_MIN_HUMIDITY]))
|
cg.add(var.set_visual_min_humidity_override(min_humidity))
|
||||||
if CONF_MAX_HUMIDITY in visual:
|
if (max_humidity := visual.get(CONF_MAX_HUMIDITY)) is not None:
|
||||||
cg.add(var.set_visual_max_humidity_override(visual[CONF_MAX_HUMIDITY]))
|
cg.add(var.set_visual_max_humidity_override(max_humidity))
|
||||||
|
|
||||||
if CONF_MQTT_ID in config:
|
if (mqtt_id := config.get(CONF_MQTT_ID)) is not None:
|
||||||
mqtt_ = cg.new_Pvariable(config[CONF_MQTT_ID], var)
|
mqtt_ = cg.new_Pvariable(mqtt_id, var)
|
||||||
await mqtt.register_mqtt_component(mqtt_, config)
|
await mqtt.register_mqtt_component(mqtt_, config)
|
||||||
|
|
||||||
if CONF_ACTION_STATE_TOPIC in config:
|
if (action_state_topic := config.get(CONF_ACTION_STATE_TOPIC)) is not None:
|
||||||
cg.add(mqtt_.set_custom_action_state_topic(config[CONF_ACTION_STATE_TOPIC]))
|
cg.add(mqtt_.set_custom_action_state_topic(action_state_topic))
|
||||||
if CONF_AWAY_COMMAND_TOPIC in config:
|
if (away_command_topic := config.get(CONF_AWAY_COMMAND_TOPIC)) is not None:
|
||||||
cg.add(mqtt_.set_custom_away_command_topic(config[CONF_AWAY_COMMAND_TOPIC]))
|
cg.add(mqtt_.set_custom_away_command_topic(away_command_topic))
|
||||||
if CONF_AWAY_STATE_TOPIC in config:
|
if (away_state_topic := config.get(CONF_AWAY_STATE_TOPIC)) is not None:
|
||||||
cg.add(mqtt_.set_custom_away_state_topic(config[CONF_AWAY_STATE_TOPIC]))
|
cg.add(mqtt_.set_custom_away_state_topic(away_state_topic))
|
||||||
if CONF_CURRENT_TEMPERATURE_STATE_TOPIC in config:
|
if (
|
||||||
|
current_temperature_state_topic := config.get(
|
||||||
|
CONF_CURRENT_TEMPERATURE_STATE_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_current_temperature_state_topic(
|
mqtt_.set_custom_current_temperature_state_topic(
|
||||||
config[CONF_CURRENT_TEMPERATURE_STATE_TOPIC]
|
current_temperature_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_CURRENT_HUMIDITY_STATE_TOPIC in config:
|
if (
|
||||||
|
current_humidity_state_topic := config.get(
|
||||||
|
CONF_CURRENT_HUMIDITY_STATE_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_current_humidity_state_topic(
|
mqtt_.set_custom_current_humidity_state_topic(
|
||||||
config[CONF_CURRENT_HUMIDITY_STATE_TOPIC]
|
current_humidity_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_FAN_MODE_COMMAND_TOPIC in config:
|
if (
|
||||||
cg.add(
|
fan_mode_command_topic := config.get(CONF_FAN_MODE_COMMAND_TOPIC)
|
||||||
mqtt_.set_custom_fan_mode_command_topic(
|
) is not None:
|
||||||
config[CONF_FAN_MODE_COMMAND_TOPIC]
|
cg.add(mqtt_.set_custom_fan_mode_command_topic(fan_mode_command_topic))
|
||||||
|
if (fan_mode_state_topic := config.get(CONF_FAN_MODE_STATE_TOPIC)) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_fan_mode_state_topic(fan_mode_state_topic))
|
||||||
|
if (mode_command_topic := config.get(CONF_MODE_COMMAND_TOPIC)) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_mode_command_topic(mode_command_topic))
|
||||||
|
if (mode_state_topic := config.get(CONF_MODE_STATE_TOPIC)) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_mode_state_topic(mode_state_topic))
|
||||||
|
if (preset_command_topic := config.get(CONF_PRESET_COMMAND_TOPIC)) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_preset_command_topic(preset_command_topic))
|
||||||
|
if (preset_state_topic := config.get(CONF_PRESET_STATE_TOPIC)) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_preset_state_topic(preset_state_topic))
|
||||||
|
if (
|
||||||
|
swing_mode_command_topic := config.get(CONF_SWING_MODE_COMMAND_TOPIC)
|
||||||
|
) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_swing_mode_command_topic(swing_mode_command_topic))
|
||||||
|
if (
|
||||||
|
swing_mode_state_topic := config.get(CONF_SWING_MODE_STATE_TOPIC)
|
||||||
|
) is not None:
|
||||||
|
cg.add(mqtt_.set_custom_swing_mode_state_topic(swing_mode_state_topic))
|
||||||
|
if (
|
||||||
|
target_temperature_command_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_COMMAND_TOPIC
|
||||||
)
|
)
|
||||||
)
|
) is not None:
|
||||||
if CONF_FAN_MODE_STATE_TOPIC in config:
|
|
||||||
cg.add(
|
|
||||||
mqtt_.set_custom_fan_mode_state_topic(config[CONF_FAN_MODE_STATE_TOPIC])
|
|
||||||
)
|
|
||||||
if CONF_MODE_COMMAND_TOPIC in config:
|
|
||||||
cg.add(mqtt_.set_custom_mode_command_topic(config[CONF_MODE_COMMAND_TOPIC]))
|
|
||||||
if CONF_MODE_STATE_TOPIC in config:
|
|
||||||
cg.add(mqtt_.set_custom_mode_state_topic(config[CONF_MODE_STATE_TOPIC]))
|
|
||||||
if CONF_PRESET_COMMAND_TOPIC in config:
|
|
||||||
cg.add(
|
|
||||||
mqtt_.set_custom_preset_command_topic(config[CONF_PRESET_COMMAND_TOPIC])
|
|
||||||
)
|
|
||||||
if CONF_PRESET_STATE_TOPIC in config:
|
|
||||||
cg.add(mqtt_.set_custom_preset_state_topic(config[CONF_PRESET_STATE_TOPIC]))
|
|
||||||
if CONF_SWING_MODE_COMMAND_TOPIC in config:
|
|
||||||
cg.add(
|
|
||||||
mqtt_.set_custom_swing_mode_command_topic(
|
|
||||||
config[CONF_SWING_MODE_COMMAND_TOPIC]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if CONF_SWING_MODE_STATE_TOPIC in config:
|
|
||||||
cg.add(
|
|
||||||
mqtt_.set_custom_swing_mode_state_topic(
|
|
||||||
config[CONF_SWING_MODE_STATE_TOPIC]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if CONF_TARGET_TEMPERATURE_COMMAND_TOPIC in config:
|
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_command_topic(
|
mqtt_.set_custom_target_temperature_command_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_COMMAND_TOPIC]
|
target_temperature_command_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_TEMPERATURE_STATE_TOPIC in config:
|
if (
|
||||||
|
target_temperature_state_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_STATE_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_state_topic(
|
mqtt_.set_custom_target_temperature_state_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_STATE_TOPIC]
|
target_temperature_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_TEMPERATURE_HIGH_COMMAND_TOPIC in config:
|
if (
|
||||||
|
target_temperature_high_command_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_HIGH_COMMAND_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_high_command_topic(
|
mqtt_.set_custom_target_temperature_high_command_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_HIGH_COMMAND_TOPIC]
|
target_temperature_high_command_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_TEMPERATURE_HIGH_STATE_TOPIC in config:
|
if (
|
||||||
|
target_temperature_high_state_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_HIGH_STATE_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_high_state_topic(
|
mqtt_.set_custom_target_temperature_high_state_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_HIGH_STATE_TOPIC]
|
target_temperature_high_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_TEMPERATURE_LOW_COMMAND_TOPIC in config:
|
if (
|
||||||
|
target_temperature_low_command_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_LOW_COMMAND_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_low_command_topic(
|
mqtt_.set_custom_target_temperature_low_command_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_LOW_COMMAND_TOPIC]
|
target_temperature_low_command_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_TEMPERATURE_LOW_STATE_TOPIC in config:
|
if (
|
||||||
|
target_temperature_low_state_topic := config.get(
|
||||||
|
CONF_TARGET_TEMPERATURE_LOW_STATE_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_temperature_state_topic(
|
mqtt_.set_custom_target_temperature_state_topic(
|
||||||
config[CONF_TARGET_TEMPERATURE_LOW_STATE_TOPIC]
|
target_temperature_low_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_HUMIDITY_COMMAND_TOPIC in config:
|
if (
|
||||||
|
target_humidity_command_topic := config.get(
|
||||||
|
CONF_TARGET_HUMIDITY_COMMAND_TOPIC
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_humidity_command_topic(
|
mqtt_.set_custom_target_humidity_command_topic(
|
||||||
config[CONF_TARGET_HUMIDITY_COMMAND_TOPIC]
|
target_humidity_command_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if CONF_TARGET_HUMIDITY_STATE_TOPIC in config:
|
if (
|
||||||
|
target_humidity_state_topic := config.get(CONF_TARGET_HUMIDITY_STATE_TOPIC)
|
||||||
|
) is not None:
|
||||||
cg.add(
|
cg.add(
|
||||||
mqtt_.set_custom_target_humidity_state_topic(
|
mqtt_.set_custom_target_humidity_state_topic(
|
||||||
config[CONF_TARGET_HUMIDITY_STATE_TOPIC]
|
target_humidity_state_topic
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -411,45 +439,35 @@ CLIMATE_CONTROL_ACTION_SCHEMA = cv.Schema(
|
||||||
async def climate_control_to_code(config, action_id, template_arg, args):
|
async def climate_control_to_code(config, action_id, template_arg, args):
|
||||||
paren = await cg.get_variable(config[CONF_ID])
|
paren = await cg.get_variable(config[CONF_ID])
|
||||||
var = cg.new_Pvariable(action_id, template_arg, paren)
|
var = cg.new_Pvariable(action_id, template_arg, paren)
|
||||||
if CONF_MODE in config:
|
if (mode := config.get(CONF_MODE)) is not None:
|
||||||
template_ = await cg.templatable(config[CONF_MODE], args, ClimateMode)
|
template_ = await cg.templatable(mode, args, ClimateMode)
|
||||||
cg.add(var.set_mode(template_))
|
cg.add(var.set_mode(template_))
|
||||||
if CONF_TARGET_TEMPERATURE in config:
|
if (target_temp := config.get(CONF_TARGET_TEMPERATURE)) is not None:
|
||||||
template_ = await cg.templatable(config[CONF_TARGET_TEMPERATURE], args, float)
|
template_ = await cg.templatable(target_temp, args, float)
|
||||||
cg.add(var.set_target_temperature(template_))
|
cg.add(var.set_target_temperature(template_))
|
||||||
if CONF_TARGET_TEMPERATURE_LOW in config:
|
if (target_temp_low := config.get(CONF_TARGET_TEMPERATURE_LOW)) is not None:
|
||||||
template_ = await cg.templatable(
|
template_ = await cg.templatable(target_temp_low, args, float)
|
||||||
config[CONF_TARGET_TEMPERATURE_LOW], args, float
|
|
||||||
)
|
|
||||||
cg.add(var.set_target_temperature_low(template_))
|
cg.add(var.set_target_temperature_low(template_))
|
||||||
if CONF_TARGET_TEMPERATURE_HIGH in config:
|
if (target_temp_high := config.get(CONF_TARGET_TEMPERATURE_HIGH)) is not None:
|
||||||
template_ = await cg.templatable(
|
template_ = await cg.templatable(target_temp_high, args, float)
|
||||||
config[CONF_TARGET_TEMPERATURE_HIGH], args, float
|
|
||||||
)
|
|
||||||
cg.add(var.set_target_temperature_high(template_))
|
cg.add(var.set_target_temperature_high(template_))
|
||||||
if CONF_TARGET_HUMIDITY in config:
|
if (target_humidity := config.get(CONF_TARGET_HUMIDITY)) is not None:
|
||||||
template_ = await cg.templatable(config[CONF_TARGET_HUMIDITY], args, float)
|
template_ = await cg.templatable(target_humidity, args, float)
|
||||||
cg.add(var.set_target_humidity(template_))
|
cg.add(var.set_target_humidity(template_))
|
||||||
if CONF_FAN_MODE in config:
|
if (fan_mode := config.get(CONF_FAN_MODE)) is not None:
|
||||||
template_ = await cg.templatable(config[CONF_FAN_MODE], args, ClimateFanMode)
|
template_ = await cg.templatable(fan_mode, args, ClimateFanMode)
|
||||||
cg.add(var.set_fan_mode(template_))
|
cg.add(var.set_fan_mode(template_))
|
||||||
if CONF_CUSTOM_FAN_MODE in config:
|
if (custom_fan_mode := config.get(CONF_CUSTOM_FAN_MODE)) is not None:
|
||||||
template_ = await cg.templatable(
|
template_ = await cg.templatable(custom_fan_mode, args, cg.std_string)
|
||||||
config[CONF_CUSTOM_FAN_MODE], args, cg.std_string
|
|
||||||
)
|
|
||||||
cg.add(var.set_custom_fan_mode(template_))
|
cg.add(var.set_custom_fan_mode(template_))
|
||||||
if CONF_PRESET in config:
|
if (preset := config.get(CONF_PRESET)) is not None:
|
||||||
template_ = await cg.templatable(config[CONF_PRESET], args, ClimatePreset)
|
template_ = await cg.templatable(preset, args, ClimatePreset)
|
||||||
cg.add(var.set_preset(template_))
|
cg.add(var.set_preset(template_))
|
||||||
if CONF_CUSTOM_PRESET in config:
|
if (custom_preset := config.get(CONF_CUSTOM_PRESET)) is not None:
|
||||||
template_ = await cg.templatable(
|
template_ = await cg.templatable(custom_preset, args, cg.std_string)
|
||||||
config[CONF_CUSTOM_PRESET], args, cg.std_string
|
|
||||||
)
|
|
||||||
cg.add(var.set_custom_preset(template_))
|
cg.add(var.set_custom_preset(template_))
|
||||||
if CONF_SWING_MODE in config:
|
if (swing_mode := config.get(CONF_SWING_MODE)) is not None:
|
||||||
template_ = await cg.templatable(
|
template_ = await cg.templatable(swing_mode, args, ClimateSwingMode)
|
||||||
config[CONF_SWING_MODE], args, ClimateSwingMode
|
|
||||||
)
|
|
||||||
cg.add(var.set_swing_mode(template_))
|
cg.add(var.set_swing_mode(template_))
|
||||||
return var
|
return var
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue