From 76f0aea0d391855c156d21fa56ccb1c3719b6881 Mon Sep 17 00:00:00 2001 From: jbouwh Date: Mon, 23 Jan 2023 14:11:40 +0000 Subject: [PATCH] Always add `code` to template vars lock cmd tpl --- homeassistant/components/mqtt/lock.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/mqtt/lock.py b/homeassistant/components/mqtt/lock.py index 770462e05cfb56..0598c0354ed9e7 100644 --- a/homeassistant/components/mqtt/lock.py +++ b/homeassistant/components/mqtt/lock.py @@ -11,7 +11,12 @@ from homeassistant.components import lock from homeassistant.components.lock import LockEntity, LockEntityFeature from homeassistant.config_entries import ConfigEntry -from homeassistant.const import CONF_NAME, CONF_OPTIMISTIC, CONF_VALUE_TEMPLATE +from homeassistant.const import ( + ATTR_CODE, + CONF_NAME, + CONF_OPTIMISTIC, + CONF_VALUE_TEMPLATE, +) from homeassistant.core import HomeAssistant, callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity_platform import AddEntitiesCallback @@ -236,7 +241,10 @@ async def async_lock(self, **kwargs: Any) -> None: This method is a coroutine. """ - payload = self._command_template(self._config[CONF_PAYLOAD_LOCK], kwargs) + tpl_vars: TemplateVarsType = { + ATTR_CODE: kwargs.get(ATTR_CODE) if kwargs else None + } + payload = self._command_template(self._config[CONF_PAYLOAD_LOCK], tpl_vars) await self.async_publish( self._config[CONF_COMMAND_TOPIC], payload, @@ -254,7 +262,10 @@ async def async_unlock(self, **kwargs: Any) -> None: This method is a coroutine. """ - payload = self._command_template(self._config[CONF_PAYLOAD_UNLOCK], kwargs) + tpl_vars: TemplateVarsType = { + ATTR_CODE: kwargs.get(ATTR_CODE) if kwargs else None + } + payload = self._command_template(self._config[CONF_PAYLOAD_UNLOCK], tpl_vars) await self.async_publish( self._config[CONF_COMMAND_TOPIC], payload, @@ -272,7 +283,10 @@ async def async_open(self, **kwargs: Any) -> None: This method is a coroutine. """ - payload = self._command_template(self._config[CONF_PAYLOAD_OPEN], kwargs) + tpl_vars: TemplateVarsType = { + ATTR_CODE: kwargs.get(ATTR_CODE) if kwargs else None + } + payload = self._command_template(self._config[CONF_PAYLOAD_OPEN], tpl_vars) await self.async_publish( self._config[CONF_COMMAND_TOPIC], payload,