mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Use dict[key] for required config keys and keys with default values. (#22831)
This commit is contained in:
parent
83fb3637d9
commit
842534d472
@ -66,11 +66,11 @@ CONF_PAYLOAD_OFF = 'payload_off'
|
|||||||
CONF_FAN_MODE_LIST = 'fan_modes'
|
CONF_FAN_MODE_LIST = 'fan_modes'
|
||||||
CONF_MODE_LIST = 'modes'
|
CONF_MODE_LIST = 'modes'
|
||||||
CONF_SWING_MODE_LIST = 'swing_modes'
|
CONF_SWING_MODE_LIST = 'swing_modes'
|
||||||
CONF_INITIAL = 'initial'
|
|
||||||
CONF_SEND_IF_OFF = 'send_if_off'
|
CONF_SEND_IF_OFF = 'send_if_off'
|
||||||
|
|
||||||
CONF_MIN_TEMP = 'min_temp'
|
CONF_TEMP_INITIAL = 'initial'
|
||||||
CONF_MAX_TEMP = 'max_temp'
|
CONF_TEMP_MIN = 'min_temp'
|
||||||
|
CONF_TEMP_MAX = 'max_temp'
|
||||||
CONF_TEMP_STEP = 'temp_step'
|
CONF_TEMP_STEP = 'temp_step'
|
||||||
|
|
||||||
TEMPLATE_KEYS = (
|
TEMPLATE_KEYS = (
|
||||||
@ -87,57 +87,53 @@ TEMPLATE_KEYS = (
|
|||||||
|
|
||||||
SCHEMA_BASE = CLIMATE_PLATFORM_SCHEMA.extend(MQTT_BASE_PLATFORM_SCHEMA.schema)
|
SCHEMA_BASE = CLIMATE_PLATFORM_SCHEMA.extend(MQTT_BASE_PLATFORM_SCHEMA.schema)
|
||||||
PLATFORM_SCHEMA = SCHEMA_BASE.extend({
|
PLATFORM_SCHEMA = SCHEMA_BASE.extend({
|
||||||
vol.Optional(CONF_RETAIN, default=mqtt.DEFAULT_RETAIN): cv.boolean,
|
|
||||||
vol.Optional(CONF_POWER_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_TEMPERATURE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_FAN_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_SWING_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_AWAY_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_HOLD_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
|
||||||
vol.Optional(CONF_AUX_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
vol.Optional(CONF_AUX_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
|
|
||||||
vol.Optional(CONF_POWER_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_TEMPERATURE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_FAN_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_SWING_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_AWAY_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_HOLD_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
vol.Optional(CONF_AUX_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
|
||||||
|
|
||||||
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_POWER_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_MODE_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_TEMPERATURE_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_FAN_MODE_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_SWING_MODE_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_AWAY_MODE_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_HOLD_STATE_TEMPLATE): cv.template,
|
|
||||||
vol.Optional(CONF_AUX_STATE_TEMPLATE): cv.template,
|
vol.Optional(CONF_AUX_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_AUX_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_AWAY_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
|
vol.Optional(CONF_AWAY_MODE_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_AWAY_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
vol.Optional(CONF_CURRENT_TEMPERATURE_TEMPLATE): cv.template,
|
vol.Optional(CONF_CURRENT_TEMPERATURE_TEMPLATE): cv.template,
|
||||||
|
|
||||||
vol.Optional(CONF_CURRENT_TEMPERATURE_TOPIC):
|
vol.Optional(CONF_CURRENT_TEMPERATURE_TOPIC):
|
||||||
mqtt.valid_subscribe_topic,
|
mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_DEVICE): mqtt.MQTT_ENTITY_DEVICE_INFO_SCHEMA,
|
||||||
|
vol.Optional(CONF_FAN_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
vol.Optional(CONF_FAN_MODE_LIST,
|
vol.Optional(CONF_FAN_MODE_LIST,
|
||||||
default=[STATE_AUTO, SPEED_LOW,
|
default=[STATE_AUTO, SPEED_LOW,
|
||||||
SPEED_MEDIUM, SPEED_HIGH]): cv.ensure_list,
|
SPEED_MEDIUM, SPEED_HIGH]): cv.ensure_list,
|
||||||
vol.Optional(CONF_SWING_MODE_LIST,
|
vol.Optional(CONF_FAN_MODE_STATE_TEMPLATE): cv.template,
|
||||||
default=[STATE_ON, STATE_OFF]): cv.ensure_list,
|
vol.Optional(CONF_FAN_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_HOLD_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
|
vol.Optional(CONF_HOLD_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_HOLD_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
vol.Optional(CONF_MODE_LIST,
|
vol.Optional(CONF_MODE_LIST,
|
||||||
default=[STATE_AUTO, STATE_OFF, STATE_COOL, STATE_HEAT,
|
default=[STATE_AUTO, STATE_OFF, STATE_COOL, STATE_HEAT,
|
||||||
STATE_DRY, STATE_FAN_ONLY]): cv.ensure_list,
|
STATE_DRY, STATE_FAN_ONLY]): cv.ensure_list,
|
||||||
|
vol.Optional(CONF_MODE_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||||
vol.Optional(CONF_INITIAL, default=21): cv.positive_int,
|
|
||||||
vol.Optional(CONF_SEND_IF_OFF, default=True): cv.boolean,
|
|
||||||
vol.Optional(CONF_PAYLOAD_ON, default="ON"): cv.string,
|
vol.Optional(CONF_PAYLOAD_ON, default="ON"): cv.string,
|
||||||
vol.Optional(CONF_PAYLOAD_OFF, default="OFF"): cv.string,
|
vol.Optional(CONF_PAYLOAD_OFF, default="OFF"): cv.string,
|
||||||
|
vol.Optional(CONF_POWER_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
vol.Optional(CONF_MIN_TEMP, default=DEFAULT_MIN_TEMP): vol.Coerce(float),
|
vol.Optional(CONF_POWER_STATE_TEMPLATE): cv.template,
|
||||||
vol.Optional(CONF_MAX_TEMP, default=DEFAULT_MAX_TEMP): vol.Coerce(float),
|
vol.Optional(CONF_POWER_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_RETAIN, default=mqtt.DEFAULT_RETAIN): cv.boolean,
|
||||||
|
vol.Optional(CONF_SEND_IF_OFF, default=True): cv.boolean,
|
||||||
|
vol.Optional(CONF_SWING_MODE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
|
vol.Optional(CONF_SWING_MODE_LIST,
|
||||||
|
default=[STATE_ON, STATE_OFF]): cv.ensure_list,
|
||||||
|
vol.Optional(CONF_SWING_MODE_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_SWING_MODE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
|
vol.Optional(CONF_TEMP_INITIAL, default=21): cv.positive_int,
|
||||||
|
vol.Optional(CONF_TEMP_MIN, default=DEFAULT_MIN_TEMP): vol.Coerce(float),
|
||||||
|
vol.Optional(CONF_TEMP_MAX, default=DEFAULT_MAX_TEMP): vol.Coerce(float),
|
||||||
vol.Optional(CONF_TEMP_STEP, default=1.0): vol.Coerce(float),
|
vol.Optional(CONF_TEMP_STEP, default=1.0): vol.Coerce(float),
|
||||||
|
vol.Optional(CONF_TEMPERATURE_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
|
vol.Optional(CONF_TEMPERATURE_STATE_TEMPLATE): cv.template,
|
||||||
|
vol.Optional(CONF_TEMPERATURE_STATE_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
vol.Optional(CONF_UNIQUE_ID): cv.string,
|
vol.Optional(CONF_UNIQUE_ID): cv.string,
|
||||||
vol.Optional(CONF_DEVICE): mqtt.MQTT_ENTITY_DEVICE_INFO_SCHEMA,
|
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
||||||
}).extend(mqtt.MQTT_AVAILABILITY_SCHEMA.schema).extend(
|
}).extend(mqtt.MQTT_AVAILABILITY_SCHEMA.schema).extend(
|
||||||
mqtt.MQTT_JSON_ATTRS_SCHEMA.schema)
|
mqtt.MQTT_JSON_ATTRS_SCHEMA.schema)
|
||||||
|
|
||||||
@ -255,7 +251,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
self._target_temperature = self._current_fan_mode = \
|
self._target_temperature = self._current_fan_mode = \
|
||||||
self._current_operation = self._current_swing_mode = None
|
self._current_operation = self._current_swing_mode = None
|
||||||
if self._topic[CONF_TEMPERATURE_STATE_TOPIC] is None:
|
if self._topic[CONF_TEMPERATURE_STATE_TOPIC] is None:
|
||||||
self._target_temperature = config.get(CONF_INITIAL)
|
self._target_temperature = config[CONF_TEMP_INITIAL]
|
||||||
if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
|
||||||
self._current_fan_mode = SPEED_LOW
|
self._current_fan_mode = SPEED_LOW
|
||||||
if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
|
||||||
@ -279,7 +275,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
async def _subscribe_topics(self):
|
async def _subscribe_topics(self):
|
||||||
"""(Re)Subscribe to topics."""
|
"""(Re)Subscribe to topics."""
|
||||||
topics = {}
|
topics = {}
|
||||||
qos = self._config.get(CONF_QOS)
|
qos = self._config[CONF_QOS]
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def handle_current_temp_received(msg):
|
def handle_current_temp_received(msg):
|
||||||
@ -310,7 +306,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
payload = self._value_templates[CONF_MODE_STATE_TEMPLATE].\
|
payload = self._value_templates[CONF_MODE_STATE_TEMPLATE].\
|
||||||
async_render_with_possible_json_value(payload)
|
async_render_with_possible_json_value(payload)
|
||||||
|
|
||||||
if payload not in self._config.get(CONF_MODE_LIST):
|
if payload not in self._config[CONF_MODE_LIST]:
|
||||||
_LOGGER.error("Invalid mode: %s", payload)
|
_LOGGER.error("Invalid mode: %s", payload)
|
||||||
else:
|
else:
|
||||||
self._current_operation = payload
|
self._current_operation = payload
|
||||||
@ -352,7 +348,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
self._value_templates[CONF_FAN_MODE_STATE_TEMPLATE].\
|
self._value_templates[CONF_FAN_MODE_STATE_TEMPLATE].\
|
||||||
async_render_with_possible_json_value(payload)
|
async_render_with_possible_json_value(payload)
|
||||||
|
|
||||||
if payload not in self._config.get(CONF_FAN_MODE_LIST):
|
if payload not in self._config[CONF_FAN_MODE_LIST]:
|
||||||
_LOGGER.error("Invalid fan mode: %s", payload)
|
_LOGGER.error("Invalid fan mode: %s", payload)
|
||||||
else:
|
else:
|
||||||
self._current_fan_mode = payload
|
self._current_fan_mode = payload
|
||||||
@ -373,7 +369,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
self._value_templates[CONF_SWING_MODE_STATE_TEMPLATE].\
|
self._value_templates[CONF_SWING_MODE_STATE_TEMPLATE].\
|
||||||
async_render_with_possible_json_value(payload)
|
async_render_with_possible_json_value(payload)
|
||||||
|
|
||||||
if payload not in self._config.get(CONF_SWING_MODE_LIST):
|
if payload not in self._config[CONF_SWING_MODE_LIST]:
|
||||||
_LOGGER.error("Invalid swing mode: %s", payload)
|
_LOGGER.error("Invalid swing mode: %s", payload)
|
||||||
else:
|
else:
|
||||||
self._current_swing_mode = payload
|
self._current_swing_mode = payload
|
||||||
@ -389,8 +385,8 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
def handle_away_mode_received(msg):
|
def handle_away_mode_received(msg):
|
||||||
"""Handle receiving away mode via MQTT."""
|
"""Handle receiving away mode via MQTT."""
|
||||||
payload = msg.payload
|
payload = msg.payload
|
||||||
payload_on = self._config.get(CONF_PAYLOAD_ON)
|
payload_on = self._config[CONF_PAYLOAD_ON]
|
||||||
payload_off = self._config.get(CONF_PAYLOAD_OFF)
|
payload_off = self._config[CONF_PAYLOAD_OFF]
|
||||||
if CONF_AWAY_MODE_STATE_TEMPLATE in self._value_templates:
|
if CONF_AWAY_MODE_STATE_TEMPLATE in self._value_templates:
|
||||||
payload = \
|
payload = \
|
||||||
self._value_templates[CONF_AWAY_MODE_STATE_TEMPLATE].\
|
self._value_templates[CONF_AWAY_MODE_STATE_TEMPLATE].\
|
||||||
@ -419,8 +415,8 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
def handle_aux_mode_received(msg):
|
def handle_aux_mode_received(msg):
|
||||||
"""Handle receiving aux mode via MQTT."""
|
"""Handle receiving aux mode via MQTT."""
|
||||||
payload = msg.payload
|
payload = msg.payload
|
||||||
payload_on = self._config.get(CONF_PAYLOAD_ON)
|
payload_on = self._config[CONF_PAYLOAD_ON]
|
||||||
payload_off = self._config.get(CONF_PAYLOAD_OFF)
|
payload_off = self._config[CONF_PAYLOAD_OFF]
|
||||||
if CONF_AUX_STATE_TEMPLATE in self._value_templates:
|
if CONF_AUX_STATE_TEMPLATE in self._value_templates:
|
||||||
payload = self._value_templates[CONF_AUX_STATE_TEMPLATE].\
|
payload = self._value_templates[CONF_AUX_STATE_TEMPLATE].\
|
||||||
async_render_with_possible_json_value(payload)
|
async_render_with_possible_json_value(payload)
|
||||||
@ -480,7 +476,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
"""Return the name of the climate device."""
|
"""Return the name of the climate device."""
|
||||||
return self._config.get(CONF_NAME)
|
return self._config[CONF_NAME]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def unique_id(self):
|
def unique_id(self):
|
||||||
@ -510,12 +506,12 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
@property
|
@property
|
||||||
def operation_list(self):
|
def operation_list(self):
|
||||||
"""Return the list of available operation modes."""
|
"""Return the list of available operation modes."""
|
||||||
return self._config.get(CONF_MODE_LIST)
|
return self._config[CONF_MODE_LIST]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def target_temperature_step(self):
|
def target_temperature_step(self):
|
||||||
"""Return the supported step of target temperature."""
|
"""Return the supported step of target temperature."""
|
||||||
return self._config.get(CONF_TEMP_STEP)
|
return self._config[CONF_TEMP_STEP]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_away_mode_on(self):
|
def is_away_mode_on(self):
|
||||||
@ -540,7 +536,7 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
@property
|
@property
|
||||||
def fan_list(self):
|
def fan_list(self):
|
||||||
"""Return the list of available fan modes."""
|
"""Return the list of available fan modes."""
|
||||||
return self._config.get(CONF_FAN_MODE_LIST)
|
return self._config[CONF_FAN_MODE_LIST]
|
||||||
|
|
||||||
async def async_set_temperature(self, **kwargs):
|
async def async_set_temperature(self, **kwargs):
|
||||||
"""Set new target temperatures."""
|
"""Set new target temperatures."""
|
||||||
@ -553,24 +549,24 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
# optimistic mode
|
# optimistic mode
|
||||||
self._target_temperature = kwargs.get(ATTR_TEMPERATURE)
|
self._target_temperature = kwargs.get(ATTR_TEMPERATURE)
|
||||||
|
|
||||||
if (self._config.get(CONF_SEND_IF_OFF) or
|
if (self._config[CONF_SEND_IF_OFF] or
|
||||||
self._current_operation != STATE_OFF):
|
self._current_operation != STATE_OFF):
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
self.hass, self._topic[CONF_TEMPERATURE_COMMAND_TOPIC],
|
self.hass, self._topic[CONF_TEMPERATURE_COMMAND_TOPIC],
|
||||||
kwargs.get(ATTR_TEMPERATURE), self._config.get(CONF_QOS),
|
kwargs.get(ATTR_TEMPERATURE), self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
# Always optimistic?
|
# Always optimistic?
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
async def async_set_swing_mode(self, swing_mode):
|
async def async_set_swing_mode(self, swing_mode):
|
||||||
"""Set new swing mode."""
|
"""Set new swing mode."""
|
||||||
if (self._config.get(CONF_SEND_IF_OFF) or
|
if (self._config[CONF_SEND_IF_OFF] or
|
||||||
self._current_operation != STATE_OFF):
|
self._current_operation != STATE_OFF):
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
self.hass, self._topic[CONF_SWING_MODE_COMMAND_TOPIC],
|
self.hass, self._topic[CONF_SWING_MODE_COMMAND_TOPIC],
|
||||||
swing_mode, self._config.get(CONF_QOS),
|
swing_mode, self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_SWING_MODE_STATE_TOPIC] is None:
|
||||||
self._current_swing_mode = swing_mode
|
self._current_swing_mode = swing_mode
|
||||||
@ -578,12 +574,12 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
|
|
||||||
async def async_set_fan_mode(self, fan_mode):
|
async def async_set_fan_mode(self, fan_mode):
|
||||||
"""Set new target temperature."""
|
"""Set new target temperature."""
|
||||||
if (self._config.get(CONF_SEND_IF_OFF) or
|
if (self._config[CONF_SEND_IF_OFF] or
|
||||||
self._current_operation != STATE_OFF):
|
self._current_operation != STATE_OFF):
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
self.hass, self._topic[CONF_FAN_MODE_COMMAND_TOPIC],
|
self.hass, self._topic[CONF_FAN_MODE_COMMAND_TOPIC],
|
||||||
fan_mode, self._config.get(CONF_QOS),
|
fan_mode, self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_FAN_MODE_STATE_TOPIC] is None:
|
||||||
self._current_fan_mode = fan_mode
|
self._current_fan_mode = fan_mode
|
||||||
@ -591,19 +587,19 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
|
|
||||||
async def async_set_operation_mode(self, operation_mode) -> None:
|
async def async_set_operation_mode(self, operation_mode) -> None:
|
||||||
"""Set new operation mode."""
|
"""Set new operation mode."""
|
||||||
qos = self._config.get(CONF_QOS)
|
qos = self._config[CONF_QOS]
|
||||||
retain = self._config.get(CONF_RETAIN)
|
retain = self._config[CONF_RETAIN]
|
||||||
if self._topic[CONF_POWER_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_POWER_COMMAND_TOPIC] is not None:
|
||||||
if (self._current_operation == STATE_OFF and
|
if (self._current_operation == STATE_OFF and
|
||||||
operation_mode != STATE_OFF):
|
operation_mode != STATE_OFF):
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
self.hass, self._topic[CONF_POWER_COMMAND_TOPIC],
|
self.hass, self._topic[CONF_POWER_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_ON), qos, retain)
|
self._config[CONF_PAYLOAD_ON], qos, retain)
|
||||||
elif (self._current_operation != STATE_OFF and
|
elif (self._current_operation != STATE_OFF and
|
||||||
operation_mode == STATE_OFF):
|
operation_mode == STATE_OFF):
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
self.hass, self._topic[CONF_POWER_COMMAND_TOPIC],
|
self.hass, self._topic[CONF_POWER_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_OFF), qos, retain)
|
self._config[CONF_PAYLOAD_OFF], qos, retain)
|
||||||
|
|
||||||
if self._topic[CONF_MODE_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_MODE_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(
|
mqtt.async_publish(
|
||||||
@ -622,16 +618,16 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
@property
|
@property
|
||||||
def swing_list(self):
|
def swing_list(self):
|
||||||
"""List of available swing modes."""
|
"""List of available swing modes."""
|
||||||
return self._config.get(CONF_SWING_MODE_LIST)
|
return self._config[CONF_SWING_MODE_LIST]
|
||||||
|
|
||||||
async def async_turn_away_mode_on(self):
|
async def async_turn_away_mode_on(self):
|
||||||
"""Turn away mode on."""
|
"""Turn away mode on."""
|
||||||
if self._topic[CONF_AWAY_MODE_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_AWAY_MODE_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(self.hass,
|
mqtt.async_publish(self.hass,
|
||||||
self._topic[CONF_AWAY_MODE_COMMAND_TOPIC],
|
self._topic[CONF_AWAY_MODE_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_ON),
|
self._config[CONF_PAYLOAD_ON],
|
||||||
self._config.get(CONF_QOS),
|
self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_AWAY_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_AWAY_MODE_STATE_TOPIC] is None:
|
||||||
self._away = True
|
self._away = True
|
||||||
@ -642,9 +638,9 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
if self._topic[CONF_AWAY_MODE_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_AWAY_MODE_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(self.hass,
|
mqtt.async_publish(self.hass,
|
||||||
self._topic[CONF_AWAY_MODE_COMMAND_TOPIC],
|
self._topic[CONF_AWAY_MODE_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_OFF),
|
self._config[CONF_PAYLOAD_OFF],
|
||||||
self._config.get(CONF_QOS),
|
self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_AWAY_MODE_STATE_TOPIC] is None:
|
if self._topic[CONF_AWAY_MODE_STATE_TOPIC] is None:
|
||||||
self._away = False
|
self._away = False
|
||||||
@ -655,8 +651,8 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
if self._topic[CONF_HOLD_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_HOLD_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(self.hass,
|
mqtt.async_publish(self.hass,
|
||||||
self._topic[CONF_HOLD_COMMAND_TOPIC],
|
self._topic[CONF_HOLD_COMMAND_TOPIC],
|
||||||
hold_mode, self._config.get(CONF_QOS),
|
hold_mode, self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_HOLD_STATE_TOPIC] is None:
|
if self._topic[CONF_HOLD_STATE_TOPIC] is None:
|
||||||
self._hold = hold_mode
|
self._hold = hold_mode
|
||||||
@ -666,9 +662,9 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
"""Turn auxiliary heater on."""
|
"""Turn auxiliary heater on."""
|
||||||
if self._topic[CONF_AUX_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_AUX_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(self.hass, self._topic[CONF_AUX_COMMAND_TOPIC],
|
mqtt.async_publish(self.hass, self._topic[CONF_AUX_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_ON),
|
self._config[CONF_PAYLOAD_ON],
|
||||||
self._config.get(CONF_QOS),
|
self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_AUX_STATE_TOPIC] is None:
|
if self._topic[CONF_AUX_STATE_TOPIC] is None:
|
||||||
self._aux = True
|
self._aux = True
|
||||||
@ -678,9 +674,9 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
"""Turn auxiliary heater off."""
|
"""Turn auxiliary heater off."""
|
||||||
if self._topic[CONF_AUX_COMMAND_TOPIC] is not None:
|
if self._topic[CONF_AUX_COMMAND_TOPIC] is not None:
|
||||||
mqtt.async_publish(self.hass, self._topic[CONF_AUX_COMMAND_TOPIC],
|
mqtt.async_publish(self.hass, self._topic[CONF_AUX_COMMAND_TOPIC],
|
||||||
self._config.get(CONF_PAYLOAD_OFF),
|
self._config[CONF_PAYLOAD_OFF],
|
||||||
self._config.get(CONF_QOS),
|
self._config[CONF_QOS],
|
||||||
self._config.get(CONF_RETAIN))
|
self._config[CONF_RETAIN])
|
||||||
|
|
||||||
if self._topic[CONF_AUX_STATE_TOPIC] is None:
|
if self._topic[CONF_AUX_STATE_TOPIC] is None:
|
||||||
self._aux = False
|
self._aux = False
|
||||||
@ -724,9 +720,9 @@ class MqttClimate(MqttAttributes, MqttAvailability, MqttDiscoveryUpdate,
|
|||||||
@property
|
@property
|
||||||
def min_temp(self):
|
def min_temp(self):
|
||||||
"""Return the minimum temperature."""
|
"""Return the minimum temperature."""
|
||||||
return self._config.get(CONF_MIN_TEMP)
|
return self._config[CONF_TEMP_MIN]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def max_temp(self):
|
def max_temp(self):
|
||||||
"""Return the maximum temperature."""
|
"""Return the maximum temperature."""
|
||||||
return self._config.get(CONF_MAX_TEMP)
|
return self._config[CONF_TEMP_MAX]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user