From 0eadda77b02ab1d907a9cfdd1d407dffd8e2b1d3 Mon Sep 17 00:00:00 2001 From: Nad <15346053+valordk@users.noreply.github.com> Date: Sun, 13 Oct 2019 17:46:21 +0200 Subject: [PATCH] Improve SHT3xD reconnect handling (#675) * Add support for Sensirion STS3x Temperature sensors * Removed humidty reading from STS3x sensor * Fixed line error and operand error * Fixed syntax * Add test snippet for STS3x sensor * Clean up * #550 Fix STH3x component reporting WARNING status and reinitialzing the sensor upon reconnecting. * #550 Fix lint issues * Delete __init__.py * Delete sensor.py * Delete sts3x.cpp * Delete sts3x.h * Delete test1.yaml * Revert "Delete test1.yaml" This reverts commit 33e69fb703d9e97d6308ab7d93bf22494e7b1a5b. * Removed leaked STS3x changes from test --- esphome/components/sht3xd/sht3xd.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/esphome/components/sht3xd/sht3xd.cpp b/esphome/components/sht3xd/sht3xd.cpp index f23c0d59b4..559fdc21ab 100644 --- a/esphome/components/sht3xd/sht3xd.cpp +++ b/esphome/components/sht3xd/sht3xd.cpp @@ -43,8 +43,14 @@ void SHT3XDComponent::dump_config() { } float SHT3XDComponent::get_setup_priority() const { return setup_priority::DATA; } void SHT3XDComponent::update() { - if (!this->write_command_(SHT3XD_COMMAND_POLLING_H)) + if (this->status_has_warning()) { + ESP_LOGD(TAG, "Retrying to reconnect the sensor."); + this->write_command_(SHT3XD_COMMAND_SOFT_RESET); + } + if (!this->write_command_(SHT3XD_COMMAND_POLLING_H)) { + this->status_set_warning(); return; + } this->set_timeout(50, [this]() { uint16_t raw_data[2];