From 35a2258f123fa25cb80d70fddfbec873a3d02479 Mon Sep 17 00:00:00 2001 From: Christian Ferbar <5595808+ferbar@users.noreply.github.com> Date: Sun, 14 Jun 2020 01:26:41 +0200 Subject: [PATCH] SenseAir: flush input buffer on read error (#1017) * SenseAir: flush input buffer on read error * SenseAir: flush input buffer on read error - fix typo * SenseAir: flush input buffer on read error - fix formating * SenseAir: flush input buffer on read error - fix formating2 * SenseAir: flush input buffer on read error - fix formating3 * SenseAir: flush input buffer on read error - fix formating4 * Update esphome/components/senseair/senseair.cpp * Update esphome/components/senseair/senseair.cpp Co-authored-by: Guillermo Ruffino --- esphome/components/senseair/senseair.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/esphome/components/senseair/senseair.cpp b/esphome/components/senseair/senseair.cpp index 8b41a441ad..19831874d7 100644 --- a/esphome/components/senseair/senseair.cpp +++ b/esphome/components/senseair/senseair.cpp @@ -18,8 +18,19 @@ void SenseAirComponent::update() { } if (response[0] != 0xFE || response[1] != 0x04) { - ESP_LOGW(TAG, "Invalid preamble from SenseAir!"); + ESP_LOGW(TAG, "Invalid preamble from SenseAir! %02x%02x%02x%02x %02x%02x%02x%02x %02x%02x%02x%02x %02x", + response[0], response[1], response[2], response[3], response[4], response[5], response[6], response[7], + response[8], response[9], response[10], response[11], response[12]); + this->status_set_warning(); + while (this->available()) { + unsigned char b; + if (this->read_byte(&b)) { + ESP_LOGD(TAG, " ... %02x", b); + } else { + ESP_LOGD(TAG, " ... nothing read"); + } + } return; }