Дополнения на тему старт/стопов. Правка своих ошибок. Отключение автосохранения настроек.

- Исправил ошибки при сохранении пресетов
- Добавил опцию отключения сохранения пресетов
- Исправил положение входящей температуры в большом пакете
- Добавил флаг определения типа кондиционера Инвертор или Старт/Стоп
- Для инверторов поправил процедуру визуализации состояний, для старт/стопов написал новую. Теперь старт/стопы должны корректно отображать текущий режим работы. Нужно тестировать, но я не могу. 
ЖДУ НАЙДЕНЫХ ОШИБОК !
This commit is contained in:
Brokly
2022-05-26 13:11:19 +03:00
committed by GitHub
parent 8642e7dd5c
commit 28378cecc4
2 changed files with 277 additions and 179 deletions

View File

@@ -17,7 +17,7 @@ namespace aux_ac {
protected:
AirCon *ac_;
};
};
template <typename... Ts>
class AirConDisplayOnAction : public Action<Ts...>
@@ -29,37 +29,7 @@ namespace aux_ac {
protected:
AirCon *ac_;
};
template <typename... Ts>
class AirConSendTestPacketAction : public Action<Ts...>
{
public:
explicit AirConSendTestPacketAction(AirCon *ac) : ac_(ac) {}
void set_data_template(std::function<std::vector<uint8_t>(Ts...)> func) {
this->data_func_ = func;
this->static_ = false;
}
void set_data_static(const std::vector<uint8_t> &data) {
this->data_static_ = data;
this->static_ = true;
}
void play(Ts... x) override {
if (this->static_) {
this->ac_->sendTestPacket(this->data_static_);
} else {
auto val = this->data_func_(x...);
this->ac_->sendTestPacket(val);
}
}
protected:
AirCon *ac_;
bool static_{false};
std::function<std::vector<uint8_t>(Ts...)> data_func_{};
std::vector<uint8_t> data_static_{};
};
};
} // namespace aux_ac
} // namespace esphome