diff --git a/components/tclac/tclac.cpp b/components/tclac/tclac.cpp index 52b24c3..f0b789d 100644 --- a/components/tclac/tclac.cpp +++ b/components/tclac/tclac.cpp @@ -182,7 +182,7 @@ void tclacClimate::readData() { preset = ClimatePreset::CLIMATE_PRESET_ECO; } else if (dataRX[9] & (1 << 2)){ preset = ClimatePreset::CLIMATE_PRESET_COMFORT; - } else if (dataRX[7] & (1 << 7)) && (dataRX[7] & (1 << 7)) && (dataRX[7] & (1 << 7)){ + } else if ((dataRX[7] & (1 << 7)) && (dataRX[7] & (1 << 7)) && (dataRX[7] & (1 << 7))){ preset = ClimatePreset::CLIMATE_PRESET_SLEEP; } @@ -212,7 +212,7 @@ void tclacClimate::control(const ClimateCall &call) { if (call.get_preset().has_value()){ switch_preset = call.get_preset().value(); } else { - switch_preset = preset; + switch_preset = preset.value(); } // Запрашиваем данные из переключателя режимов вентилятора diff --git a/components/tclac/tclac.h b/components/tclac/tclac.h index 76f2136..3101613 100644 --- a/components/tclac/tclac.h +++ b/components/tclac/tclac.h @@ -148,6 +148,7 @@ class tclacClimate : public climate::Climate, public esphome::uart::UARTDevice, void set_horizontal_airflow(AirflowHorizontalDirection direction); void set_vertical_swing_direction(VerticalSwingDirection direction); void set_horizontal_swing_direction(HorizontalSwingDirection direction); + void set_supported_presets(const std::set &presets); void set_supported_modes(const std::set &modes); void set_supported_fan_modes(const std::set &modes); void set_supported_swing_modes(const std::set &modes);