From 8bafb178a132d1118943224c1f73fe48aeb10e8d Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 27 Jan 2023 18:34:18 +0100 Subject: [PATCH] Fix #540: Do not output unit_of_meas if empty --- src/MqttHandleHass.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index 9d07fe1..0eaed40 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -113,9 +113,13 @@ void MqttHandleHassClass::publishField(std::shared_ptr inv, ui DynamicJsonDocument root(1024); root[F("name")] = name; root[F("stat_t")] = stateTopic; - root[F("unit_of_meas")] = inv->Statistics()->getChannelFieldUnit(channel, fieldType.fieldId); root[F("uniq_id")] = serial + "_ch" + String(channel) + "_" + fieldName; + String unit_of_meausure = inv->Statistics()->getChannelFieldUnit(channel, fieldType.fieldId); + if (unit_of_meausure != "") { + root[F("unit_of_meas")] = unit_of_meausure; + } + JsonObject deviceObj = root.createNestedObject("dev"); createDeviceInfo(deviceObj, inv);