Housecleaning: Use walrus operator in climate (#6551)

This commit is contained in:
Jesse Hills 2024-04-17 18:58:20 +12:00 committed by GitHub
parent fa1adf7528
commit 77ade12ee9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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
) )
if CONF_FAN_MODE_STATE_TOPIC in config: ) is not None:
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