diff --git a/lib/extension/homeassistant.ts b/lib/extension/homeassistant.ts index c40c9f01e..592f2ebae 100644 --- a/lib/extension/homeassistant.ts +++ b/lib/extension/homeassistant.ts @@ -1007,9 +1007,9 @@ export class HomeAssistant extends Extension { `${closingState}` + `{% elif "${stateProperty}" in value_json %}` + `{{ value_json["${stateProperty}"] }}` + - `{% else %}` + + "{% else %}" + `${stoppedState}` + - `{% endif %}`; + "{% endif %}"; } } diff --git a/test/extensions/homeassistant.test.ts b/test/extensions/homeassistant.test.ts index 565fb3029..0da2bc18a 100644 --- a/test/extensions/homeassistant.test.ts +++ b/test/extensions/homeassistant.test.ts @@ -1676,7 +1676,8 @@ describe("Extension: HomeAssistant", () => { state_stopped: "STOP", state_topic: "zigbee2mqtt/0xa4c138018cf95021/left", unique_id: "0xa4c138018cf95021_cover_left_zigbee2mqtt", - value_template: '{% if "moving" in value_json and value_json["moving"] == "UP" %}UP{% elif "moving" in value_json and value_json["moving"] == "DOWN" %}DOWN{% elif "state" in value_json %}{{ value_json["state"] }}{% else %}STOP{% endif %}', + value_template: + '{% if "moving" in value_json and value_json["moving"] == "UP" %}UP{% elif "moving" in value_json and value_json["moving"] == "DOWN" %}DOWN{% elif "state" in value_json %}{{ value_json["state"] }}{% else %}STOP{% endif %}', }; const payload_right = { availability: [ @@ -1709,7 +1710,8 @@ describe("Extension: HomeAssistant", () => { state_stopped: "STOP", state_topic: "zigbee2mqtt/0xa4c138018cf95021/right", unique_id: "0xa4c138018cf95021_cover_right_zigbee2mqtt", - value_template: '{% if "moving" in value_json and value_json["moving"] == "UP" %}UP{% elif "moving" in value_json and value_json["moving"] == "DOWN" %}DOWN{% elif "state" in value_json %}{{ value_json["state"] }}{% else %}STOP{% endif %}', + value_template: + '{% if "moving" in value_json and value_json["moving"] == "UP" %}UP{% elif "moving" in value_json and value_json["moving"] == "DOWN" %}DOWN{% elif "state" in value_json %}{{ value_json["state"] }}{% else %}STOP{% endif %}', }; const coverLeftCalls = mockMQTTPublishAsync.mock.calls.filter(