andyb2000 / HACS-husqvarna_automower_ble

HACS custom component for husqvarna_automower_ble
9 stars 3 forks source link

Error setting my ESPhome blutooth proxy #2

Closed al31c0 closed 1 month ago

al31c0 commented 1 month ago

Hi,

I'm addressing this issue while setting up my Bluetooth proxy (ESPHome).

The error is the following:

HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40407.0 (4.4.7) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
|-- Improv @ 1.2.3
Compiling .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o
Linking .pioenvs/esp32-bluetooth-proxy-6fad74/firmware.elf
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection20on_get_time_responseERKNS0_15GetTimeResponseE+0x0): undefined reference to `esphome::homeassistant::global_homeassistant_time'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection20on_get_time_responseERKNS0_15GetTimeResponseE+0x4): undefined reference to `esphome::time::RealTimeClock::synchronize_epoch_(unsigned int)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/esphome/components/api/api_connection.o: in function `esphome::homeassistant::HomeassistantTime::set_epoch_time(unsigned int)':
/data/build/esp32-bluetooth-proxy-6fad74/src/esphome/components/homeassistant/time/homeassistant_time.h:15: undefined reference to `esphome::time::RealTimeClock::synchronize_epoch_(unsigned int)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x128): undefined reference to `vtable for esphome::restart::RestartButton'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x12c): undefined reference to `vtable for esphome::restart::RestartButton'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x164): undefined reference to `vtable for esphome::homeassistant::HomeassistantTime'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x1f4): undefined reference to `esphome::time::RealTimeClock::RealTimeClock()'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x1f8): undefined reference to `esphome::time::CronTrigger::CronTrigger(esphome::time::RealTimeClock*)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x1fc): undefined reference to `esphome::time::CronTrigger::add_seconds(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x200): undefined reference to `esphome::time::CronTrigger::add_minutes(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x204): undefined reference to `esphome::time::CronTrigger::add_hours(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x208): undefined reference to `esphome::time::CronTrigger::add_days_of_month(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x20c): undefined reference to `esphome::time::CronTrigger::add_months(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o:(.literal._Z5setupv+0x210): undefined reference to `esphome::time::CronTrigger::add_days_of_week(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `setup()':
/data/build/esp32-bluetooth-proxy-6fad74/src/main.cpp:333: undefined reference to `esphome::time::RealTimeClock::RealTimeClock()'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/build/esp32-bluetooth-proxy-6fad74/src/main.cpp:350: undefined reference to `esphome::time::CronTrigger::CronTrigger(esphome::time::RealTimeClock*)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `std::vector<esphome::sensor::Sensor*, std::allocator<esphome::sensor::Sensor*> >::push_back(esphome::sensor::Sensor* const&)':
/data/cache/platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/bits/stl_vector.h:1076: undefined reference to `esphome::time::CronTrigger::add_seconds(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `esphome::sensor::Sensor::set_force_update(bool)':
/data/build/esp32-bluetooth-proxy-6fad74/src/esphome/components/sensor/sensor.h:80: undefined reference to `esphome::time::CronTrigger::add_minutes(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `setup()':
/data/build/esp32-bluetooth-proxy-6fad74/src/main.cpp:355: undefined reference to `esphome::time::CronTrigger::add_hours(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/build/esp32-bluetooth-proxy-6fad74/src/main.cpp:358: undefined reference to `esphome::time::CronTrigger::add_days_of_month(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `esphome::Component::set_component_source(char const*)':
/data/build/esp32-bluetooth-proxy-6fad74/src/esphome/core/component.h:149: undefined reference to `esphome::time::CronTrigger::add_months(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esp32-bluetooth-proxy-6fad74/src/main.o: in function `esphome::homeassistant::HomeassistantTime::HomeassistantTime()':
/data/build/esp32-bluetooth-proxy-6fad74/src/esphome/components/homeassistant/time/homeassistant_time.h:10: undefined reference to `esphome::time::CronTrigger::add_days_of_week(std::vector<unsigned char, std::allocator<unsigned char> > const&)'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32-bluetooth-proxy-6fad74/firmware.elf] Error 1
========================= [FAILED] Took 121.82 seconds =========================

My ESPHome .yaml is the following:

substitutions:
  name: esp32-bluetooth-proxy-6fad74
  friendly_name: Bluetooth Proxy

packages:
  esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

api:
  encryption:
    key: XXXXXXXXX

wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  manual_ip:
    static_ip: XXX.XXX.XXX
    gateway: XXX.XXX.XXX
    subnet: XXX.XXX.XXX

# Sensore di misura potenza segnale wi-fi
sensor:
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s

# Aggiunto da: https://github.com/andyb2000/HACS-husqvarna_automower_ble/

esp32_ble_tracker:
  scan_parameters:
    active: false
    continuous: false
    duration: 50sec

bluetooth_proxy:
  active: true
  cache_services: true

time:
  - platform: homeassistant
    on_time:
      - seconds: 0
        minutes: '*'
        then:
          esp32_ble_tracker.start_scan:

# create a button to reboot the esp32
button:
  - platform: restart
    name: "Mower ESP Restart"
andyb2000 commented 1 month ago

Hi, This is specific to esphome, so you may need to open an issue over there, but looking over it, you may be able to solve it by doing this:

external_components:
  - source: github://pr#6596
    components: [ bluetooth_proxy, esp32_ble_client ]

Also by changing the framework it may solve it:

esp32:
  board: esp32dev
  framework:
    type: esp-idf