Hi!
I have a working D1 Mini ESP32 (Not 3266) on Ikea VINDRIKTNING.
I get PM2,5 and BT proxy working fine.
But I struggle to get a CSS811 added to it.
The following YAML gets validated properly:
substitutions:
name: ikea-vindriktning-bt-proxy
esphome:
name: ${name}
name_add_mac_suffix: false
esp32:
board: wemos_d1_mini32
framework:
type: esp-idf
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Vindriktning Fallback Hotspot"
password: "somepwd"
# Enable Home Assistant API
api:
password: "somepwd"
ota:
password: "somepwd"
logger:
improv_serial:
# captive_portal:
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
button:
- platform: safe_mode
name: Safe Mode Boot
entity_category: diagnostic
# Ikea Vindriktning PM2.5 sensor
uart:
rx_pin: GPIO16
baud_rate: 9600
i2c:
scl: GPIO22
sda: GPIO21
scan: True
sensor:
- platform: pm1006
pm_2_5:
name: "PM 2.5µm Concentration Salon"
- platform: ccs811
eco2:
name: "eCO2 Salon"
tvoc:
name: "TVOC Salon"
address: 0x5A
update_interval: 60s
# Xiaomi scale
- platform: xiaomi_miscale
mac_address: 'MAC'
weight:
name: "Xiaomi Mi Scale Weight"
id: weight_miscale
on_value:
then:
- lambda: |-
if (id(weight_miscale).state >= 50 && id(weight_miscale).state <= 68.99) {
return id(weight_mywife).publish_state(x);}
else if (id(weight_miscale).state >= 69 && id(weight_miscale).state <= 83) {
return id(weight_moi).publish_state(x);}
impedance:
name: "Xiaomi Mi Scale Impedance"
id: impedance_miscale
on_value:
then:
- lambda: |-
if (id(weight_miscale).state >= 50 && id(weight_miscale).state <= 68.99) {
return id(impedance_mywife).publish_state(x);}
else if (id(weight_miscale).state >= 69 && id(weight_miscale).state <= 83) {
return id(impedance_moi).publish_state(x);}
clear_impedance: true
- platform: template
name: Weight mywife
id: weight_mywife
unit_of_measurement: 'kg'
icon: mdi:weight-kilogram
accuracy_decimals: 2
- platform: template
name: Impedance mywife
id: impedance_mywife
unit_of_measurement: 'Ω'
icon: mdi:omega
accuracy_decimals: 0
- platform: template
name: Weight moi
id: weight_moi
unit_of_measurement: 'kg'
icon: mdi:weight-kilogram
accuracy_decimals: 2
- platform: template
name: Impedance moi
id: impedance_moi
unit_of_measurement: 'Ω'
icon: mdi:omega
accuracy_decimals: 0
but I get the following error when I try to install it:
INFO Reading configuration /config/esphome/ikea-vindriktning-bt-proxy.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing ikea-vindriktning-bt-proxy (board: wemos_d1_mini32; framework: espidf; platform: platformio/espressif32 @ 5.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- framework-espidf @ 3.40402.0 (4.4.2)
- tool-cmake @ 3.16.4
- tool-ninja @ 1.7.1
- toolchain-esp32ulp @ 2.35.0-20220830
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Reading CMake configuration...
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- Improv @ 1.2.3
Compiling /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/main.o
Linking /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/firmware.elf
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection22send_text_sensor_stateEPNS_11text_sensor10TextSensorENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x4): undefined reference to `esphome::text_sensor::TextSensor::has_state()'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/esphome/components/api/api_connection.o: in function `esphome::api::APIConnection::send_text_sensor_state(esphome::text_sensor::TextSensor*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/config/esphome/.esphome/build/ikea-vindriktning-bt-proxy/src/esphome/components/api/api_connection.cpp:481: undefined reference to `esphome::text_sensor::TextSensor::has_state()'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/main.o:(.literal._Z5setupv+0x58): undefined reference to `vtable for esphome::i2c::IDFI2CBus'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/main.o:(.literal._Z5setupv+0x5c): undefined reference to `vtable for esphome::i2c::IDFI2CBus'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/main.o:(.literal._Z5setupv+0x108): undefined reference to `vtable for esphome::ccs811::CCS811Component'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/esphome/core/controller.o:(.literal._ZN7esphome10Controller16setup_controllerEb+0x10): undefined reference to `esphome::text_sensor::TextSensor::add_on_state_callback(std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/src/esphome/core/controller.o: in function `esphome::Controller::setup_controller(bool)':
/config/esphome/.esphome/build/ikea-vindriktning-bt-proxy/src/esphome/core/controller.cpp:47: undefined reference to `esphome::text_sensor::TextSensor::add_on_state_callback(std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>)'
collect2: error: ld returned 1 exit status
*** [/data/ikea-vindriktning-bt-proxy/.pioenvs/ikea-vindriktning-bt-proxy/firmware.elf] Error 1
========================= [FAILED] Took 37.89 seconds =========================
any help will be appreciated