From 18a1406d412d7f26f19ab96aef799cbbf95b27a5 Mon Sep 17 00:00:00 2001 From: MichaelDvP <59284019+MichaelDvP@users.noreply.github.com> Date: Tue, 9 Mar 2021 17:47:03 +0100 Subject: [PATCH 1/2] fix #732 --- src/devices/boiler.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index e519829ac..7f282e1c6 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -465,8 +465,8 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr telegram void Boiler::process_UBAParametersPlus(std::shared_ptr telegram) { has_update(telegram->read_value(heatingActivated_, 0)); has_update(telegram->read_value(heatingTemp_, 1)); - has_update(telegram->read_value(burnMaxPower_, 6)); - has_update(telegram->read_value(burnMinPower_, 7)); + has_update(telegram->read_value(burnMaxPower_, 4)); + has_update(telegram->read_value(burnMinPower_, 5)); has_update(telegram->read_value(boilHystOff_, 8)); has_update(telegram->read_value(boilHystOn_, 9)); has_update(telegram->read_value(burnMinPeriod_, 10)); @@ -730,7 +730,7 @@ bool Boiler::set_min_power(const char * value, const int8_t id) { LOG_INFO(F("Setting boiler min power to %d %%"), v); if (get_toggle_fetch(EMS_TYPE_UBAParametersPlus)) { - write_command(EMS_TYPE_UBAParametersPlus, 7, v, EMS_TYPE_UBAParametersPlus); + write_command(EMS_TYPE_UBAParametersPlus, 5, v, EMS_TYPE_UBAParametersPlus); } else { write_command(EMS_TYPE_UBAParameters, 3, v, EMS_TYPE_UBAParameters); } @@ -748,7 +748,7 @@ bool Boiler::set_max_power(const char * value, const int8_t id) { LOG_INFO(F("Setting boiler max power to %d %%"), v); if (get_toggle_fetch(EMS_TYPE_UBAParametersPlus)) { - write_command(EMS_TYPE_UBAParametersPlus, 6, v, EMS_TYPE_UBAParametersPlus); + write_command(EMS_TYPE_UBAParametersPlus, 4, v, EMS_TYPE_UBAParametersPlus); } else { write_command(EMS_TYPE_UBAParameters, 2, v, EMS_TYPE_UBAParameters); } From 4dd4c37cba3720ef785410cf3c39fe5e3d95f00e Mon Sep 17 00:00:00 2001 From: MichaelDvP <59284019+MichaelDvP@users.noreply.github.com> Date: Tue, 9 Mar 2021 19:13:20 +0100 Subject: [PATCH 2/2] HA binary sensor bool format payload @proddy : since bool-format goes from websettings to mqtt it needs a change. but i'm not familiar enough with HA: raw or strings? HA configs seems to have a lot of trips. --- src/mqtt.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/mqtt.cpp b/src/mqtt.cpp index aad21c92b..8054a1834 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -862,11 +862,19 @@ void Mqtt::publish_mqtt_ha_sensor(uint8_t type, // EMSdevice snprintf_P(topic, sizeof(topic), PSTR("homeassistant/binary_sensor/%s/%s/config"), mqtt_base_.c_str(), uniq.c_str()); // topic // how to render boolean - EMSESP::webSettingsService.read([&](WebSettings & settings) { - char result[10]; - doc[F("payload_on")] = Helpers::render_boolean(result, true); - doc[F("payload_off")] = Helpers::render_boolean(result, false); - }); + if (bool_format_ == BOOL_FORMAT_ONOFF) { + doc[F("payload_on")] = FJSON("on"); + doc[F("payload_off")] = FJSON("off"); + } else if (bool_format_ == BOOL_FORMAT_ONOFF_CAP) { + doc[F("payload_on")] = FJSON("ON"); + doc[F("payload_off")] = FJSON("OFF"); + } else if (bool_format_ == BOOL_FORMAT_TRUEFALSE) { + doc[F("payload_on")] = true; + doc[F("payload_off")] = false; + } else { + doc[F("payload_on")] = 1; + doc[F("payload_off")] = 0; + } } else { // normal HA sensor, not a boolean one snprintf_P(topic, sizeof(topic), PSTR("homeassistant/sensor/%s/%s/config"), mqtt_base_.c_str(), uniq.c_str()); // topic