Niestety po restarcie ESPHome nadal mam status
Tak mac adres sprawdzałęm kilka razy jest ok
Zaczytałem go opką Zepp Life na telefonie
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
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 .
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
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 (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).