Bluetooth i home assistant

Proszę o pomoc by mnie ktoś oświecił,
W tej chwili korzystam z eshome i mam tam wpięte czujniki xiaomi po bluetooth i to działa :slight_smile:
Mam szczoteczke oralb i też bym chcia ją dopiąć (jest od tego integracja) jest też taka passive blutooth monitor która nie korzysta z bluetooth proxy (tego jeszcze nie instalowałem na esp32)
Pytanie brzmi co jak i dlaczego, jak to ugryźć, bo mam możłiwość dorzucenia kolejnego esp32 z bluetooth proxy, ale chciałbym wykorzystać istniejące z ble gateway by to podpiąć do tego passive monitora, tylko za cholere nie moge skonfigurować esp32 by to działało tu źródła:

czy ktoś mnie może nakierować w którą strone iść

ale Passive BLE Monitor to integracja do HA w której korzystasz z Bluetootha w komputerze na którym stoi HA

  1. PBM nie współpracuje z EBP
  2. PBM jest obecnie niezalecany do instalacji (wszystkie wspierane urządzenia, których wsparcie nie jest w fazie rozwojowej) są (lub będą wkrótce wspierane, bo jeśli są tylko w PBM to znaczy, że to faza rozwojowa) dostępne we wbudowanej integracji bluetooth (która zawiera “podintegracje” dedykowane poszczególnym producentom)
  3. to nie jest prawda, że PBM korzysta wyłącznie z lokalnych dongli BT/BLE, ale wymaga INNEGO firmware proxy niż standardowe EBP (jest to opisane w dokumentacji PBM) @szala1981

PBM = Passive BLE Monitor
EBP = ESPHome Bluetooth Proxy


U mnie działa na bazie integracji standardowej z użyciem EBP


jednakże nie jest prawdą, że myłem zęby 0 sekund, tylko akurat dzisiaj chyba niechcący kliknąłem szczoteczkę przy wrzucaniu na ładowarkę

1 polubienie

no tyle to i w sumie wiedziałem, pytanie brzmi czy na esp32 da sie odpalić bluetooth gateway? czy musze jakieś dodatkowe urządzenie buetooth kupować?

Da się, ale nie potrzebujesz tego (konkretnie mówię o bluetooth gateway nie ma potrzeby uruchamiania tej niestandardowej bramki, ona jest potrzebna tylko dla PBM, który też nie jest potrzebny od kilku lat), używam EBP i działa.

no ok, ale w jaki sposób łączysz po bluetooth tą szczoteczke z HA? przecież trzeba mieć bramke

Czy jest coś niezrozumiałego wyżej? MAM EBP

Podejrzewałem, że też masz

bo właśnie za pomocą EBP mam w HA zintegrowane też Xiaomi BLE

i BTHome

nie ma potrzeby korzystania z integracji na poziomie ESPHome
więc to

też nie jest już konieczne, zamiast tego w EBP wysyła się surowe telegramy BLE hurtem do HA w celu ich dekodowania w HA (EBP to znacznie bardziej efektywne rozwiązanie jeśli nie budujesz sobie lokalnych wyświetlaczy na bazie ESPHome, bo tylko wtedy ma sens lokalne przetwarzanie telegramów w ESP, no nie tylko, ale potencjalne scenariusze gdzie to jest koniecznością są wybitnie niestandardowe).

Wręcz można pozostawić powyższą integrację w ESPHome i dokompilować sobie tylko obsługę EBP (chociaż nie wiem jak będzie z wydajnością, ale z tego się nie strzela - nawet jeśli stracisz część telegramów to przy tak częstym raportowaniu jakie jest w BLE krzywda pomiarom się raczej nie stanie)

Przykładowy YAML dla typowej zwykłej płytki ESP32 bez kablowego Ethernetu (zwykłej = bez żadnych przyrostków w nazwie, czyli NIE S3, NIE C3, NIE C6)

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

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
# linijka poniżej dla kompilacji na kiepskim sprzęcie z 2 GB RAM
# jeśli macie cokolwiek lepszego można wywalić
  compile_process_limit: 2

esp32:
  board: esp32dev
  framework:
    type: esp-idf
# uwaga jeśli wcześniej był na tej samej płytce framework arduino 
# to KONIECZNIE trzeba wgrać to firmware po kabelku, a  nie przez OTA!

api:
  encryption:
    key: YZ09JZ4tKTsU3XYCFIcZnS1zpWn3D6swV2+KWcu/ART=
# powyższy klucz jest tylko przykładowy, użyj własny, można i bez klucza

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "${name}-AP"
    password: "12345678"


logger:
ota:
  platform: esphome
  
improv_serial:

