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