XMTZC05HM bodymiscale poprzez BLE

Niestety po restarcie ESPHome nadal mam status

Tak mac adres sprawdzałęm kilka razy jest ok
Zaczytałem go opką Zepp Life na telefonie

A wartość ble_rssi jest wyświetlana?
Masz możliwość sprawdzenia na innym urządzeniu/płytce esp? @szopen zwrócił uwagę, że niestandardowy komponent na tej płytce może nie “gadać” z pozostałymi.

Właśnie programuję drugą płytkę ESP
Wartość ble_rssi wcale nie była wyświetlana.
Zobaczymy co pokaże duga płytka, jak odpali to będę starał się ogarnąć jak najwięcej czujników na jednej.
Dziękuję za pomoc @rafkan @szopen
Panowie, waga ruszyła, pokazuje jak na razie wagę, teraz spróbuje dodać dodatek bodymiscale aby ruszyły też pozostałe parametry, bo nie wiem czemu encja


ma status unknown
siła zasięgu jest na poziomie -93dBm
Doinstalowałem bodymiscale i wszystko łądnie mi wyświetla
Także serdecznie Wam koledzy dziękuję za zaangażowanie i pomoc
Korzystając z okazji mam pytanie
dlaczego jeśli wchodzę na esp po ip to mi pokazuje się interfejs www a jeśli wchodzę przez http://esp32-kotlownia.local/ to mi pokazuje że nie może znaleźć strony ?
Poniżej wsad esp aby łatwiej było namierzyć błąd

esphome:
  name: esp32-lazienka
  friendly_name: ESP32-Lazienka

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

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

ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Lazienka Fallback Hotspot"
    password: "xxxxxxxxxxx"

captive_portal:

web_server:
  port: 80

esp32_ble_tracker: 
  
sensor:
  - platform: ble_rssi
    mac_address: 5C:CA:D3:C0:9B:F7
    name: "Sygnał waga"  

  
  - platform: xiaomi_miscale
    mac_address: '5C:CA:D3:C0:9B:F7'
    weight:
      name: "Xiaomi Mi Scale Weight"
    impedance:
      name: "Xiaomi Mi Scale Impedance"      

A w kodzie name: esp32-lazienka czyli to nie to samo urządzenie czyli jak dla mnie błąd na starcie analizy, do poprawy :slight_smile:.

Ech faktycznie, zmieniłem nazwę ale już yamla nie, mój błąd.
Wrócę do domu i sprawdzę.
Dziękuję @macek za pomoc.

Zanim znalazłem info o ESPHome to podłączyłem wagę XIaomi Mi Scale 2 poprzez Passive BLE Monitor. Czy w czymś to wadzi, że nie przez ESPHome bo tego się nie doszukałem? Waga i impedancja jest więc chyba działa. Minus jest taki, że BT wbudowane w Raspberry Pi albo w wadze jest dość kiepskie i zasięg jest mocno ograniczony. Czy gdybym chciał podłączyć przez ESPHome to jest szansa, że tam zasięg BT będzie większy, mocniejszy?
Rozumiem, że muszę kupić wtedy płytkę ESP32 np taką: https://allegro.pl/oferta/esp32-esp-wroom-32-wifi-bluetooth-cp2102-nodemcu-kompatybilny-z-arduino-ide-14566471598
Czy płytka bazowa też będzie mi potrzebna?
Sorki za pytania początkującego:)

Poniżej kod dla trzech użytkowników o różnych przedziałach wagi - ostatni to pies;).

sensor:
- platform: template
  sensors:
    weight_michal:
      friendly_name: "Michał - waga"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 70 <= weight <= 100 %}
            {{ states("sensor.ble_non_stabilized_weight_cdec0e107974") }}
          {% else %}
            {{ states("sensor.weight_Michal") }}
          {% endif %}
      unit_of_measurement: 'kg'
      icon_template: mdi:human-male
- platform: template
  sensors:
    weight_iza:
      friendly_name: "Iza - waga"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 40 <= weight <= 69.99 %}
            {{ states("sensor.ble_non_stabilized_weight_cdec0e107974") }}
          {% else %}
            {{ states("sensor.weight_Iza") }}
          {% endif %}
      unit_of_measurement: 'kg'
      icon_template: mdi:human-female
- platform: template
  sensors:
    weight_zoyka:
      friendly_name: "Zoyka - waga"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 5 <= weight <= 39.99 %}
            {{ states("sensor.ble_non_stabilized_weight_cdec0e107974") }}
          {% else %}
            {{ states("sensor.weight_Zoyka") }}
          {% endif %}
      unit_of_measurement: 'kg'
      icon_template: mdi:dog-side
- platform: template
  sensors:
    impedance_michal:
      friendly_name: "Michał - impedancja"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 70 <= weight <= 100 %}
            {{ states("sensor.mi_body_composition_scale_7974_impedance") }}
          {% else %}
            {{ states("sensor.impedance_Michal") }}
          {% endif %}
      unit_of_measurement: 'Ohm'
      icon_template: mdi:omega
- platform: template
  sensors:
    impedance_iza:
      friendly_name: "Iza - impedancja"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 40 <= weight <= 69.99 %}
            {{ states("sensor.mi_body_composition_scale_7974_impedance") }}
          {% else %}
            {{ states("sensor.impedance_Iza") }}
          {% endif %}
      unit_of_measurement: 'Ohm'
      icon_template: mdi:omega
