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)

1 polubienie

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.