New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BME680 stops working #2421
Comments
Does it work on 0x76 or 0x77? bme680 default address is 0x76 but for me it works only on 0x77. Can you check this option? bme680_bsec: |
This is not a problem when it boots, it gets recognized fine at boot with address 0x76 but it just stops after some time.
The device at 0x23 is the BH1750 The BME680 has address 0x76 when the address pin is connected to GND and when it is connected to VCC it will be 0x77. Since I connected every pin correctly it works every boot on address 0x76. |
Having issues with a BME680 since some time too, only getting:
BME is detected:
and using:
versions from the logs:
tried switching it to 0x77 instead of 0x76 and same result |
@rhaamo I forgot this was still an open issue, it's actually solved for me. This is my current config which works:
These are my connections:
I have weird SDA/SCL pins because I was testing and am not changing working pins. |
just tried to add the frequency part to i2c and nothing better. it's weird that it stopped working for no reasons, the thing is just sitting on a shelf and I never touched it since I made it |
tried 10k, changing pins, then 10k, no success, sensor is detected on i2c bus but that's all. |
have you soldered the pins to it correctly? |
I also have these issues with 2 bme680. every 2 weeks or so I get the "Failed to set sensor settings (BME680 Error Code -2)" messages for no apparent reason. after a soft restart of the esp32 => it doesn't detect the bme680. I thought I could power the bme680 from an always on gpio so I could electrically restart the bme680 then reboot the esp32, but it doesn't work. it looks like i2c gets started first, the bme680 is not yet powered... is there a way to programmatically restart i2c ? I'm looking for a solution as my heater is controlled by a climate component with a bme680 as main sensor :-) (=> heater stops heating or always on when the issue occurs...) |
Chiming in here to say that I am having the same issue. The BME680 works for about 24 hours, and then it just stops. If you reboot ESPHome, it says "Communication with BME680 failed!" when it comes back up. The only thing that fixes it is to completely unplug the ESP for 10 seconds or so and plug it back in. Then it works for another day. I have replaced every component involved too... including a 2nd BME680 sensor. I have replaced the breadboard, the ESP8266, all jumper cables, and the sensor itself, with the same result. I've checked the soldering on both BME sensors, and tried the other suggestions from this thread such as adding the 10k resistor, changing the address, and the other config changes. I'm in the same boat as @lolorc where I'm using it to regulate a heater and I've had to add a zigbee based sensor as a fallback for when this one stops working. The trouble with that is how slowly it updates vs the BME when it is working. I am using this integration: Since I have ruled out all components involved, it makes me wonder if this is a software issue. There was a time when it wasn't like this, but it has been doing this for the past several months. |
I'm using this one : https://esphome.io/components/sensor/bme680_bsec.html and it's not crashing that often. |
in the end my "climate" esp32 has sps30, scd30 and one bme680 on its own i2c bus, no need for a 1wire sensor since I already have two temperature sensors(bme680+scd30) but bme680 is still crashing so I'm using sensor templates to workaround the issue:
|
Is there any solution known for this problem? I experience the same problem that the ESP32 loses the BME680. Does ESPHOME support connecting the BME680 over SPI? [16:13:10][C][i2c.arduino:038]: I2C Bus: Problem found, i think to many sensors are connected to the ESP32 3 volt line. By removing the other sensors from the 3 volt line the problem is solved. update - after +- 18 hours the BME280 works without any problems after removing the sensors from the 3 volt line. |
Not sure if this will help anyone, but what fixed it for me was grounding the CS pin of the BME680 to solve this problem even though its configured to communicate with I2C. |
Thanks for posting this! I had given up on this sensor, but grounding the CS pin caused it to hold steady for 5 days now. |
I wanted to confirm that setting the CS pin to ground fixed the issue. This issue was very helpful in finding the fix. This issue should be closed. |
I also have the same issue, but for me it seems to happen when the humidity goes to high like when it is raining alot. Are your sensors in a climate with high humidity? |
50-70% here |
Im having ths same issue. I;ve tried connecting it via SPI and I2C and all come up that no ic2 devices are found and not results are displayed. Im not soldering yet, just running the pin headers into the breadboard and then us individual wires to take care of the connections to the senor. I thought maybe it was a bad sensor so I grabbed a new BME680 and still have the same issue. At thyis point im thinking of trying a different ESP32. No other sensors have been added yet, im just starting this build so everything is basic. Any suggestions?
|
I also have issues, for me though the issue is that bme680 is changing the address from 0x76 to 0x77 and vise versa after a couple of days, sometimes it is working for months. |
Hey there, thanks to this issue and all the comments in it grounding the CS pin helped me solve my problem. Long story: I tried changing the speed to 10kHz and 5kHz, but that did NOT fix the problem. Inspired by @lolorc, I also added an AHT21 as a backup which does work a lot more stable. Since then i decided to use it as main sensor and use the BME as backup. It would be nice though if the BME680 component at least reported NaN if the reading is not successful so we can setup HA automations/notifications. |
grounding the pin hasn't worked for me. Anyone else seeing major inconsistency with this ? |
The problem
my BME680 sometimes stops working, the BH1750 that is on the exact same wires keeps working however.
Their pins on these sensors are exact reverse so the wires and sda-scl resistor can sit between the sensors on the breadboard.
The issue is resolved when I unplug the USB and plug it back in to restart the ESP.
Which version of ESPHome has the issue?
2021.8.2
What type of installation are you using?
Home Assistant Add-on
Which version of Home Assistant has the issue?
2021.9.5, but also had this while esphome was running in docker
What platform are you using?
ESP32
Board
nodemcu-32s (it states ESP32-WROOM-32 on the chip)
Component causing the issue
I2C
Example YAML snippet
Anything in the logs that might be useful for us?
It just crashed again this morning, this just repeats in the logs:
Additional information
Here is my home assistant history graph of the IAQ where you can see the missing pieces:
The text was updated successfully, but these errors were encountered: