From 1995a825f35a34a241cfe4759ff3d301db101222 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Mon, 3 Jan 2022 17:16:26 +0100 Subject: [PATCH] Reject MQTT light discovery using unsupported value_template (#62682) * Reject MQTT light discovery using unsupported value_template * Tweak --- .../components/mqtt/light/schema_basic.py | 7 ++-- tests/components/mqtt/test_light.py | 35 ++----------------- 2 files changed, 4 insertions(+), 38 deletions(-) diff --git a/homeassistant/components/mqtt/light/schema_basic.py b/homeassistant/components/mqtt/light/schema_basic.py index ff547c06ec5..4f692c8063c 100644 --- a/homeassistant/components/mqtt/light/schema_basic.py +++ b/homeassistant/components/mqtt/light/schema_basic.py @@ -207,7 +207,6 @@ _PLATFORM_SCHEMA_BASE = ( vol.Optional(CONF_WHITE_SCALE, default=DEFAULT_WHITE_SCALE): vol.All( vol.Coerce(int), vol.Range(min=1) ), - vol.Optional(CONF_VALUE_TEMPLATE): cv.template, vol.Optional(CONF_WHITE_VALUE_COMMAND_TOPIC): mqtt.valid_publish_topic, vol.Optional( CONF_WHITE_VALUE_SCALE, default=DEFAULT_WHITE_VALUE_SCALE @@ -224,14 +223,12 @@ _PLATFORM_SCHEMA_BASE = ( ) PLATFORM_SCHEMA_BASIC = vol.All( - # CONF_VALUE_TEMPLATE is deprecated, support will be removed in 2021.10 - cv.deprecated(CONF_VALUE_TEMPLATE, CONF_STATE_VALUE_TEMPLATE), _PLATFORM_SCHEMA_BASE, ) DISCOVERY_SCHEMA_BASIC = vol.All( - # CONF_VALUE_TEMPLATE is deprecated, support will be removed in 2021.10 - cv.deprecated(CONF_VALUE_TEMPLATE, CONF_STATE_VALUE_TEMPLATE), + # CONF_VALUE_TEMPLATE is no longer supported, support was removed in 2022.2 + cv.removed(CONF_VALUE_TEMPLATE), _PLATFORM_SCHEMA_BASE.extend({}, extra=vol.REMOVE_EXTRA), ) diff --git a/tests/components/mqtt/test_light.py b/tests/components/mqtt/test_light.py index 1ed13f0c2de..dcff826311b 100644 --- a/tests/components/mqtt/test_light.py +++ b/tests/components/mqtt/test_light.py @@ -1117,37 +1117,6 @@ async def test_controlling_state_via_topic_with_templates(hass, mqtt_mock): assert state.attributes.get(light.ATTR_SUPPORTED_COLOR_MODES) == color_modes -async def test_controlling_state_via_topic_with_value_template(hass, mqtt_mock, caplog): - """Test the setting of the state with undocumented value_template.""" - config = { - light.DOMAIN: { - "platform": "mqtt", - "name": "test", - "state_topic": "test_light_rgb/status", - "command_topic": "test_light_rgb/set", - "value_template": "{{ value_json.hello }}", - } - } - - assert await async_setup_component(hass, light.DOMAIN, config) - await hass.async_block_till_done() - - assert "The 'value_template' option is deprecated" in caplog.text - - state = hass.states.get("light.test") - assert state.state == STATE_OFF - - async_fire_mqtt_message(hass, "test_light_rgb/status", '{"hello": "ON"}') - - state = hass.states.get("light.test") - assert state.state == STATE_ON - - async_fire_mqtt_message(hass, "test_light_rgb/status", '{"hello": "OFF"}') - - state = hass.states.get("light.test") - assert state.state == STATE_OFF - - async def test_legacy_sending_mqtt_commands_and_optimistic(hass, mqtt_mock): """Test the sending of command in optimistic mode.""" config = { @@ -2289,7 +2258,7 @@ async def test_on_command_white(hass, mqtt_mock): "platform": "mqtt", "name": "test", "command_topic": "tasmota_B94927/cmnd/POWER", - "value_template": "{{ value_json.POWER }}", + "state_value_template": "{{ value_json.POWER }}", "payload_off": "OFF", "payload_on": "ON", "brightness_command_topic": "tasmota_B94927/cmnd/Dimmer", @@ -2598,7 +2567,7 @@ async def test_white_state_update(hass, mqtt_mock): "name": "test", "state_topic": "tasmota_B94927/tele/STATE", "command_topic": "tasmota_B94927/cmnd/POWER", - "value_template": "{{ value_json.POWER }}", + "state_value_template": "{{ value_json.POWER }}", "payload_off": "OFF", "payload_on": "ON", "brightness_command_topic": "tasmota_B94927/cmnd/Dimmer",