Print type as string in dump_config.

This commit is contained in:
Your Name 2023-03-08 11:05:20 +01:00
parent 36fccb6459
commit 1608b097b0
7 changed files with 90 additions and 5 deletions

View File

@ -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

View File

@ -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

View File

@ -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;
}
}
}
} // namespace truma_inetbox
} // namespace esphome

View File

@ -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

View File

@ -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<TrumaiNetBoxApp> {
public:
void setup() override;

View File

@ -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

View File

@ -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<TrumaiNetBoxApp> {
public:
void setup() override;