trvrnrth / esphome-bsec-bme680

ESPHome component for the Bosch BME680 sensor via BSEC providing temperature, humidity, pressure and indoor air quality measurements.
85 stars 17 forks source link

Not compiling esp8266 esphome 2021.10.3 HA 2021.11.1 #48

Closed electro-nic closed 2 years ago

electro-nic commented 2 years ago
INFO Reading configuration /config/esphome/airquality.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing airquality (board: nodemcuv2; framework: arduino; platform: platformio/espressif8266 @ 2.6.3)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
Library Manager: Installing BSEC Software Library @ 1.6.1480

Unpacking  [------------------------------------]    0%
Unpacking  [------------------------------------]    2%
Unpacking  [#-----------------------------------]    5%
Unpacking  [##----------------------------------]    8%
Unpacking  [###---------------------------------]   10%
Unpacking  [####--------------------------------]   13%
Unpacking  [#####-------------------------------]   16%
Unpacking  [######------------------------------]   18%
Unpacking  [#######-----------------------------]   21%
Unpacking  [########----------------------------]   24%
Unpacking  [#########---------------------------]   27%
Unpacking  [##########--------------------------]   29%
Unpacking  [###########-------------------------]   32%
Unpacking  [############------------------------]   35%
Unpacking  [#############-----------------------]   37%
Unpacking  [##############----------------------]   40%
Unpacking  [###############---------------------]   43%
Unpacking  [################--------------------]   45%
Unpacking  [#################-------------------]   48%
Unpacking  [##################------------------]   51%
Unpacking  [###################-----------------]   54%
Unpacking  [####################----------------]   56%
Unpacking  [#####################---------------]   59%
Unpacking  [######################--------------]   62%
Unpacking  [#######################-------------]   64%
Unpacking  [########################------------]   67%
Unpacking  [#########################-----------]   70%
Unpacking  [##########################----------]   72%
Unpacking  [###########################---------]   75%
Unpacking  [############################--------]   78%
Unpacking  [#############################-------]   81%
Unpacking  [##############################------]   83%
Unpacking  [###############################-----]   86%
Unpacking  [################################----]   89%
Unpacking  [#################################---]   91%
Unpacking  [##################################--]   94%
Unpacking  [###################################-]   97%
Unpacking  [####################################]  100%
Library Manager: BSEC Software Library @ 1.6.1480 has been installed!
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.3
|   |-- <ESP8266WiFi> 1.0
|-- <ESPAsyncWebServer-esphome> 2.0.0
|   |-- <ESPAsyncTCP-esphome> 1.2.3
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ArduinoJson-esphomelib> 5.13.3
|-- <ESP8266WiFi> 1.0
|-- <Wire> 1.0
|-- <ArduinoJson-esphomelib> 5.13.3
|-- <BSEC Software Library> 1.6.1480
|   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <noise-c> 0.1.4
|   |-- <libsodium> 1.10018.1
Archiving /data/airquality/.pioenvs/airquality/libFrameworkArduino.a
Linking /data/airquality/.pioenvs/airquality/firmware.elf
**/data/cache/platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: /data/airquality/.pioenvs/airquality/src/main.cpp.o:(.text.setup+0xa0): undefined reference to `vtable for esphome::bme680_bsec::BME680BSECComponent'
collect2: error: ld returned 1 exit status**
*** [/data/airquality/.pioenvs/airquality/firmware.elf] Error 1
========================= [FAILED] Took 94.62 seconds =========================
substitutions:
  board: nodemcuv2

  # Wifi credentials
  wifi_ssid: !secret wifi_ssid
  wifi_password: !secret wifi_password
  ap_ssid: "***"
  ap_password: "***"

  # OTA and API
  ota_password: "***"
  api_password: "***"

########### End user configuration ###########

esphome:
  name: airquality
  platform: ESP8266
  board: $board

wifi:
  ssid: $wifi_ssid
  password: $wifi_password
  fast_connect: on
  ap:
    ssid: $ap_ssid
    password: $ap_password

logger:
  level: INFO
ota:
  password: $ota_password
web_server:
  port: 80
i2c:
   - id: bus_a
     sda: D2
     scl: D1
     scan: True

api:
  password: $api_password

external_components:
  - source: github://trvrnrth/esphome-bsec-bme680

bme680_bsec:
    # i2c address
    # -----------
    # Common values are:
    # - 0x76
    # - 0x77
    # Default: 0x76
    address: 0x77

    # Temperature offset
    # ------------------
    # Useful if device is in enclosure and reads too high
    # Default: 0
    temperature_offset: 0

    # IAQ calculation mode
    # --------------------
    # Available options:
    # - static (for fixed position devices)
    # - mobile (for on person or other moveable devices)
    # Default: static
    iaq_mode: static

    # Sample rate
    # -----------
    # Available options:
    # - lp (low power - samples every 3 seconds)
    # - ulp (ultra low power - samples every 5 minutes)
    # Default: lp
    sample_rate: lp

    # Interval at which to save BSEC state
    # ------------------------------------
    # Default: 6h
    state_save_interval: 6h

sensor:
  - platform: bme680_bsec
    temperature:
      # Temperature in °C
      name: "BME680 Temperature"
      filters:
        - median
    pressure:
      # Pressure in mmHg
      name: "BME680 Pressure"
      unit_of_measurement: "mmHg"
      filters:
        - median
        - multiply: 0.75006375541921
    humidity:
      # Relative humidity %
      name: "BME680 Humidity"
      filters:
        - median
    gas_resistance:
      # Gas resistance in Ω
      name: "BME680 Gas Resistance"
      filters:
        - median
    iaq:
      # Indoor air quality value
      name: "BME680 IAQ"
      filters:
        - median
    iaq_accuracy:
      # IAQ accuracy as a numeric value of 0, 1, 2, 3
      name: "BME680 Numeric IAQ Accuracy"
    co2_equivalent:
      # CO2 equivalent estimate in ppm
      name: "BME680 CO2 Equivalent"
      filters:
        - median
    breath_voc_equivalent:
      # Volatile organic compounds equivalent estimate in ppm
      name: "BME680 Breath VOC Equivalent"
      filters:
        - median

text_sensor:
  - platform: bme680_bsec
    iaq_accuracy:
      # IAQ accuracy as a text value of Stabilizing, Uncertain, Calibrating, Calibrated
      name: "BME680 IAQ Accuracy"
light:
  - platform: monochromatic
    name: "Strips Lights"
    output: light_strips
trvrnrth commented 2 years ago

You'll be wanting to switch to the version in core rather than using this repo (see note at top of readme). You just need to delete the external_components section from your config.