- platform: template
  sensors:
    impedance_zoyka:
      friendly_name: "Zoyka - impedancja"
      value_template: >-
        {% set weight = states('sensor.ble_non_stabilized_weight_cdec0e107974') | float %}
          {% if 5 <= weight <= 39.99 %}
            {{ states("sensor.mi_body_composition_scale_7974_impedance") }}
          {% else %}
            {{ states("sensor.impedance_Zoyka") }}
          {% endif %}
      unit_of_measurement: 'Ohm'
      icon_template: mdi:omega

W malinie jest kiepskie. Od jakiegoś czasu w HAOS z tego powodu jest wspierana obsługa dongli USB na malinowych platformach sprzętowych.

Nie, sprzęt ESP32 pod ESPHome w trybie pracy z integracją xiaomi_miscale nie koliduje z PBM, zasadniczo integracje wbudowane w ESPHome nie mają wiele wspólnego z integracjami w HA.

Tak, ta wydaje się być OK, jeśli nie będziesz wykorzystywał płytki prototypowej do użytku z breadboard lub do wlutowania w inną PCB, to możesz wybrać wersję bez wlutowanych listew golpinów - są one zwykle tańsze i łątwiej ogarnąć jakąś kompaktową obudowę.

Przede wszytkom zaletą ESP jest fakt, że możesz je umieścić w miejscu gdzie jest najbardziej potrzebne - nie jesteś uwiązany do miejsca instalacji maliny.

Jeśli masz wszystkie urządzenia BLE, które integrują się bezproblemowo z systemową integracją w HA, to możesz wykorzystać inne rozwiązanie - projekt ESPHome Bluetooth Proxy (nie wiem czy ta waga się integruje w ten sposób).

Czyli rozumiem, że ta płytka nie musi być wpięta w USB w Malinę?
Obecnie mam tylko tą wagę na BT więc chyba prościej będzie kupić jakiś dongle BT na USB? Znasz może coś sprawdzonego?

Tak, to jest w dużym stopniu autonomiczne urządzenie, akurat firmware ESPHome skupia się przede wszystkim na

  • integracji z HA
    oraz
  • możliwości budowy urządzeń DIY ściśle dostosowanych do potrzeb użytkownika.

Na podstawie tego YAMLa jest kompilowane firmware “szyte na miarę”.

Połączenie płytki ESP przez USB z komputerem, na którym pracuje HA (np. maliny) przydaje się tylko do pierwszego wgrania firmware ESPHome, ale ten projekt rozwinął się o “lata świetlne” względem tego co było przed covidem, więc nie jest to jedyna droga do załadowania ESPHome do “pustego MCU”, wręcz dla początkujących jest zalecany web-flasher obsługiwany z wybranych przeglądarek internetowych - takich z obsługą web-serial (Vivaldi, Chrome, Edge itd.).

Niestety są też “plusy ujemne” tego rozwoju - niezbędnym minimum do kompilacji staje się komputer wyposażony w >=2GB RAM, co dyskwalifikuje starsze modele maliny (istnieje obejście przez powiększenie swapa, ale to naprawdę spory kompromis).

Do sedna - wystarczy, aby sprzęt na bazie ESPHome i HA pracowały w tym samym segmencie fizycznym sieci LAN (w przypadku typowych, prostych sieci jest to całość sieci LAN).

Oficjalna lista jest we właściwym dziale Dokumentacji HA, nie uważam jej za jedyny wyznacznik, ale jest to jakiś trop

ale raczej powinieneś unikać sprzętu z “czarnej listy” niż szukać czegoś konkretnego.

Wymaganie minimum to wsparcie standardu BT4.0 lub nowszego.

Dzięki, już doszukałem się tego na forum
Zamówiłem właśnie Asus BT-400 bo jest na liście i nowszy BT500 na testy:)

Jeśli mnie pamięć nie myli oba działają.
Ale głowy sobie nie dam uciąć.

Ostatnio znajomemu pożyczałem totalnego chinola (niestety zapomniałem go zabrać jak chciał mi dzisiaj oddać, więc zdjęcia nie wrzucę).

Działał wielokrotnie lepiej od malinowego onboard (malina u niego jest w metalowej obudowie co dodatkowo psuje zasięg). Tj. pokrywał zasięgiem cały parterowy domek.


Natomiast tak informacyjnie - od paru dni ma ESPHome Bluetooth Proxy, z mniej więcej taką konfiguracją

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

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
#  compile_process_limit: 1 # uncomment only for 1GB RAM

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

api:
  encryption:
    key: !secret random_api_key

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


logger:
ota:
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
# to be determined by tests
#    active: true
    active: false

bluetooth_proxy:
# to be determined by tests
  active: true
#  active: false

button:
  - platform: safe_mode
    name: Safe Mode Boot
    entity_category: diagnostic

sensor:
  - platform: internal_temperature
    name: "${friendly_name} Internal Temperature"
    accuracy_decimals: 1
    entity_category: diagnostic
  - platform: uptime
    name: "${friendly_name} Uptime"
    entity_category: diagnostic
  - platform: wifi_signal
    name: "${friendly_name} sygnał WiFi"
    update_interval: 60s
    entity_category: diagnostic
  - platform: esp32_hall
    name: "${friendly_name} sensor Hall'a"
    update_interval: 60s

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${friendly_name} IP Address"
    ssid:
      name: "${friendly_name} Connected SSID"
    bssid:
      name: "${friendly_name} Connected BSSID"
    mac_address:
      name: "${friendly_name} Mac Wifi Address"
    scan_results:
      name: "${friendly_name} Latest Scan Results"

Fizycznie jest to płytka ESP32 zbliżona do takiej, o jaką pytałeś, w prowizorycznej obudowie z kartonu :smiley: (docelowo może jakaś mała gotowa obudowa z plastiku - link od spodem do polskiego producenta, są one dostępne w wielu sklepach z elektroniką dla hobbystów).