3 Commits

Author SHA1 Message Date
8389466d2d revert current Temperature 2025-12-29 12:03:48 +01:00
Florian Simmer
78769cb5ed memory 2025-12-29 11:30:36 +01:00
Florian Simmer
0b9c1aa58f update sheme 2025-11-02 10:10:13 +01:00
3 changed files with 17 additions and 18 deletions

View File

@@ -145,7 +145,8 @@ def validate_visual(config):
# Проверка конфигурации компонента и принятие значений по умолчанию
CONFIG_SCHEMA = cv.All(
climate.CLIMATE_SCHEMA.extend(
climate.climate_schema(tclacClimate)
.extend(
{
cv.GenerateID(): cv.declare_id(tclacClimate),
cv.Optional(CONF_BEEPER, default=True): cv.boolean,

View File

@@ -17,9 +17,7 @@ namespace tclac{
ClimateTraits tclacClimate::traits() {
auto traits = climate::ClimateTraits();
traits.set_supports_action(false);
traits.set_supports_current_temperature(true);
traits.set_supports_two_point_target_temperature(false);
traits.add_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE);
traits.set_supported_modes(this->supported_modes_);
traits.set_supported_presets(this->supported_presets_);
@@ -131,11 +129,11 @@ void tclacClimate::update() {
void tclacClimate::readData() {
// BBx01x00x03x37x04x00x00x00x00x00x00x00x00x00x80x36x00x23x08x00x00x00x00x00x00x00x00x00x20x66xFFx42x00x50x21x21x21x00x00x80x00x00x00x00xE9x00x00x00x54x40x03x23x00x00x7Ax00x00x00x00xBA
//current_temperature = float((( (dataRX[17] << 8) | dataRX[18] ) / 374 - 32)/1.8);
current_temperature = float((( (dataRX[17] << 8) | dataRX[18] ) / 374 - 32)/1.8);
//target_temperature = (dataRX[FAN_SPEED_POS] & SET_TEMP_MASK) + 16;
//current_temperature = float((dataRX[29] | (dataRX[30] << 8))*0.001);
//auto current_temperature2 = float((( (dataRX[45] << 8) | dataRX[46] ) / 374 - 32)/1.8);
current_temperature = 256 - dataRX[45]; // 256-233 = 23°C (plausible!)
//current_temperature = 256 - dataRX[45]; // 256-233 = 23°C (plausible!)
//this->current_temperature = current_temperature;
//target_temperature = 20;
@@ -848,7 +846,7 @@ void tclacClimate::set_vertical_swing_direction(VerticalSwingDirection direction
}
}
// Get supported AC operating modes
void tclacClimate::set_supported_modes(const std::set<climate::ClimateMode> &modes) {
void tclacClimate::set_supported_modes(climate::ClimateModeMask modes) {
this->supported_modes_ = modes;
}
// Get horizontal damper swing mode
@@ -861,15 +859,15 @@ void tclacClimate::set_horizontal_swing_direction(HorizontalSwingDirection direc
}
}
// Get supported fan speeds
void tclacClimate::set_supported_fan_modes(const std::set<climate::ClimateFanMode> &modes){
void tclacClimate::set_supported_fan_modes(climate::ClimateFanModeMask modes){
this->supported_fan_modes_ = modes;
}
// Get supported swing modes
void tclacClimate::set_supported_swing_modes(const std::set<climate::ClimateSwingMode> &modes) {
void tclacClimate::set_supported_swing_modes(climate::ClimateSwingModeMask modes) {
this->supported_swing_modes_ = modes;
}
// Get supported presets
void tclacClimate::set_supported_presets(const std::set<climate::ClimatePreset> &presets) {
void tclacClimate::set_supported_presets(climate::ClimatePresetMask presets) {
this->supported_presets_ = presets;
}

View File

@@ -156,22 +156,22 @@ 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<climate::ClimatePreset> &presets);
void set_supported_modes(const std::set<esphome::climate::ClimateMode> &modes);
void set_supported_fan_modes(const std::set<esphome::climate::ClimateFanMode> &modes);
void set_supported_swing_modes(const std::set<esphome::climate::ClimateSwingMode> &modes);
void set_supported_presets(climate::ClimatePresetMask presets);
void set_supported_modes(climate::ClimateModeMask modes);
void set_supported_fan_modes(climate::ClimateFanModeMask modes);
void set_supported_swing_modes(climate::ClimateSwingModeMask modes);
protected:
GPIOPin *rx_led_pin_;
GPIOPin *tx_led_pin_;
ClimateTraits traits() override;
std::set<ClimateMode> supported_modes_{};
std::set<ClimatePreset> supported_presets_{};
climate::ClimateModeMask supported_modes_{};
climate::ClimatePresetMask supported_presets_{};
AirflowVerticalDirection vertical_direction_;
std::set<ClimateFanMode> supported_fan_modes_{};
climate::ClimateFanModeMask supported_fan_modes_{};
AirflowHorizontalDirection horizontal_direction_;
VerticalSwingDirection vertical_swing_direction_;
std::set<ClimateSwingMode> supported_swing_modes_{};
climate::ClimateSwingModeMask supported_swing_modes_{};
HorizontalSwingDirection horizontal_swing_direction_;
};
}