mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Always send hvac_mode deprecate send_if_off (#63814)
This commit is contained in:
parent
aa73e5bd72
commit
65deaa1daf
@ -101,6 +101,7 @@ CONF_POWER_COMMAND_TOPIC = "power_command_topic"
|
|||||||
CONF_POWER_STATE_TEMPLATE = "power_state_template"
|
CONF_POWER_STATE_TEMPLATE = "power_state_template"
|
||||||
CONF_POWER_STATE_TOPIC = "power_state_topic"
|
CONF_POWER_STATE_TOPIC = "power_state_topic"
|
||||||
CONF_PRECISION = "precision"
|
CONF_PRECISION = "precision"
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
CONF_SEND_IF_OFF = "send_if_off"
|
CONF_SEND_IF_OFF = "send_if_off"
|
||||||
CONF_SWING_MODE_COMMAND_TEMPLATE = "swing_mode_command_template"
|
CONF_SWING_MODE_COMMAND_TEMPLATE = "swing_mode_command_template"
|
||||||
CONF_SWING_MODE_COMMAND_TOPIC = "swing_mode_command_topic"
|
CONF_SWING_MODE_COMMAND_TOPIC = "swing_mode_command_topic"
|
||||||
@ -200,7 +201,7 @@ TOPIC_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_BASE = SCHEMA_BASE.extend(
|
||||||
{
|
{
|
||||||
vol.Optional(CONF_AUX_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
vol.Optional(CONF_AUX_COMMAND_TOPIC): mqtt.valid_publish_topic,
|
||||||
vol.Optional(CONF_AUX_STATE_TEMPLATE): cv.template,
|
vol.Optional(CONF_AUX_STATE_TEMPLATE): cv.template,
|
||||||
@ -248,6 +249,7 @@ PLATFORM_SCHEMA = SCHEMA_BASE.extend(
|
|||||||
[PRECISION_TENTHS, PRECISION_HALVES, PRECISION_WHOLE]
|
[PRECISION_TENTHS, PRECISION_HALVES, PRECISION_WHOLE]
|
||||||
),
|
),
|
||||||
vol.Optional(CONF_RETAIN, default=mqtt.DEFAULT_RETAIN): cv.boolean,
|
vol.Optional(CONF_RETAIN, default=mqtt.DEFAULT_RETAIN): cv.boolean,
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
vol.Optional(CONF_SEND_IF_OFF, default=True): cv.boolean,
|
vol.Optional(CONF_SEND_IF_OFF, default=True): cv.boolean,
|
||||||
vol.Optional(CONF_ACTION_TEMPLATE): cv.template,
|
vol.Optional(CONF_ACTION_TEMPLATE): cv.template,
|
||||||
vol.Optional(CONF_ACTION_TOPIC): mqtt.valid_subscribe_topic,
|
vol.Optional(CONF_ACTION_TOPIC): mqtt.valid_subscribe_topic,
|
||||||
@ -279,7 +281,19 @@ PLATFORM_SCHEMA = SCHEMA_BASE.extend(
|
|||||||
}
|
}
|
||||||
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
).extend(MQTT_ENTITY_COMMON_SCHEMA.schema)
|
||||||
|
|
||||||
DISCOVERY_SCHEMA = PLATFORM_SCHEMA.extend({}, extra=vol.REMOVE_EXTRA)
|
PLATFORM_SCHEMA = vol.All(
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
|
cv.deprecated(CONF_SEND_IF_OFF),
|
||||||
|
_PLATFORM_SCHEMA_BASE,
|
||||||
|
)
|
||||||
|
|
||||||
|
_DISCOVERY_SCHEMA_BASE = _PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA)
|
||||||
|
|
||||||
|
DISCOVERY_SCHEMA = vol.All(
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
|
cv.deprecated(CONF_SEND_IF_OFF),
|
||||||
|
_DISCOVERY_SCHEMA_BASE,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_platform(
|
async def async_setup_platform(
|
||||||
@ -704,6 +718,7 @@ class MqttClimate(MqttEntity, ClimateEntity):
|
|||||||
# optimistic mode
|
# optimistic mode
|
||||||
setattr(self, attr, temp)
|
setattr(self, attr, temp)
|
||||||
|
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
if (
|
if (
|
||||||
self._config[CONF_SEND_IF_OFF]
|
self._config[CONF_SEND_IF_OFF]
|
||||||
or self._current_operation != HVAC_MODE_OFF
|
or self._current_operation != HVAC_MODE_OFF
|
||||||
@ -746,6 +761,7 @@ class MqttClimate(MqttEntity, ClimateEntity):
|
|||||||
|
|
||||||
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."""
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
if self._config[CONF_SEND_IF_OFF] or self._current_operation != HVAC_MODE_OFF:
|
if self._config[CONF_SEND_IF_OFF] or self._current_operation != HVAC_MODE_OFF:
|
||||||
payload = self._command_templates[CONF_SWING_MODE_COMMAND_TEMPLATE](
|
payload = self._command_templates[CONF_SWING_MODE_COMMAND_TEMPLATE](
|
||||||
swing_mode
|
swing_mode
|
||||||
@ -758,6 +774,7 @@ class MqttClimate(MqttEntity, ClimateEntity):
|
|||||||
|
|
||||||
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."""
|
||||||
|
# CONF_SEND_IF_OFF is deprecated, support will be removed with release 2022.4
|
||||||
if self._config[CONF_SEND_IF_OFF] or self._current_operation != HVAC_MODE_OFF:
|
if self._config[CONF_SEND_IF_OFF] or self._current_operation != HVAC_MODE_OFF:
|
||||||
payload = self._command_templates[CONF_FAN_MODE_COMMAND_TEMPLATE](fan_mode)
|
payload = self._command_templates[CONF_FAN_MODE_COMMAND_TEMPLATE](fan_mode)
|
||||||
await self._publish(CONF_FAN_MODE_COMMAND_TOPIC, payload)
|
await self._publish(CONF_FAN_MODE_COMMAND_TOPIC, payload)
|
||||||
@ -768,12 +785,12 @@ class MqttClimate(MqttEntity, ClimateEntity):
|
|||||||
|
|
||||||
async def async_set_hvac_mode(self, hvac_mode) -> None:
|
async def async_set_hvac_mode(self, hvac_mode) -> None:
|
||||||
"""Set new operation mode."""
|
"""Set new operation mode."""
|
||||||
if self._current_operation == HVAC_MODE_OFF and hvac_mode != HVAC_MODE_OFF:
|
if hvac_mode == HVAC_MODE_OFF:
|
||||||
await self._publish(CONF_POWER_COMMAND_TOPIC, self._config[CONF_PAYLOAD_ON])
|
|
||||||
elif self._current_operation != HVAC_MODE_OFF and hvac_mode == HVAC_MODE_OFF:
|
|
||||||
await self._publish(
|
await self._publish(
|
||||||
CONF_POWER_COMMAND_TOPIC, self._config[CONF_PAYLOAD_OFF]
|
CONF_POWER_COMMAND_TOPIC, self._config[CONF_PAYLOAD_OFF]
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
await self._publish(CONF_POWER_COMMAND_TOPIC, self._config[CONF_PAYLOAD_ON])
|
||||||
|
|
||||||
payload = self._command_templates[CONF_MODE_COMMAND_TEMPLATE](hvac_mode)
|
payload = self._command_templates[CONF_MODE_COMMAND_TEMPLATE](hvac_mode)
|
||||||
await self._publish(CONF_MODE_COMMAND_TOPIC, payload)
|
await self._publish(CONF_MODE_COMMAND_TOPIC, payload)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user