mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 13:34:54 +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)
|
||||
|
||||
visual = config[CONF_VISUAL]
|
||||
if CONF_MIN_TEMPERATURE in visual:
|
||||
cg.add(var.set_visual_min_temperature_override(visual[CONF_MIN_TEMPERATURE]))
|
||||
if CONF_MAX_TEMPERATURE in visual:
|
||||
cg.add(var.set_visual_max_temperature_override(visual[CONF_MAX_TEMPERATURE]))
|
||||
if CONF_TEMPERATURE_STEP in visual:
|
||||
if (min_temp := visual.get(CONF_MIN_TEMPERATURE)) is not None:
|
||||
cg.add(var.set_visual_min_temperature_override(min_temp))
|
||||
if (max_temp := visual.get(CONF_MAX_TEMPERATURE)) is not None:
|
||||
cg.add(var.set_visual_max_temperature_override(max_temp))
|
||||
if (temp_step := visual.get(CONF_TEMPERATURE_STEP)) is not None:
|
||||
cg.add(
|
||||
var.set_visual_temperature_step_override(
|
||||
visual[CONF_TEMPERATURE_STEP][CONF_TARGET_TEMPERATURE],
|
||||
visual[CONF_TEMPERATURE_STEP][CONF_CURRENT_TEMPERATURE],
|
||||
temp_step[CONF_TARGET_TEMPERATURE],
|
||||
temp_step[CONF_CURRENT_TEMPERATURE],
|
||||
)
|
||||
)
|
||||
if CONF_MIN_HUMIDITY in visual:
|
||||
cg.add(var.set_visual_min_humidity_override(visual[CONF_MIN_HUMIDITY]))
|
||||
if CONF_MAX_HUMIDITY in visual:
|
||||
cg.add(var.set_visual_max_humidity_override(visual[CONF_MAX_HUMIDITY]))
|
||||
if (min_humidity := visual.get(CONF_MIN_HUMIDITY)) is not None:
|
||||
cg.add(var.set_visual_min_humidity_override(min_humidity))
|
||||
if (max_humidity := visual.get(CONF_MAX_HUMIDITY)) is not None:
|
||||
cg.add(var.set_visual_max_humidity_override(max_humidity))
|
||||
|
||||
if CONF_MQTT_ID in config:
|
||||
mqtt_ = cg.new_Pvariable(config[CONF_MQTT_ID], var)
|
||||
if (mqtt_id := config.get(CONF_MQTT_ID)) is not None:
|
||||
mqtt_ = cg.new_Pvariable(mqtt_id, var)
|
||||
await mqtt.register_mqtt_component(mqtt_, config)
|
||||
|
||||
if CONF_ACTION_STATE_TOPIC in config:
|
||||
cg.add(mqtt_.set_custom_action_state_topic(config[CONF_ACTION_STATE_TOPIC]))
|
||||
if CONF_AWAY_COMMAND_TOPIC in config:
|
||||
cg.add(mqtt_.set_custom_away_command_topic(config[CONF_AWAY_COMMAND_TOPIC]))
|
||||
if CONF_AWAY_STATE_TOPIC in config:
|
||||
cg.add(mqtt_.set_custom_away_state_topic(config[CONF_AWAY_STATE_TOPIC]))
|
||||
if CONF_CURRENT_TEMPERATURE_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(action_state_topic))
|
||||
if (away_command_topic := config.get(CONF_AWAY_COMMAND_TOPIC)) is not None:
|
||||
cg.add(mqtt_.set_custom_away_command_topic(away_command_topic))
|
||||
if (away_state_topic := config.get(CONF_AWAY_STATE_TOPIC)) is not None:
|
||||
cg.add(mqtt_.set_custom_away_state_topic(away_state_topic))
|
||||
if (
|
||||
current_temperature_state_topic := config.get(
|
||||
CONF_CURRENT_TEMPERATURE_STATE_TOPIC
|
||||
)
|
||||
) is not None:
|
||||
cg.add(
|
||||
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(
|
||||
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:
|
||||
cg.add(
|
||||
mqtt_.set_custom_fan_mode_command_topic(
|
||||
config[CONF_FAN_MODE_COMMAND_TOPIC]
|
||||
)
|
||||
if (
|
||||
fan_mode_command_topic := config.get(CONF_FAN_MODE_COMMAND_TOPIC)
|
||||
) is not None:
|
||||
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
|
||||
)
|
||||
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:
|
||||
) is not None:
|
||||
cg.add(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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(
|
||||
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):
|
||||
paren = await cg.get_variable(config[CONF_ID])
|
||||
var = cg.new_Pvariable(action_id, template_arg, paren)
|
||||
if CONF_MODE in config:
|
||||
template_ = await cg.templatable(config[CONF_MODE], args, ClimateMode)
|
||||
if (mode := config.get(CONF_MODE)) is not None:
|
||||
template_ = await cg.templatable(mode, args, ClimateMode)
|
||||
cg.add(var.set_mode(template_))
|
||||
if CONF_TARGET_TEMPERATURE in config:
|
||||
template_ = await cg.templatable(config[CONF_TARGET_TEMPERATURE], args, float)
|
||||
if (target_temp := config.get(CONF_TARGET_TEMPERATURE)) is not None:
|
||||
template_ = await cg.templatable(target_temp, args, float)
|
||||
cg.add(var.set_target_temperature(template_))
|
||||
if CONF_TARGET_TEMPERATURE_LOW in config:
|
||||
template_ = await cg.templatable(
|
||||
config[CONF_TARGET_TEMPERATURE_LOW], args, float
|
||||
)
|
||||
if (target_temp_low := config.get(CONF_TARGET_TEMPERATURE_LOW)) is not None:
|
||||
template_ = await cg.templatable(target_temp_low, args, float)
|
||||
cg.add(var.set_target_temperature_low(template_))
|
||||
if CONF_TARGET_TEMPERATURE_HIGH in config:
|
||||
template_ = await cg.templatable(
|
||||
config[CONF_TARGET_TEMPERATURE_HIGH], args, float
|
||||
)
|
||||
if (target_temp_high := config.get(CONF_TARGET_TEMPERATURE_HIGH)) is not None:
|
||||
template_ = await cg.templatable(target_temp_high, args, float)
|
||||
cg.add(var.set_target_temperature_high(template_))
|
||||
if CONF_TARGET_HUMIDITY in config:
|
||||
template_ = await cg.templatable(config[CONF_TARGET_HUMIDITY], args, float)
|
||||
if (target_humidity := config.get(CONF_TARGET_HUMIDITY)) is not None:
|
||||
template_ = await cg.templatable(target_humidity, args, float)
|
||||
cg.add(var.set_target_humidity(template_))
|
||||
if CONF_FAN_MODE in config:
|
||||
template_ = await cg.templatable(config[CONF_FAN_MODE], args, ClimateFanMode)
|
||||
if (fan_mode := config.get(CONF_FAN_MODE)) is not None:
|
||||
template_ = await cg.templatable(fan_mode, args, ClimateFanMode)
|
||||
cg.add(var.set_fan_mode(template_))
|
||||
if CONF_CUSTOM_FAN_MODE in config:
|
||||
template_ = await cg.templatable(
|
||||
config[CONF_CUSTOM_FAN_MODE], args, cg.std_string
|
||||
)
|
||||
if (custom_fan_mode := config.get(CONF_CUSTOM_FAN_MODE)) is not None:
|
||||
template_ = await cg.templatable(custom_fan_mode, args, cg.std_string)
|
||||
cg.add(var.set_custom_fan_mode(template_))
|
||||
if CONF_PRESET in config:
|
||||
template_ = await cg.templatable(config[CONF_PRESET], args, ClimatePreset)
|
||||
if (preset := config.get(CONF_PRESET)) is not None:
|
||||
template_ = await cg.templatable(preset, args, ClimatePreset)
|
||||
cg.add(var.set_preset(template_))
|
||||
if CONF_CUSTOM_PRESET in config:
|
||||
template_ = await cg.templatable(
|
||||
config[CONF_CUSTOM_PRESET], args, cg.std_string
|
||||
)
|
||||
if (custom_preset := config.get(CONF_CUSTOM_PRESET)) is not None:
|
||||
template_ = await cg.templatable(custom_preset, args, cg.std_string)
|
||||
cg.add(var.set_custom_preset(template_))
|
||||
if CONF_SWING_MODE in config:
|
||||
template_ = await cg.templatable(
|
||||
config[CONF_SWING_MODE], args, ClimateSwingMode
|
||||
)
|
||||
if (swing_mode := config.get(CONF_SWING_MODE)) is not None:
|
||||
template_ = await cg.templatable(swing_mode, args, ClimateSwingMode)
|
||||
cg.add(var.set_swing_mode(template_))
|
||||
return var
|
||||
|
||||
|
|
Loading…
Reference in a new issue