Using BME680 sensor with BSEC

Hi Doug,

I compiled your code with ESPHome version 2023.10.3 and after fixing two C++ errors in the interval: block it compiles without errors and no messages about bsec.h.

line 421 changed to:
lambda: 'return (id(auto_mode) == true);'

line 426 changed to:
lambda: 'return (id(mq8_percent_on) > id(bme688_percent_on));'

My question about which version of ESPHome your are using is still not answered but that’s an important one, also because the location for the build files is changed since 2023.9.0 (ESPHome 2023.9.0 - 27th September 2023 — ESPHome).

It looks like you are using a (very) old version of ESPHome, because if I look at the Dependency Graph in your log and my log, the version numbers are almost all higher in my log than in yours. And I’m also missing the first line containing the ESPHome version number. (See below).

INFO ESPHome 2023.10.3
INFO Reading configuration /config/esphome/test-2.yaml...
INFO Detected timezone 'Europe/Amsterdam'
INFO Generating C++ source...
INFO Compiling app...
Processing battery-fan-control (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.0.1
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Wire @ 2.0.0
|-- ArduinoJson @ 6.18.5
|-- SPI @ 2.0.0
|-- BSEC Software Library @ 1.6.1480
2 Likes

Thank you so much Jos. I went to the link you provided to September 2023 - esphome and found that my version of esphome is totally outdated and uses .esphome rather than /src (that is why I could not find /src directory. BTW, I do not know how to find what version of esphome I have, but it is from when I grabbed the integration, perhaps years ago.
I really am embarrassed, but I do not know how to update my esphome. I have 28 devices in esphome and I would like to preserve them as best I can. Any advise?

I found the version under “add-ons” and it is 2022.3.1, with “auto update” set. Why is it not updating?

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 

-----------------------------------------------------------
 Add-on: ESPHome
 ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
-----------------------------------------------------------
 Add-on version: 2022.3.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1  (aarch64 / odroid-n2)
 Home Assistant Core: 2023.10.5
 Home Assistant Supervisor: 2023.10.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing... 
[cont-init.d] 10-requirements.sh: exited 0.
[cont-init.d] 20-nginx.sh: executing... 
[cont-init.d] 20-nginx.sh: exited 0.
[cont-init.d] 30-dirs.sh: executing... 
[cont-init.d] 30-dirs.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[17:15:39] INFO: Waiting for dashboard to come up...
[17:15:39] INFO: Starting ESPHome dashboard...

I did stop/start/restar on add-on/esphome and got the above saying 2022.3.1 is the latest??

Latest add on version 2023.10.5.

See ESPHome 2022.2.0 - 16th February 2022 — ESPHome you have to remove the old one and install new one from different repo. Removing the old one doesn’t remove the yaml files, however a backup of your yaml files is always good.

2 Likes

This was the answer! Your link took me to the fix. I now have esphome version 2023.10.5 and my yaml with bme680_bsec compiles successfully.
It is not possible to say how much I appreciate the work you put in solving this problem.
My programming skills were not adequate to solve this. Perhaps there are others this will help.
I am surprised that the add-on section setting of “auto-update” neither updated or warned of a problem.
How many of my add-ons have this problem?
THANK YOU SO MUCH JOS!

2 Likes

Glad to read your problem is solved!

I don’t think you will have an update problem with other add-ons. This was a special one. ESPHome was a community add-on which was adopted by the HA-team as an integral part of HA, so they moved it to the official HA repro. It was also announced in one of the HA release-notes. So it is always good to check the monthly HA release notes for breaking changes.

2 Likes

My Olimex ESPs require the ESP-IDF framework, which (according to the Bosch forum) isn’t supported:

The current BME688 BSEC software does not support ESP-IDF

It seems like there is a new BSEC2 implementation but it shows that ESP32 IDF wasn’t tested

Anyone tried it out to see if it works? The Github comments are locked so can’t ask there.