From 91c16812dfc09edac37210a3e144d01347152bea Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Fri, 18 Jun 2021 14:45:56 +0200 Subject: [PATCH] Home Assistant: enable expose binary as switch for boolean values. https://github.com/Koenkk/zigbee2mqtt/issues/7797 --- lib/extension/homeassistant.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index d9aacb4ff..6ce6fe82e 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -346,16 +346,18 @@ class HomeAssistant extends Extension { * https://github.com/Koenkk/zigbee2mqtt/issues/7740 * Dont expose boolean values for now: https://github.com/Koenkk/zigbee2mqtt/issues/7797 */ - if (firstExpose.access & ACCESS_SET && typeof firstExpose.value_on !== 'boolean') { + if (firstExpose.access & ACCESS_SET) { discoveryEntry = { type: 'switch', object_id: endpoint ? `switch_${firstExpose.name}_${endpoint}` : `switch_${firstExpose.name}`, discovery_payload: { - value_template: `{{ value_json.${firstExpose.property} }}`, - payload_on: firstExpose.value_on, - payload_off: firstExpose.value_off, + value_template: typeof firstExpose.value_on === 'boolean' ? + `{% if value_json.${firstExpose.property} %} true {% else %} false {% endif %}` : + `{{ value_json.${firstExpose.property} }}`, + payload_on: firstExpose.value_on.toString(), + payload_off: firstExpose.value_off.toString(), command_topic: true, command_topic_prefix: endpoint, command_topic_postfix: firstExpose.property,