This commit is contained in:
Florian Simmer
2025-09-03 18:41:57 +02:00
parent f79ad6a2ea
commit 97ee893c1e

View File

@@ -67,18 +67,18 @@ void tclacClimate::loop() {
delay(5);
dataRX[4] = esphome::uart::UARTDevice::read();
//auto raw = getHex(dataRX, 5);
auto raw = getHex(dataRX, 5);
//ESP_LOGD("TCL", "first 5 byte : %s ", raw.c_str());
ESP_LOGD("TCL", "first 5 byte : %s ", raw.c_str());
// Из первых 5 байт нам нужен пятый- он содержит длину сообщения
esphome::uart::UARTDevice::read_array(dataRX+5, dataRX[4]+1);
byte check = getChecksum(dataRX, sizeof(dataRX));
//raw = getHex(dataRX, sizeof(dataRX));
raw = getHex(dataRX, sizeof(dataRX));
//ESP_LOGD("TCL", "RX full : %s ", raw.c_str());
ESP_LOGD("TCL", "RX full : %s ", raw.c_str());
// Проверяем контрольную сумму
if (check != dataRX[60]) {
@@ -86,7 +86,7 @@ void tclacClimate::loop() {
tclacClimate::dataShow(0,0);
return;
} else {
//ESP_LOGD("TCL", "checksum OK %x", check);
ESP_LOGD("TCL", "checksum OK %x", check);
}
tclacClimate::dataShow(0,0);
// Прочитав все из буфера приступаем к разбору данных
@@ -97,8 +97,8 @@ void tclacClimate::loop() {
void tclacClimate::update() {
tclacClimate::dataShow(1,1);
this->esphome::uart::UARTDevice::write_array(poll, sizeof(poll));
//auto raw = tclacClimate::getHex(poll, sizeof(poll));
//ESP_LOGD("TCL", "chek status sended");
auto raw = tclacClimate::getHex(poll, sizeof(poll));
ESP_LOGD("TCL", "chek status sended");
tclacClimate::dataShow(1,0);
}
@@ -107,7 +107,7 @@ void tclacClimate::readData() {
current_temperature = float((( (dataRX[17] << 8) | dataRX[18] ) / 374 - 32)/1.8);
target_temperature = (dataRX[FAN_SPEED_POS] & SET_TEMP_MASK) + 16;
//ESP_LOGD("TCL", "TEMP: %f ", current_temperature);
ESP_LOGD("TCL", "TEMP: %f ", current_temperature);
if (dataRX[MODE_POS] & ( 1 << 4)) {
// Если кондиционер включен, то разбираем данные для отображения