Fix BME280 initialization before wifi setup (#4190)

fixes https://github.com/esphome/issues/issues/3530
This commit is contained in:
Alex 2023-01-26 02:09:38 +03:00 committed by Jesse Hills
parent aa7f3569ec
commit 7f97f42552
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A

View File

@ -88,7 +88,10 @@ void BME280Component::setup() {
// Mark as not failed before initializing. Some devices will turn off sensors to save on batteries
// and when they come back on, the COMPONENT_STATE_FAILED bit must be unset on the component.
this->component_state_ &= ~COMPONENT_STATE_FAILED;
if ((this->component_state_ & COMPONENT_STATE_MASK) == COMPONENT_STATE_FAILED) {
this->component_state_ &= ~COMPONENT_STATE_MASK;
this->component_state_ |= COMPONENT_STATE_CONSTRUCTION;
}
if (!this->read_byte(BME280_REGISTER_CHIPID, &chip_id)) {
this->error_code_ = COMMUNICATION_FAILED;