Remove MQTT state vacuum value_template support. (#33536)

* Fix MQTT state vacuum value_template support.

* Remove support for state_template
This commit is contained in:
Erik Montnemery
2020-04-03 01:46:18 +02:00
committed by GitHub
parent 9165ea5fbd
commit 3df46cd70a

View File

@@ -36,12 +36,7 @@ from homeassistant.components.vacuum import (
SUPPORT_STOP, SUPPORT_STOP,
StateVacuumDevice, StateVacuumDevice,
) )
from homeassistant.const import ( from homeassistant.const import ATTR_SUPPORTED_FEATURES, CONF_DEVICE, CONF_NAME
ATTR_SUPPORTED_FEATURES,
CONF_DEVICE,
CONF_NAME,
CONF_VALUE_TEMPLATE,
)
from homeassistant.core import callback from homeassistant.core import callback
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@@ -104,7 +99,6 @@ CONF_PAYLOAD_CLEAN_SPOT = "payload_clean_spot"
CONF_PAYLOAD_LOCATE = "payload_locate" CONF_PAYLOAD_LOCATE = "payload_locate"
CONF_PAYLOAD_START = "payload_start" CONF_PAYLOAD_START = "payload_start"
CONF_PAYLOAD_PAUSE = "payload_pause" CONF_PAYLOAD_PAUSE = "payload_pause"
CONF_STATE_TEMPLATE = "state_template"
CONF_SET_FAN_SPEED_TOPIC = "set_fan_speed_topic" CONF_SET_FAN_SPEED_TOPIC = "set_fan_speed_topic"
CONF_FAN_SPEED_LIST = "fan_speed_list" CONF_FAN_SPEED_LIST = "fan_speed_list"
CONF_SEND_COMMAND_TOPIC = "send_command_topic" CONF_SEND_COMMAND_TOPIC = "send_command_topic"
@@ -141,7 +135,6 @@ PLATFORM_SCHEMA_STATE = (
vol.Optional(CONF_PAYLOAD_STOP, default=DEFAULT_PAYLOAD_STOP): cv.string, vol.Optional(CONF_PAYLOAD_STOP, default=DEFAULT_PAYLOAD_STOP): cv.string,
vol.Optional(CONF_SEND_COMMAND_TOPIC): mqtt.valid_publish_topic, vol.Optional(CONF_SEND_COMMAND_TOPIC): mqtt.valid_publish_topic,
vol.Optional(CONF_SET_FAN_SPEED_TOPIC): mqtt.valid_publish_topic, vol.Optional(CONF_SET_FAN_SPEED_TOPIC): mqtt.valid_publish_topic,
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
vol.Optional(CONF_STATE_TOPIC): mqtt.valid_publish_topic, vol.Optional(CONF_STATE_TOPIC): mqtt.valid_publish_topic,
vol.Optional( vol.Optional(
CONF_SUPPORTED_FEATURES, default=DEFAULT_SERVICE_STRINGS CONF_SUPPORTED_FEATURES, default=DEFAULT_SERVICE_STRINGS
@@ -241,20 +234,13 @@ class MqttStateVacuum(
async def _subscribe_topics(self): async def _subscribe_topics(self):
"""(Re)Subscribe to topics.""" """(Re)Subscribe to topics."""
template = self._config.get(CONF_VALUE_TEMPLATE)
if template is not None:
template.hass = self.hass
topics = {} topics = {}
@callback @callback
@log_messages(self.hass, self.entity_id) @log_messages(self.hass, self.entity_id)
def state_message_received(msg): def state_message_received(msg):
"""Handle state MQTT message.""" """Handle state MQTT message."""
payload = msg.payload payload = json.loads(msg.payload)
if template is not None:
payload = template.async_render_with_possible_json_value(payload)
else:
payload = json.loads(payload)
if STATE in payload and payload[STATE] in POSSIBLE_STATES: if STATE in payload and payload[STATE] in POSSIBLE_STATES:
self._state = POSSIBLE_STATES[payload[STATE]] self._state = POSSIBLE_STATES[payload[STATE]]
del payload[STATE] del payload[STATE]