Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
8389466d2d
|
|||
|
|
78769cb5ed
|
||
|
|
0b9c1aa58f |
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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_;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user