From 51a6b9226dfb60c8df3b5ea33519338844827df6 Mon Sep 17 00:00:00 2001 From: Crowbar Z Date: Fri, 29 May 2020 22:13:09 +0100 Subject: [PATCH] Remove precision rounding from HA MQTT autodiscovery template (#3636) * Remove precision rounding from HA MQTT autodiscovery template Precision rounding should be handled in converters and made available to all MQTT consumers (not just HA) * Update homeassistant.test.js Co-authored-by: Koen Kanters --- lib/extension/homeassistant.js | 9 --------- test/homeassistant.test.js | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index 34f53317..471645aa 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -1908,15 +1908,6 @@ class HomeAssistant extends Extension { payload.availability_topic = `${settings.get().mqtt.base_topic}/bridge/state`; } - // Add precision to value_template - if (deviceSettings.hasOwnProperty(`${config.object_id}_precision`)) { - const precision = deviceSettings[`${config.object_id}_precision`]; - let template = payload.value_template; - template = template.replace('{{ ', '').replace(' }}', ''); - template = `{{ (${template} | float) | round(${precision}) }}`; - payload.value_template = template; - } - if (payload.command_topic) { payload.command_topic = `${settings.get().mqtt.base_topic}/${friendlyName}/`; diff --git a/test/homeassistant.test.js b/test/homeassistant.test.js index ad992c13..a0aea033 100644 --- a/test/homeassistant.test.js +++ b/test/homeassistant.test.js @@ -204,7 +204,7 @@ describe('HomeAssistant extension', () => { payload = { 'unit_of_measurement': '°C', 'device_class': 'temperature', - 'value_template': "{{ (value_json.temperature | float) | round(1) }}", + 'value_template': "{{ value_json.temperature }}", 'state_topic': 'zigbee2mqtt/weather_sensor', 'json_attributes_topic': 'zigbee2mqtt/weather_sensor', 'name': 'weather_sensor_temperature', @@ -229,7 +229,7 @@ describe('HomeAssistant extension', () => { payload = { 'unit_of_measurement': '%', 'device_class': 'humidity', - 'value_template': '{{ (value_json.humidity | float) | round(0) }}', + 'value_template': '{{ value_json.humidity }}', 'state_topic': 'zigbee2mqtt/weather_sensor', 'json_attributes_topic': 'zigbee2mqtt/weather_sensor', 'name': 'weather_sensor_humidity', @@ -254,7 +254,7 @@ describe('HomeAssistant extension', () => { payload = { 'unit_of_measurement': 'hPa', 'device_class': 'pressure', - 'value_template': '{{ (value_json.pressure | float) | round(2) }}', + 'value_template': '{{ value_json.pressure }}', 'state_topic': 'zigbee2mqtt/weather_sensor', 'json_attributes_topic': 'zigbee2mqtt/weather_sensor', 'name': 'weather_sensor_pressure',