From c21653fd1e0b9deb19943d6366f8a3bad7c984ba Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 23 Mar 2023 13:30:01 +0100 Subject: [PATCH] update naming. --- .../TrumaiNetBoxAppAirconManual.cpp | 2 +- components/truma_inetbox/helpers.cpp | 30 +++++++++++++++++-- components/truma_inetbox/helpers.h | 6 ++-- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/components/truma_inetbox/TrumaiNetBoxAppAirconManual.cpp b/components/truma_inetbox/TrumaiNetBoxAppAirconManual.cpp index 7dc191d..fa32a22 100644 --- a/components/truma_inetbox/TrumaiNetBoxAppAirconManual.cpp +++ b/components/truma_inetbox/TrumaiNetBoxAppAirconManual.cpp @@ -58,7 +58,7 @@ bool TrumaiNetBoxAppAirconManual::action_set_temp(u_int8_t temperature) { auto update_data = this->update_prepare(); - update_data->target_temp_aircon = decimal_to_aircon_temp(temperature); + update_data->target_temp_aircon = decimal_to_aircon_manual_temp(temperature); this->update_submit(); return true; diff --git a/components/truma_inetbox/helpers.cpp b/components/truma_inetbox/helpers.cpp index f693271..83b2420 100644 --- a/components/truma_inetbox/helpers.cpp +++ b/components/truma_inetbox/helpers.cpp @@ -59,7 +59,7 @@ TargetTemp decimal_to_room_temp(float val) { return decimal_to_temp(val); } -TargetTemp decimal_to_aircon_temp(u_int8_t val) { +TargetTemp decimal_to_aircon_manual_temp(u_int8_t val) { if (val == 0) { return TargetTemp::TARGET_TEMP_OFF; } @@ -72,7 +72,33 @@ TargetTemp decimal_to_aircon_temp(u_int8_t val) { return decimal_to_temp(val); } -TargetTemp decimal_to_aircon_temp(float val) { +TargetTemp decimal_to_aircon_manual_temp(float val) { + if (std::isnan(val)) { + return TargetTemp::TARGET_TEMP_OFF; + } + if (val < 16) { + return TargetTemp::TARGET_TEMP_OFF; + } + if (val >= 31) { + return TargetTemp::TARGET_TEMP_AIRCON_MAX; + } + return decimal_to_temp(val); +} + +TargetTemp decimal_to_aircon_auto_temp(u_int8_t val) { + if (val == 0) { + return TargetTemp::TARGET_TEMP_OFF; + } + if (val < 16) { + return TargetTemp::TARGET_TEMP_OFF; + } + if (val >= 31) { + return TargetTemp::TARGET_TEMP_AIRCON_MAX; + } + return decimal_to_temp(val); +} + +TargetTemp decimal_to_aircon_auto_temp(float val) { if (std::isnan(val)) { return TargetTemp::TARGET_TEMP_OFF; } diff --git a/components/truma_inetbox/helpers.h b/components/truma_inetbox/helpers.h index ff95a70..89e0885 100644 --- a/components/truma_inetbox/helpers.h +++ b/components/truma_inetbox/helpers.h @@ -17,8 +17,10 @@ TargetTemp decimal_to_temp(u_int8_t val); TargetTemp decimal_to_temp(float val); TargetTemp decimal_to_room_temp(u_int8_t val); TargetTemp decimal_to_room_temp(float val); -TargetTemp decimal_to_aircon_temp(u_int8_t val); -TargetTemp decimal_to_aircon_temp(float val); +TargetTemp decimal_to_aircon_manual_temp(u_int8_t val); +TargetTemp decimal_to_aircon_manual_temp(float val); +TargetTemp decimal_to_aircon_auto_temp(u_int8_t val); +TargetTemp decimal_to_aircon_auto_temp(float val); TargetTemp decimal_to_water_temp(u_int8_t val); TargetTemp decimal_to_water_temp(float val); const std::string operating_status_to_str(OperatingStatus val);