Home Asisstant a osprzęt Xiaomi

Większość osprzętu BLE pojawiła się u mnie dopiero po migracji z RPi na x86-64, więc nie mam bezpośredniego porównania z BT onboard (ale pamiętam, że było kiepsko).
Jeśli masz taką możliwość wyłącz kartę WiFi w RPi (np. dodajesz linijkę dtoverlay=disable-wifi w pliku config.txt na partycji boot), ale nie licz na cud.

Ponieważ planuję pozbycie się z NUCów kart WiFi+BT to zrobiłem testy 2 dongli BT4.x a konkretniej “udział wzięli”:

  • Asus USB-BT400, stick w rozmiarze “nano” na chipsecie Broadcomm BCM20702A0 ale przedstawia się jako Asus

  • Qumox (to raczej jakiś “noname” bo nieco rozpada się w rękach :stuck_out_tongue:) “USB Bluetooth nano stick” nazwa mówi wszystko, ale nano jest trochę oszukane - jest dłuższy o 2-3mm od Asusa ten za to na chipsecie Cambridge Silicon Radio, Ltd CSR8510 A10 i tak się przedstawia

HassOS posiada dla obu wbudowane sterowniki (przynajmniej wersja amd64).

Oba mają praktycznie identyczny zasięg (Asus trochę gorszy), ale tyłka nie urywa, tzn. i tak muszę korzystać ze zbudowanej wcześniej (za czasów RPi) bramki na ESP32, bo z miejsca instalacji zasięg żadnego nie sięga do najdalszych czujników.
Tak swoją drogą fabrycznie na pokładzie NUCa miałem kartę “Intel® Wireless-AC 3168 + Bluetooth 4​,2” i jej zasięg mimo wbudowanych anten był podobny.

Za czasów RPi zbudowałem (określenie nieco na wyrost, bo w sumie to 99% roboty to było przygotowanie konfiguracji) bramkę na bazie modułu Lilygo TTGO T-7, ale można użyć dowolny moduł ESP32

Przykładowy konfig (jest on sporo okrojony z tego, który używam realnie) dla bramki na bazie ESPHome (w ESPHome yaml jest bardzo podobny do konfiguracji HA a mając włączoną opcję api: sprzęt po wgraniu firmware integruje się w pełni plug-and-play z HA) z paroma dodatkowymi wodotryskami, w przykładzie jako czujniki występują LYWSD02, LYWSD03MMC (z alternatywnym firmware) i MiFlora, a tracker dla zegarka i pilota IR (ale można też używać dla diagnostyki czujników - brak obecności = problem)

esphome:
  name: mini_bramka_ble
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "realny_ssid"
  password: "oraz_klucz"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "mini_BLE_nie_mam_sieci!"
    password: "0000000000"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

esp32_ble_tracker:

switch:
  - platform: restart
    name: "mini BLE Restart"
# Nigdy nie użyłem :P

binary_sensor:

  - platform: ble_presence
    mac_address: '48:D0:CF:00:00:00'
    name: "BLE ESP Tracker O4A"

  - platform: ble_presence
    mac_address: 'DC:41:E5:00:00:00'
    name: "BLE ESP Tracker Watch"


sensor:

  - platform: wifi_signal
    name: "mini BLE sygnał WiFi"
    update_interval: 60s
    
  - platform: esp32_hall
    name: "mini BLE sensor Hall'a"
    update_interval: 60s
    
  - platform: uptime
    name: "mini BLE Uptime"
    
  - platform: ble_rssi
    mac_address: '3F:59:C8:00:00:00'
    name: "Zegar BLE ESP RSSI"
    icon: "mdi:bluetooth"

  - platform: ble_rssi
    mac_address: '48:D0:CF:00:00:00'
    name: "RSSI BLE ESP O4A"
    icon: "mdi:bluetooth"

    
  - platform: ble_rssi
    mac_address: 'C4:7C:8D:00:00:00'
    name: "MiFlora BLE ESP RSSI value"
    icon: "mdi:bluetooth"
    

  - platform: xiaomi_lywsd02
    mac_address: '3F:59:C8:00:00:00'
    temperature:
      name: "Zegar BLE ESP Temperatura"
    humidity:
      name: "Zegar BLE ESP Wilgotność"
      
  - platform: xiaomi_hhccjcy01
    mac_address: 'C4:7C:8D:00:00:00'
    temperature:
      name: "MiFlora BLE ESP Temperatura"
    moisture:
      name: "MiFlora BLE ESP Nawodnienie"
    illuminance:
      name: "MiFlora BLE ESP Natężenie Oświetlenia"
    conductivity:
      name: "MiFlora BLE ESP Przewodność"

  - platform: atc_mithermometer
    mac_address: "A4:C1:38:00:00:00"
    temperature:
      name: "ATC BLE ESP Temperatura"
    humidity:
      name: "ATC BLE ESP Wilgotność"
    battery_level:
      name: "ATC BLE ESP Poziom Baterii"
    battery_voltage:
      name: "ATC BLE ESP Napięcie Baterii"

TL;DR zbuduj sobie bramkę na bazie ESP32 i umieść ją na tym końcu domu gdzie zasięg RPi nie sięga - to załatwia wszelkie problemy (a przy okazji można np. dodać sobie tracker BT czy mierzyć poziom sygnału radiowego czujników).

1 polubienie