esp32_ble_tracker:
  scan_parameters:
    # We currently use the defaults to ensure Bluetooth
    # can co-exist with WiFi In the future we may be able to
    # enable the built-in coexistence logic in ESP-IDF
#    active: true
    active: false

# moje słowo komentarza
# dla większości zastosowań wystarcza tryb pasywny. czyli active: false
# dotyczy to zarówno proxy niżej jak i trackera wyżej
# ale są zastosowania gdy konieczny jest tryb aktywny 

bluetooth_proxy:
#  active: true
  active: false

button:
  - platform: safe_mode
    name: Safe Mode Boot
    entity_category: diagnostic
# ten przycisk się przydaje w wypadku problemów z OTA jeśli jest za duży ruch BLE 
# problem wyżej chyba już dawno naprawiono, ale i tak warto mieć tryb awaryjny

sensor:
  - platform: internal_temperature
    name: "${friendly_name} Internal Temperature"
    accuracy_decimals: 1
    entity_category: diagnostic
  - platform: uptime
    name: "${friendly_name} Uptime"
    entity_category: diagnostic
    filters:
      - lambda: return x / 3600;
    unit_of_measurement: "h"
  - platform: wifi_signal
    name: "${friendly_name} sygnał WiFi"
    update_interval: 60s
    entity_category: diagnostic

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${friendly_name} Adres IP"
    dns_address:
      name: "${friendly_name} Adres DNS"
    ssid:
      name: "${friendly_name} SSID"
    bssid:
      name: "${friendly_name} BSSID"
    mac_address:
      name: "${friendly_name} WiFi MAC-adres"
    scan_results:
      name: "${friendly_name} ostatni skan"

Wsparcie dla BLE w HA jest obecnie (i to od dość dawna) na wystarczającym poziomie, by wykorzystywać je z lokalnym donglem USB BT/BLE i/lub z EBP, oraz nie ma potrzeby używania starych rozwiązań (które kiedyś były koniecznością, a dziś są niemal fanaberią hardkorów ;D ) takich jak PBM, czy integracje wbudowane w ESPHome…
(O PBM sam kiedyś naskrobałem jakiś minitutorialik, co gorsza nie potrafię go dziś znaleźć, ale to było w 2019 albo 2020 roku, no i wtedy w HA nie było w ogóle natywnej obsługi BLE.)

fragment dokumentacji PBM, pogrubienie moje, bo wyraźnie wskazuje by używać oficjalnej integracji, a nie PBM

The following integrations are available as official Home Assistant integration.

BlueMaestro
b-parasite (will be using BTHome with new firmware)
BTHome
Govee
HHCC
iBeacon
Inkbird
Kegtron
Moat
Oral-B
Qingping
RuuviTag
SensorPush
Sensirion (MyCO2 gadget)
Thermobeacon
Thermopro / Sensorpro
Thermobeacon (Thermoplus, Brifit, Oria)
Tilt
Xiaomi (part 1 and 2)
Device tracking based on MAC address (Bluetooth LE tracker integration)

2 polubienia

i o ten przykłady yaml sie rozchodziło! dziekuje jutro będe testował

Chyba byś sobie poradził i bez niego - link do dokumentacji jest też gdzieś u góry.

ok, odpaliłem to, działa, tj wykrywa mi urzadzenia bluetooth ale sam HA, ta integracja passive bluetooth monitor nic nie wykrywa… co jeszcze robie źle?

Już chyba nie umiem jaśniej, po jakiego grzyba PBM ?
Czy masz model nie wspierany systemowo w HA, a dostęny tylko w PBM?

Serie modeli wymienione tu

nie wymagają PBM

Umyłeś zęby? Szczoteczki w przeciwieństwie do większości samodzielnych sensorów nie nadają informacji gdy są wyłączone.

w komentarzach do YAMLa zawarłem pewne kwestie, a tu masz powód

Important

Updates of the battery sensor require an active Bluetooth connection and relatively close proximity. If you use a Bluetooth proxy, please ensure it supports active connections. All the other sensors update with active or passive connections.

więc w tym szczególnym przypadku warto zmienić tak (w tym proxy/trackerze najbliżej łazienki)

esp32_ble_tracker:
  scan_parameters:
    active: true

Wszystkie YAMLe wyżej to EBP

jeśli nadal się upierasz na PBM to musisz użyć INNE firmware (ESPHome BLE Gateway) - zgodnie z tym co podlinkowałem na samej górze, w 3 poście tego wątku, od 3 dni nic w tej kwestii się nie zmieniło (jak i przynajmniej przez okres około roku wstecz albo i sporo dłużej) i w dającej się przewidzieć przyszłości też się nie zmieni…

1 polubienie