From aed22d740332b76fec1a11e2b620bbe97f0ac12f Mon Sep 17 00:00:00 2001 From: GrKoR Date: Thu, 7 Apr 2022 01:11:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=20=D0=BD=D0=B5=20=D0=B0=D0=BD=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D1=83=D0=B5=D1=82=20=D0=BF=D0=B8=D0=BD=D0=B3?= =?UTF-8?q?-=D0=BE=D1=82=D0=B2=D0=B5=D1=82=20=D0=BD=D0=B0=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D1=81=D1=82=D1=8C=3F?= =?UTF-8?q?=20Fixes=20#7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/aux_ac/aux_ac.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/aux_ac/aux_ac.h b/components/aux_ac/aux_ac.h index 8c6615e..34c80d2 100644 --- a/components/aux_ac/aux_ac.h +++ b/components/aux_ac/aux_ac.h @@ -890,6 +890,16 @@ class AirCon : public esphome::Component, public esphome::climate::Climate { // разбираем тип пакета switch (_inPacket.header->packet_type) { case AC_PTYPE_PING: { // ping-пакет, рассылается кондиционером каждые 3 сек.; модуль на него отвечает + + if (_inPacket.header->body_length != 0 ) { // у входящего ping-пакета тело должно отсутствовать + // если тело есть, то жалуемся в лог + _debugMsg(F("Parser: ping packet should not to have body. Received one has body length %02X."), ESPHOME_LOG_LEVEL_WARN, __LINE__, _inPacket.header->body_length); + // очищаем пакет + _clearInPacket(); + _setStateMachineState(ACSM_IDLE); + break; + } + _debugMsg(F("Parser: ping packet received"), ESPHOME_LOG_LEVEL_VERBOSE, __LINE__); // поднимаем флаг, что есть коннект с кондиционером _has_connection = true;