1
0
mirror of https://github.com/esphome/esphome.git synced 2025-03-25 20:18:15 +00:00
esphome/esphome/components/climate/climate_mode.cpp
Lumpusz ebadaa9660
Add preset, custom_preset and custom_fan_mode support to climate (#1471)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-04 22:04:54 +12:00

108 lines
2.6 KiB
C++

#include "climate_mode.h"
namespace esphome {
namespace climate {
const char *climate_mode_to_string(ClimateMode mode) {
switch (mode) {
case CLIMATE_MODE_OFF:
return "OFF";
case CLIMATE_MODE_AUTO:
return "AUTO";
case CLIMATE_MODE_COOL:
return "COOL";
case CLIMATE_MODE_HEAT:
return "HEAT";
case CLIMATE_MODE_FAN_ONLY:
return "FAN_ONLY";
case CLIMATE_MODE_DRY:
return "DRY";
case CLIMATE_MODE_HEAT_COOL:
return "HEAT_COOL";
default:
return "UNKNOWN";
}
}
const char *climate_action_to_string(ClimateAction action) {
switch (action) {
case CLIMATE_ACTION_OFF:
return "OFF";
case CLIMATE_ACTION_COOLING:
return "COOLING";
case CLIMATE_ACTION_HEATING:
return "HEATING";
case CLIMATE_ACTION_IDLE:
return "IDLE";
case CLIMATE_ACTION_DRYING:
return "DRYING";
case CLIMATE_ACTION_FAN:
return "FAN";
default:
return "UNKNOWN";
}
}
const char *climate_fan_mode_to_string(ClimateFanMode fan_mode) {
switch (fan_mode) {
case climate::CLIMATE_FAN_ON:
return "ON";
case climate::CLIMATE_FAN_OFF:
return "OFF";
case climate::CLIMATE_FAN_AUTO:
return "AUTO";
case climate::CLIMATE_FAN_LOW:
return "LOW";
case climate::CLIMATE_FAN_MEDIUM:
return "MEDIUM";
case climate::CLIMATE_FAN_HIGH:
return "HIGH";
case climate::CLIMATE_FAN_MIDDLE:
return "MIDDLE";
case climate::CLIMATE_FAN_FOCUS:
return "FOCUS";
case climate::CLIMATE_FAN_DIFFUSE:
return "DIFFUSE";
default:
return "UNKNOWN";
}
}
const char *climate_swing_mode_to_string(ClimateSwingMode swing_mode) {
switch (swing_mode) {
case climate::CLIMATE_SWING_OFF:
return "OFF";
case climate::CLIMATE_SWING_BOTH:
return "BOTH";
case climate::CLIMATE_SWING_VERTICAL:
return "VERTICAL";
case climate::CLIMATE_SWING_HORIZONTAL:
return "HORIZONTAL";
default:
return "UNKNOWN";
}
}
const char *climate_preset_to_string(ClimatePreset preset) {
switch (preset) {
case climate::CLIMATE_PRESET_ECO:
return "ECO";
case climate::CLIMATE_PRESET_AWAY:
return "AWAY";
case climate::CLIMATE_PRESET_BOOST:
return "BOOST";
case climate::CLIMATE_PRESET_COMFORT:
return "COMFORT";
case climate::CLIMATE_PRESET_HOME:
return "HOME";
case climate::CLIMATE_PRESET_SLEEP:
return "SLEEP";
case climate::CLIMATE_PRESET_ACTIVITY:
return "ACTIVITY";
default:
return "UNKNOWN";
}
}
} // namespace climate
} // namespace esphome