# ESPHome i Home Assistant Companion APP - odległość telefonu od furtki

**URL:** <https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239>\
**Category:** Home Assistant\
**Tags:** tracker, espresense, esphome\
**Created:** [28 Wrzesień 2023 12:06 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239 "2023-09-28T12:06:19Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Misiu](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/misiu/32/19323_2.png) [@Misiu](https://forum.arturhome.pl/u/Misiu)\
**Data wpisu:** [28 Wrzesień 2023 12:06 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/1 "2023-09-28T12:06:19Z")

</div>

Witam serdecznie,

Próbuje uruchomić tracking telefonu (dokładniej pomiar odlełości/dystansu) z wykorzystaniem ESPHome.  
Mam przy domu furtkę z elektrozaczepem otwieraną z domu, chcę ją trochę unowocześnieć z wykorzystaniem ESPHome.  
Plan jest taki, aby po podejściu na zdefiniowaną odległość furtka (elektrozaczep) się otwierała.  
Mam zainstalowaną najnowszą wersję aplikacji Home Assistant (2023.9.2) na Huawei P20, w ustawieniach aktywowałem BLE transmitter.  
W ESP Home mam następującą konfigurację:

```auto
esp32_ble_tracker:
  scan_parameters:
    active: false

bluetooth_proxy:
  active: false

```

Po aktywacji sensora, od razu w HA wykryło mi integrację iBeacon Tracker, niestety nie widzę w niej żadnych urządzeń.

Czy ktoś z forumowiczów używał telefonu/zegarka/iBeacon’a do otwoerania furtki na podstawie odległości urządzania od ESP Home? Całość działa stabilnie?  
W jaki sposób skonfigurować ESPHome, telefon i aplikację aby całość działała i abym mógł otwierać furtkę po podejściu z telefonem.

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [28 Wrzesień 2023 12:11 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/2 "2023-09-28T12:11:33Z")

</div>

> [@Misiu](#):
>
> Czy ktoś z forumowiczów używał telefonu/zegarka/iBeacon’a do otwoerania furtki na podstawie odległości urządzania od ESP Home? Całość działa stabilnie?

Możesz podrzucić jakieś linki do dokumentacji takiej funkcji (mierzenia odległości BLE trackerem)?  
Bo mówiąc szczerze pierwszy raz o tym słyszę…

---

<div class="post-metadata">

**Autor:** ![Misiu](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/misiu/32/19323_2.png) [@Misiu](https://forum.arturhome.pl/u/Misiu)\
**Data wpisu:** [28 Wrzesień 2023 12:24 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/3 "2023-09-28T12:24:23Z")

</div>

Projekt widziałem w oparciu o ESPresence ([https://espresense.com/](https://espresense.com/)),  
Prezentacja:  
[https://www.youtube.com/watch?v=p7C2QvmsM8M](https://www.youtube.com/watch?v=p7C2QvmsM8M)

Natomiast ESPHome ma sensor RSSI ([ESP32 Bluetooth Low Energy RSSI Sensor — ESPHome](https://esphome.io/components/sensor/ble_rssi.html)) zakładałem, że mogę go wykorzystać.  
Problemem jest natomiast wykrycie samego telefonu, co bym nie robił, to w logach nie widzę telefonu (a aplikacja HA i sensory są włączone)

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [28 Wrzesień 2023 13:24 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/4 "2023-09-28T13:24:52Z")

</div>

> [@Misiu](#):
>
> Huawei P20

Ten telefon to na androidzie?  
Apka wystawiająca beacon ma wszystkie uprawnienia? (m.in. praca w tle)

Jeśli chodzi o “HA Companion” to dodatkowo powinien być chyba włączony beacon

 ![Screenshot_20230928_152918_Home Assistant](https://forum.arturhome.pl/uploads/default/original/3X/0/e/0e6b8caafea9aac1009da10fb0e426b0a66d632e.png)

---

<div class="post-metadata">

**Autor:** ![Misiu](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/misiu/32/19323_2.png) [@Misiu](https://forum.arturhome.pl/u/Misiu)\
**Data wpisu:** [28 Wrzesień 2023 13:48 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/5 "2023-09-28T13:48:04Z")

</div>

Tak na androidzie, chyba ostatni model Huawei który go miał na pokładzie.  
Potwierdzam, że mam włączony Nadajnik BLE.  
ESPresence wykrył telefon i niby działa wykrywanie dystansu, ale odświeżanie jest bardzo wolne. Nie wyobrażam sobie sytuacji, gdzie podchodzę pod furtkę i muszę czekać 20 sekund a się otworzy.

Zastanawiam się dlaczego ESP Home nie chce mi złapać telefonu 😕

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [28 Wrzesień 2023 13:52 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/6 "2023-09-28T13:52:07Z")

</div>

Jeśli się tym bardziej pobawię to dam znać, póki co czasu brak (i zawsze mi szkoda baterii w telefonie na takie gadżety).  
Mam 2 proxy na bazie ESPHome i jednak nie wykryło mi telefonu, więc nie jesteś sam 😛

edit: zajrzałem w dokumentację i do działania potrzeba jeszcze czegoś takiego w ESPHome

```auto
binary_sensor:
  # Presence based on iBeacon UUID
  - platform: ble_presence
    ibeacon_uuid: '68586f1e-89c2-11eb-8dcd-0242ac130003' 
# powyżej to jest UUID ustawiany w aplikacji (pewnie będziesz miał automatycznie wygenerowany jakiś inny)
    name: "ESP32 BLE Tracker Test Service iBeacon"
```

---

<div class="post-metadata">

**Autor:** ![Misiu](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/misiu/32/19323_2.png) [@Misiu](https://forum.arturhome.pl/u/Misiu)\
**Data wpisu:** [28 Wrzesień 2023 14:04 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/7 "2023-09-28T14:04:29Z")

</div>

Dzięki za sprawdzenie 🙂 Czyli to nie tylko mój problem.  
Nie potrzebuję wideo domofonu czy domofonu, do otwierania furtki i tak będę wykorzystywał ESPHome (dwa wejścia + przekaźnik), więc otwieranie przez bluetooth to opcja, jednak chciałem sprawdzić jak całość się zachowa zanim cokolwiek zamontuję i rozpocznę “test żony”

Edit:

@szopen Przy próbie kompilacji dostaję błąd:

```auto
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/esphome/core/controller.o: in function `esphome::Controller::setup_controller(bool)':
/data/build/esphome-web-25bf30/src/esphome/core/controller.cpp:11: undefined reference to `esphome::binary_sensor::BinarySensor::add_on_state_callback(std::function<void (bool)>&&)'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/main.o: in function `esphome::preferences::IntervalSyncer::IntervalSyncer()':
/data/build/esphome-web-25bf30/src/esphome/components/preferences/syncer.h:9: undefined reference to `esphome::binary_sensor::BinarySensor::BinarySensor()'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/main.o: in function `setup()':
/data/build/esphome-web-25bf30/src/main.cpp:144: undefined reference to `vtable for esphome::ble_presence::BLEPresenceDevice'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: /data/build/esphome-web-25bf30/src/main.cpp:144: undefined reference to `vtable for esphome::ble_presence::BLEPresenceDevice'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/main.o: in function `esphome::Component::set_component_source(char const*)':
/data/build/esphome-web-25bf30/src/esphome/core/component.h:148: undefined reference to `vtable for esphome::ble_presence::BLEPresenceDevice'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: /data/build/esphome-web-25bf30/src/esphome/core/component.h:148: undefined reference to `vtable for esphome::ble_presence::BLEPresenceDevice'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/main.o: in function `esphome::Component::Component()':
/data/build/esphome-web-25bf30/src/esphome/core/component.h:67: undefined reference to `vtable for esphome::ble_presence::BLEPresenceDevice'
/data/cache/platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pioenvs/esphome-web-25bf30/src/main.o:/data/build/esphome-web-25bf30/src/esphome/components/preferences/syncer.h:11: more undefined references to `vtable for esphome::ble_presence::BLEPresenceDevice' follow
collect2: error: ld returned 1 exit status
*** [.pioenvs/esphome-web-25bf30/firmware.elf] Error 1
========================= [FAILED] Took 51.11 seconds =========================

```

Poniżej moja konfiguracja:

```auto
esphome:
  name: esphome-web-25bf30
  friendly_name: BTProxy
  platformio_options:
    board_build.mcu: esp32c3
    board_build.variant: esp32c3  

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_BT_BLE_50_FEATURES_SUPPORTED: y
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "XXX"

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    ssid: "Esphome-Web-25Bf30"
    password: "XXX"

esp32_ble_tracker:
  scan_parameters:
    active: false

bluetooth_proxy:
  active: false

binary_sensor:
  - platform: ble_presence
    ibeacon_uuid: '68586f1e-89c2-11eb-8dcd-0242ac130003' 
    name: "ESP32 BLE Tracker Test Service iBeacon"

```

Używam ESP-IDF, może dlatego.  
W aplikacji mam dwie wartości, id i UUID. ESPresence używa id, a co mam wpisać tu? an pewno UUID? Ruszyło u Ciebie?

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [28 Wrzesień 2023 15:03 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/9 "2023-09-28T15:03:25Z")

</div>

Zacznij od **clean build files** , bo to błąd linkera, więc pewnie w cache masz jakieś stare wersje komponentów, jeśli używasz ESPHome we wrześniowym wydaniu to zaktualizuj do 2023.9.1

 ![ble_tracker_samsung_by_uuid_2023-09-28_17-18](https://forum.arturhome.pl/uploads/default/original/3X/e/f/efba4874df059167aac543b0326d3c8d71f5e3df.png)

Jak widać nie działa zbyt rewelacyjnie, bo się nie ruszałem z chaty.

w tej linijce masz podać UUID taki jaki masz w aplikacji w ustawieniach (nigdy nie używaj przykładowych identyfikatorów znalezionych w sieci, zawsze ustaw własne)

> [@Misiu](#):
>
> ` ibeacon_uuid: '68586f1e-89c2-11eb-8dcd-0242ac130003'`

PS masz płytkę ESP32-C3 a nie ESP32?  
nie wiedziałem, że na C3 jest już działający bluetooth, a jest?

---

<div class="post-metadata">

**Autor:** ![gregusz](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/gregusz/32/2271_2.png) [@gregusz](https://forum.arturhome.pl/u/gregusz)\
**Data wpisu:** [28 Wrzesień 2023 18:10 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/10 "2023-09-28T18:10:52Z")

</div>

> [@Misiu](#):
>
> Tak na androidzie, chyba ostatni model Huawei który go miał na pokładzie.

Następne serie też były na andku, czyli P30, P40 itd. Chyba dopiero P50 jest na ich systemie.

---

<div class="post-metadata">

**Autor:** ![krskrab](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/krskrab/32/8566_2.png) [@krskrab](https://forum.arturhome.pl/u/krskrab)\
**Data wpisu:** [28 Wrzesień 2023 19:11 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/11 "2023-09-28T19:11:52Z")

</div>

ESPresense (esp32)

Wykrywa Samsunga (kiedy samsung skanuje) ale za każdym razem Samsung wysyła inny mac adres  
Ten sam samsung:  
 ![ScreenShot_20230928192143](https://forum.arturhome.pl/uploads/default/original/3X/b/8/b8517dd661de855e53ed812d14173f2e407a74ca.png)  
Co innego z testerem ładowania USB (BT) , TV działa idealnie  
 ![ScreenShot_20230928195425](https://forum.arturhome.pl/uploads/default/original/3X/c/0/c02ea7bc393cf068193d760fd2ac5f1300b8d42c.png)

![ScreenShot_20230928200624](https://forum.arturhome.pl/uploads/default/original/3X/6/8/6831dd35f9515c455c4fd5ebb66dce16ff94a4fa.png)

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [28 Wrzesień 2023 19:13 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/12 "2023-09-28T19:13:15Z")

</div>

> [@krskrab](#):
>
> ale za każdym razem Samsung wysyła inny mac adres

Dlatego wymagany jest UUID (tzn. nie wiem jak w tym projekcie, ale to jest zachowanie normalne i ESPHome umożliwia wykorzystanie UUID zamiast MACa), ukrywanie MAC-adresu można wyłączyć w odniesieniu do karty WiFi to może i można wyłączyć w przypadku BLE?

---

<div class="post-metadata">

**Autor:** ![krskrab](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/krskrab/32/8566_2.png) [@krskrab](https://forum.arturhome.pl/u/krskrab)\
**Data wpisu:** [30 Wrzesień 2023 18:30 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/13 "2023-09-30T18:30:05Z")

</div>

Z telefonem sprawa wygląda tak:  
(ESPresense)

W aplikacji trzeba włączyć nadajnik `Włącz nadajnik`

 ![Screenshot_20230928_223106_Home Assistant](https://forum.arturhome.pl/uploads/default/original/3X/e/0/e096bc68ef33c93d556f58826f3681a415747f5a.jpeg)  
Na dole jest UUID w moim przypadku z końcówką 214

Ustawiając  
`Główny` na 50 i `Podrzędny` na 5, Telefon wysyła dodając ustawienia do UUID “iBeacon:xxxa-0e3a-44df-9518-dc74284e8214-50-5”  
MQTT Explorer:  
 ![ScreenShot_20230930185702](https://forum.arturhome.pl/uploads/default/original/3X/f/7/f7b79be98ae8cc66e16d5d30b8b2aef3754b6a32.png)

Nadajnik można włączyć, wyłączyć za pomocą komendy

```auto
...
  - service: notify.mobile_app_sm_g975f
    data:
      message: command_ble_transmitter
      data:
        command: turn_on

```

🙂  
I inne ustawienia:

> **[Notification Commands | Home Assistant Companion Docs](https://companion.home-assistant.io/docs/notifications/notification-commands/)**
>
> The Companion apps offer a lot of different notification options. In place of posting an actual notification on the device you can instead send a command as the message to trigger certain actions on your phone. Read below to find out what commands...

![ScreenShot_20230930190822](https://forum.arturhome.pl/uploads/default/original/3X/7/0/70d47f502c168a954a4425831a8b17c81eefceea.png)

Z do pobory dodatkowej energii przez transmisje ( pełna moc) - na pewna jest zwiększona ale na razie niezauważalna  
🤔  
ESPHome

```auto
substitutions:
  name: esp32-bluetooth-proxy-991240
  friendly_name: Bluetooth Proxy 1
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: xxxxBj/40t55brpgrea7x7a0D5hWWCxVe5MurvX2+tU=

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

```

Skanuje lecz nie znajduje żadnych urządzeń

 ![ScreenShot_20230930192556](https://forum.arturhome.pl/uploads/default/original/3X/f/a/fa3aade2e68fa4f40ceabed1558e618d2c8c1470.png)

Może jakoś inaczej się odczytuje skany? ( ESP jest dla mnie nowością, choć w samochodzie mam 😀)

---

<div class="post-metadata">

**Autor:** ![Misiu](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/misiu/32/19323_2.png) [@Misiu](https://forum.arturhome.pl/u/Misiu)\
**Data wpisu:** [4 Październik 2023 07:12 UTC](https://forum.arturhome.pl/t/esphome-i-home-assistant-companion-app-odleglosc-telefonu-od-furtki/10239/14 "2023-10-04T07:12:29Z")

</div>

> [@szopen](#):
>
> PS masz płytkę ESP32-C3 a nie ESP32?  
> nie wiedziałem, że na C3 jest już działający bluetooth, a jest?

Aktualnie używam [https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html](https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html)

> [@szopen](#):
>
> Zacznij od **clean build files** , bo to błąd linkera, więc pewnie w cache masz jakieś stare wersje komponentów, jeśli używasz ESPHome we wrześniowym wydaniu to zaktualizuj do 2023.9.1

Aktualnie mam 2023.9.3, ale clean build files pomogło. Dziękuję 🙂

> [@szopen](#):
>
> w tej linijce masz podać UUID taki jaki masz w aplikacji w ustawieniach (nigdy nie używaj przykładowych identyfikatorów znalezionych w sieci, zawsze ustaw własne)

UUID użyłem na potrzeby postu, u siebie użyłem wartości z aplikacji i ruszyło.

Niestety czas odświeżania jest masakrycznie wolny. Po wyłączeniu Bluetooth w telefonie sensor w HA zmenia stan po ok minucie.
