From 1608b097b06edf07c7552f0ee898d17529c946f5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 8 Mar 2023 11:05:20 +0100 Subject: [PATCH] Print type as string in dump_config. --- .../binary_sensor/TrumaHeaterBinarySensor.cpp | 2 +- .../binary_sensor/TrumaTimerBinarySensor.cpp | 2 +- components/truma_inetbox/binary_sensor/enum.h | 38 ++++++++++++++++++- .../number/TrumaHeaterNumber.cpp | 2 +- .../truma_inetbox/number/TrumaHeaterNumber.h | 17 +++++++++ .../truma_inetbox/sensor/TrumaSensor.cpp | 2 +- components/truma_inetbox/sensor/TrumaSensor.h | 32 ++++++++++++++++ 7 files changed, 90 insertions(+), 5 deletions(-) diff --git a/components/truma_inetbox/binary_sensor/TrumaHeaterBinarySensor.cpp b/components/truma_inetbox/binary_sensor/TrumaHeaterBinarySensor.cpp index 513fe44..b969c08 100644 --- a/components/truma_inetbox/binary_sensor/TrumaHeaterBinarySensor.cpp +++ b/components/truma_inetbox/binary_sensor/TrumaHeaterBinarySensor.cpp @@ -38,7 +38,7 @@ void TrumaHeaterBinarySensor::setup() { void TrumaHeaterBinarySensor::dump_config() { ESP_LOGCONFIG("", "Truma Heater Binary Sensor"); - ESP_LOGCONFIG(TAG, "Type %u", (size_t) this->type_); + ESP_LOGCONFIG(TAG, " Type '%s'", enum_to_c_str(this->type_)); } } // namespace truma_inetbox } // namespace esphome \ No newline at end of file diff --git a/components/truma_inetbox/binary_sensor/TrumaTimerBinarySensor.cpp b/components/truma_inetbox/binary_sensor/TrumaTimerBinarySensor.cpp index a67e0e5..16d2e74 100644 --- a/components/truma_inetbox/binary_sensor/TrumaTimerBinarySensor.cpp +++ b/components/truma_inetbox/binary_sensor/TrumaTimerBinarySensor.cpp @@ -27,7 +27,7 @@ void TrumaTimerBinarySensor::setup() { void TrumaTimerBinarySensor::dump_config() { ESP_LOGCONFIG("", "Truma Timer Binary Sensor"); - ESP_LOGCONFIG(TAG, "Type %u", (size_t) this->type_); + ESP_LOGCONFIG(TAG, " Type %s", enum_to_c_str(this->type_)); } } // namespace truma_inetbox } // namespace esphome \ No newline at end of file diff --git a/components/truma_inetbox/binary_sensor/enum.h b/components/truma_inetbox/binary_sensor/enum.h index 0d3d572..1327caf 100644 --- a/components/truma_inetbox/binary_sensor/enum.h +++ b/components/truma_inetbox/binary_sensor/enum.h @@ -16,5 +16,41 @@ enum class TRUMA_BINARY_SENSOR_TYPE { TIMER_WATER, }; +static const char *enum_to_c_str(const TRUMA_BINARY_SENSOR_TYPE val) { + switch (val) { + case TRUMA_BINARY_SENSOR_TYPE::HEATER_ROOM: + return "HEATER_ROOM"; + break; + case TRUMA_BINARY_SENSOR_TYPE::HEATER_WATER: + return "HEATER_WATER"; + break; + case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS: + return "HEATER_GAS"; + break; + case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1: + return "HEATER_MIX_1"; + break; + case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_2: + return "HEATER_MIX_2"; + break; + case TRUMA_BINARY_SENSOR_TYPE::HEATER_ELECTRICITY: + return "HEATER_ELECTRICITY"; + break; + + case TRUMA_BINARY_SENSOR_TYPE::TIMER_ACTIVE: + return "TIMER_ACTIVE"; + break; + case TRUMA_BINARY_SENSOR_TYPE::TIMER_ROOM: + return "TIMER_ROOM"; + break; + case TRUMA_BINARY_SENSOR_TYPE::TIMER_WATER: + return "TIMER_WATER"; + break; + default: + return ""; + break; + } } -} \ No newline at end of file + +} // namespace truma_inetbox +} // namespace esphome \ No newline at end of file diff --git a/components/truma_inetbox/number/TrumaHeaterNumber.cpp b/components/truma_inetbox/number/TrumaHeaterNumber.cpp index 6362860..6ef53de 100644 --- a/components/truma_inetbox/number/TrumaHeaterNumber.cpp +++ b/components/truma_inetbox/number/TrumaHeaterNumber.cpp @@ -39,7 +39,7 @@ void TrumaHeaterNumber::control(float value) { void TrumaHeaterNumber::dump_config() { ESP_LOGCONFIG("", "Truma Heater Number"); - ESP_LOGCONFIG(TAG, "Type %u", (size_t) this->type_); + ESP_LOGCONFIG(TAG, " Type '%s'", enum_to_c_str(this->type_)); } } // namespace truma_inetbox } // namespace esphome \ No newline at end of file diff --git a/components/truma_inetbox/number/TrumaHeaterNumber.h b/components/truma_inetbox/number/TrumaHeaterNumber.h index 4c1ec7d..883177b 100644 --- a/components/truma_inetbox/number/TrumaHeaterNumber.h +++ b/components/truma_inetbox/number/TrumaHeaterNumber.h @@ -12,6 +12,23 @@ enum class TRUMA_NUMBER_TYPE { ELECTRIC_POWER_LEVEL, }; +static const char *enum_to_c_str(const TRUMA_NUMBER_TYPE val) { + switch (val) { + case TRUMA_NUMBER_TYPE::TARGET_ROOM_TEMPERATURE: + return "TARGET_ROOM_TEMPERATURE"; + break; + case TRUMA_NUMBER_TYPE::TARGET_WATER_TEMPERATURE: + return "TARGET_WATER_TEMPERATURE"; + break; + case TRUMA_NUMBER_TYPE::ELECTRIC_POWER_LEVEL: + return "ELECTRIC_POWER_LEVEL"; + break; + default: + return ""; + break; + } +} + class TrumaHeaterNumber : public Component, public number::Number, public Parented { public: void setup() override; diff --git a/components/truma_inetbox/sensor/TrumaSensor.cpp b/components/truma_inetbox/sensor/TrumaSensor.cpp index 4d886c7..0cb5d85 100644 --- a/components/truma_inetbox/sensor/TrumaSensor.cpp +++ b/components/truma_inetbox/sensor/TrumaSensor.cpp @@ -40,7 +40,7 @@ void TrumaSensor::setup() { void TrumaSensor::dump_config() { LOG_SENSOR("", "Truma Sensor", this); - ESP_LOGCONFIG(TAG, "Type %u", (size_t) this->type_); + ESP_LOGCONFIG(TAG, " Type '%s'", enum_to_c_str(this->type_)); } } // namespace truma_inetbox } // namespace esphome \ No newline at end of file diff --git a/components/truma_inetbox/sensor/TrumaSensor.h b/components/truma_inetbox/sensor/TrumaSensor.h index 29a6369..1412a33 100644 --- a/components/truma_inetbox/sensor/TrumaSensor.h +++ b/components/truma_inetbox/sensor/TrumaSensor.h @@ -16,6 +16,38 @@ enum class TRUMA_SENSOR_TYPE { OPERATING_STATUS, }; +static const char *enum_to_c_str(const TRUMA_SENSOR_TYPE val) { + switch (val) { + case TRUMA_SENSOR_TYPE::CURRENT_ROOM_TEMPERATURE: + return "CURRENT_ROOM_TEMPERATURE"; + break; + case TRUMA_SENSOR_TYPE::CURRENT_WATER_TEMPERATURE: + return "CURRENT_WATER_TEMPERATURE"; + break; + case TRUMA_SENSOR_TYPE::TARGET_ROOM_TEMPERATURE: + return "TARGET_ROOM_TEMPERATURE"; + break; + case TRUMA_SENSOR_TYPE::TARGET_WATER_TEMPERATURE: + return "TARGET_WATER_TEMPERATURE"; + break; + case TRUMA_SENSOR_TYPE::HEATING_MODE: + return "HEATING_MODE"; + break; + case TRUMA_SENSOR_TYPE::ELECTRIC_POWER_LEVEL: + return "ELECTRIC_POWER_LEVEL"; + break; + case TRUMA_SENSOR_TYPE::ENERGY_MIX: + return "ENERGY_MIX"; + break; + case TRUMA_SENSOR_TYPE::OPERATING_STATUS: + return "OPERATING_STATUS"; + break; + default: + return ""; + break; + } +} + class TrumaSensor : public Component, public sensor::Sensor, public Parented { public: void setup() override;