Does ha support Xiaomi Mi Band 3/amazfit BIP integration?

Integrarea Cântarului Xiaomi Mi Scale 2 cu Home Assistant

20/06/2022

Rating: 4.47 (14678 votes)

În era locuințelor inteligente, unde fiecare aspect al vieții noastre poate fi monitorizat și automatizat, integrarea datelor de sănătate în sistemul centralizat de smart home devine un pas firesc. Pentru mulți entuziaști Home Assistant, cântarul inteligent Xiaomi Mi Body Composition Scale 2 reprezintă o soluție accesibilă și eficientă pentru a urmări progresul personal în fitness. Deși cântarul se integrează nativ cu aplicația Zepp Life (anterior Mi Fit), adevărata putere a datelor tale de greutate și compoziție corporală este eliberată atunci când acestea sunt aduse în ecosistemul Home Assistant. Acest ghid detaliat îți va arăta cum să realizezi această integrare folosind o placă ESP32 și ESPHome, transformând un simplu cântar într-un senzor inteligent, fără a necesita cunoștințe avansate de programare sau lipituri complicate.

Does Xiaomi Mi scale 2 work with home assistant?
The Xiaomi Mi Scale 2 was surprisingly one of the few "smart" scales I found that work well with Home Assistant (except for Withings scale, but those are much more expensive). If you've never worked with ESPHOME or purchased an ESP32 board before, don't worry - this is my first time as well. No soldering or programming is needed, either.

Vei descoperi că procesul este surprinzător de simplu, chiar dacă este prima ta interacțiune cu ESPHome sau cu plăcile ESP32. Am documentat fiecare pas, asigurându-mă că vei avea o experiență lină în adăugarea cântarului tău inteligent la rețeaua Home Assistant, deschizând noi posibilități pentru automatizări personalizate și vizualizarea datelor de sănătate într-un mod centralizat. Să începem!

Cuprins

De Ce Xiaomi Mi Scale 2 și Home Assistant?

Cântarele inteligente au devenit instrumente indispensabile pentru oricine își monitorizează sănătatea și fitness-ul. Xiaomi Mi Body Composition Scale 2 se distinge prin prețul său accesibil și funcționalitățile solide, oferind nu doar greutatea, ci și estimări ale indicelui de masă corporală (IMC) și alte date de compoziție corporală prin bioimpedanță. Problema apare atunci când datele sunt blocate într-o aplicație terță, cum ar fi Zepp Life. Deși această aplicație este funcțională, ea nu oferă flexibilitatea și puterea de automatizare pe care o poate oferi Home Assistant.

Home Assistant, pe de altă parte, este un sistem open-source de automatizare a locuinței care îți permite să controlezi și să monitorizezi aproape orice dispozitiv inteligent, indiferent de producător. Integrarea cântarului Xiaomi Mi Scale 2 direct în Home Assistant îți permite să:

  • Vizualizezi datele de greutate și IMC alături de alte date de sănătate sau de mediu.
  • Creezi automatizări bazate pe greutate (ex: aprinde lumina verde dacă ai atins un obiectiv, înregistrează o notificare când te cântărești).
  • Stochezi datele pe termen lung și să le analizezi fără dependența de serverele externe ale producătorului.
  • Elimini necesitatea de a utiliza aplicația Zepp Life după configurarea inițială.

Deși există și alte cântare inteligente compatibile cu Home Assistant, cum ar fi cele de la Withings, acestea sunt adesea mult mai scumpe. Xiaomi Mi Scale 2, combinat cu o placă ESP32, oferă o alternativă economică și la fel de eficientă.

Cum Funcționează Integrarea: Rolul ESP32 și ESPHome

Cântarul Xiaomi Mi Body Composition Scale 2 transmite datele prin Bluetooth către aplicația Zepp Life. Pentru a redirecționa aceste date către Home Assistant, avem nevoie de un intermediar. Aici intră în joc placa ESP32.

  • ESP32: Este un microcontroler puternic, recunoscut pentru capacitățile sale Wi-Fi și, crucial pentru proiectul nostru, Bluetooth. Spre deosebire de ESP8266, care nu are Bluetooth încorporat, ESP32 este alegerea ideală pentru a intercepta semnalele Bluetooth de la cântar. Odată configurat, ESP32 acționează ca o punte, primind datele Bluetooth de la cântar și trimițându-le prin Wi-Fi către Home Assistant.
  • ESPHome: Acesta este un firmware personalizat, open-source, care simplifică incredibil procesul de programare și gestionare a plăcilor ESP. Cu ESPHome, nu ai nevoie să scrii linii de cod complexe. În schimb, vei crea un fișier de configurare YAML, care descrie cum ar trebui să funcționeze dispozitivul tău ESP. ESPHome se ocupă apoi de compilarea și flash-uirea firmware-ului pe ESP32, integrând totul perfect cu Home Assistant.

Pe scurt, fluxul de date va fi următorul: Cântarul Xiaomi Mi Scale 2 trimite datele prin Bluetooth -> Placa ESP32 cu firmware ESPHome recepționează datele -> ESP32 transmite datele prin Wi-Fi -> Home Assistant le primește și le procesează.

Echipamente Necesare

Pentru a configura cu succes această integrare, vei avea nevoie de următoarele elemente:

EchipamentDescriere și Rol
Cântar Xiaomi Mi Body Composition Scale 2Dispozitivul principal care va colecta datele de greutate și IMC. Asigură-te că este modelul "Body Composition Scale 2" pentru compatibilitate maximă.
Placă ESP32Microcontrolerul care va acționa ca punte Bluetooth-Wi-Fi. Asigură-te că are un conector Micro USB pentru alimentare și comunicare cu PC-ul.
Cablu Micro USB (pentru date)Crucial! Multe cabluri Micro USB sunt doar pentru încărcare. Ai nevoie de un cablu care suportă transferul de date pentru a flash-ui firmware-ul pe ESP32.
4 baterii AAAPentru alimentarea cântarului.
Un computer cu Home AssistantSistemul tău Home Assistant trebuie să fie funcțional și accesibil, fie local, fie prin acces extern (Nabu Casa, DuckDNS).

Ghid Pas cu Pas pentru Integrare

Pasul 1: Despachetarea și Instalarea Bateriilor

Primul pas este simplu: despachetează cântarul Xiaomi Mi Scale 2 și instalează cele 4 baterii AAA. Așează cântarul pe o suprafață plană și stabilă, apoi urcă-te pe el pentru a-l activa. Dacă afișajul indică imediat un „L”, înseamnă că bateriile sunt descărcate și trebuie înlocuite. Măsurătoarea implicită a greutății va fi în kilograme (kg), dar o poți schimba ulterior în livre (lbs) din aplicație.

Pasul 2: Descărcarea și Configurarea Aplicației Zepp Life (MiFit)

Pentru configurarea inițială și pentru a obține adresa MAC a cântarului (esențială pentru ESPHome), este necesar să descarci și să instalezi aplicația Zepp Life (fostă Mi Fit) pe telefonul tău (Android sau iOS). Urmează pașii de pe ecran pentru a împerechea cântarul cu telefonul prin Bluetooth. Odată conectat, poți explora setările. Singura modificare pe care am făcut-o a fost schimbarea unității de măsură de la kilograme la livre, deși vom vedea mai târziu cum să gestionăm acest aspect direct în Home Assistant.

Pasul 3: Instalarea Add-on-ului ESPHome în Home Assistant

Următorul pas este să instalezi add-on-ul ESPHome în Home Assistant. Acest add-on îți permite să gestionezi și să programezi microcontrolerele ESP32 sau ESP8266 direct din interfața Home Assistant, eliminând nevoia de experiență în programare.

În Home Assistant, navighează la Setări > Add-on-uri. Caută „ESPHome” în magazinul de add-on-uri. Dacă nu îl găsești imediat, poți accesa direct URL-ul de instalare (care poate varia, dar de obicei se găsește în documentația ESPHome) și să dai click pe butonul „Add-On”. Home Assistant te va informa că add-on-ul lipsește și îți va cere să-l adaugi.

How do I enable the Home Assistant integration?
To enable the Home Assistant integration, open the Home Assistant settings on Notify app and enable it. Once enabled, Notify app automatically syncs your smartwatch info. The following states will be updated automatically: For Amazfit devices the default name is amazfit instead of miband
  1. Click pe Instalează.
  2. Odată finalizată instalarea, activează toate cele 4 setări disponibile (Start la boot, Watchdog, Show in sidebar, Update).
  3. Click pe Pornire.
  4. După pornire, va apărea un buton OPEN WEB UI. Click pe el pentru a începe procesul de flash-uire a plăcii ESP32.

Pasul 4: Flash-uirea Plăcii ESP32 cu ESPHome

În interfața web a ESPHome, click pe Adaugă Dispozitiv Nou. Este posibil să vezi un mesaj legat de conexiunea nesecurizată dacă accesezi Home Assistant din rețeaua locală (ex: http://192.168.x.x:8123). Pentru o experiență optimă și pentru a evita probleme, este recomandat să folosești o adresă URL externă securizată (dacă folosești Nabu Casa sau DuckDNS). Aceasta poate fi găsită în Setări > Home Assistant Cloud > Control la distanță.

Dacă nu ai acces la distanță configurat, poți flash-ui dispozitivul și direct de pe site-ul ESPHome (install.esphome.io), dar procesul prin add-on este mai integrat.

Odată pe URL-ul extern, click din nou pe Adaugă Dispozitiv. Dă-i un nume relevant, de exemplu „esp32-bt-scale”, și introdu numele rețelei Wi-Fi (SSID) și parola. Acest nume va fi vizibil și în rețeaua ta Wi-Fi.

Acum, ESPHome este pregătit să flash-uiască dispozitivul tău ESP32. Conectează placa ESP32 la computer printr-un cablu Micro USB, apoi click pe Conectează.

Depanare Conectivitate USB

Dacă ESP32 nu este detectat imediat, iată câteva sfaturi comune de depanare:

  • Sfântul Graal: Încearcă un alt cablu USB! Aceasta este cea mai frecventă cauză. Multe cabluri Micro USB sunt destinate doar încărcării și nu suportă transferul de date. Ai nevoie de un cablu „charger + data transfer”. Am testat personal 4 cabluri până am găsit unul funcțional.
  • Ascultă sunetul de conectare: Pe Windows, vei auzi un sunet distinct de „dispozitiv conectat”, similar cu cel de la o unitate flash USB. Acest lucru confirmă că folosești un cablu de date.
  • Instalează driverele corecte: Chiar dacă cablul este bun, este posibil să ai nevoie de drivere pentru portul serial. Pe pagina FAQ a ESPHome sunt menționați driverii CP2102 sau CH341. Pentru mulți, driverul CP2102x VCP Windows driver funcționează. Descarcă, extrage arhiva și rulează fișierul de instalare (ex: CP210xVCVCPInstaller_x64.exe). Urmează pașii de instalare.

După instalarea driverelor, încearcă din nou să adaugi dispozitivul. Acum ar trebui să fie recunoscut. Selectează-l, click pe Conectează. Vei vedea un ecran de „Pregătire instalare” pentru câteva minute. Fii răbdător.

Felicitări! ESPHome a fost instalat și ai adăugat primul tău nod (ESP32).

Pasul 5: Editarea Fișierului de Configurare ESP32

Nodul tău a fost adăugat la ESPHome, dar încă nu este configurat corespunzător pentru a comunica cu cântarul. Această configurare se face prin editarea fișierului YAML, un proces care nu necesită programare, ci doar copierea și lipirea de cod.

În interfața ESPHome, click pe Edit lângă nodul tău. Vei vedea un fișier YAML pregenerat. Copiază și lipește următorul bloc de cod YAML, având grijă să păstrezi cheile API și OTA care au fost autogenerate de ESPHome. Nu folosi cheile din exemplul de mai jos, ci pe ale tale!

Secțiunea manual_ip: este opțională, dar recomandată pentru o conexiune Wi-Fi mai stabilă. Adresa IP statică a ESP32 poate fi găsită în interfața routerului tău. De asemenea, va trebui să introduci SSID-ul și parola rețelei tale Wi-Fi în fișierul Secrets al ESPHome, accesibil din colțul din dreapta sus al interfeței. Asigură-te că folosești propriile credențiale.

Does Xiaomi Mi scale 2 work with home assistant?
The Xiaomi Mi Scale 2 was surprisingly one of the few "smart" scales I found that work well with Home Assistant (except for Withings scale, but those are much more expensive). If you've never worked with ESPHOME or purchased an ESP32 board before, don't worry - this is my first time as well. No soldering or programming is needed, either.
esphome: name: esp32-bt-scale-test comment: ESP32 Bluetooth Test Scale platform: ESP32 board: esp32dev logger: api: encryption: key: "TASTA_TA_DE_CRIPTAT_API_AICI" ota: password: "PAROLA_TA_OTA_AICI" wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: true ap: ssid: "Scale Fallback Hotspot" password: "PAROLA_HOTSPOT_AP_AICI" manual_ip: static_ip: 192.168.68.106 # Schimbați cu IP-ul dorit pentru ESP32 gateway: 192.168.22.1 # Schimbați cu IP-ul routerului (de obicei .1) subnet: 255.255.255.0 captive_portal: esp32_ble_tracker: sensor: - platform: xiaomi_miscale mac_address: 'D6:3G:7D:28:13:F4' # ATENȚIE! Schimbați cu adresa MAC reală a cântarului dvs.! weight: id: "miscale_weight" name: "Greutate Persoana1" icon: mdi:scale-bathroom accuracy_decimals: 2 on_value: then: - lambda: |- const float bmi_factor = 0.29860551; return id(miscale_bmi).publish_state(x * bmi_factor); - platform: template id: "miscale_bmi" name: "IMC Persoana1" icon: mdi:human-pregnant unit_of_measurement: "" accuracy_decimals: 1 

Atenție: Adresa MAC a cântarului tău Xiaomi Mi Scale 2 este crucială. O poți găsi în aplicația Zepp Life: navighează la profilul tău, click pe cântarul tău, apoi caută „Adresa Bluetooth”.

După ce ai modificat fișierul YAML cu MAC-ul cântarului și credențialele Wi-Fi (în fișierul Secrets), click pe Salvați, apoi pe Instalează. Dacă ESP32-ul tău apare ca „online”, cea mai ușoară metodă este să alegi opțiunea „Wirelessly”. Dacă întâmpini erori de autentificare, poți opta pentru „Manual Download > Modern Format” și apoi să uploadezi fișierul configurat pe ESP32 prin pagina web ESPHome.

Vei vedea un ecran „Success!” după aproximativ 2 minute.

Pasul 6: Localizarea Nodului ESPHome Descoperit în Home Assistant

Acum că ai instalat ESPHome, ai adăugat primul nod ESP32 și l-ai configurat pentru a se conecta la Wi-Fi, Home Assistant și a accepta Bluetooth de la cântar, nodul tău ESPHome ar trebui să fie detectat automat în Home Assistant.

Navighează la Setări > Integrări. Vei vedea noul tău nod ESPHome descoperit. Click pe Configurează, apoi pe Trimite. Când ți se cere, lipește cheia API Home Assistant din nodul tău ESP32 (o găsești în fișierul YAML sub blocul api:, dacă ai urmat pașii anteriori). Apoi, alocă-l unei zone din locuința ta.

Ar trebui să vezi acum 1 dispozitiv și 2 entități, reprezentând cântarul tău.

Pasul 7: Testarea și Verificarea Datelor

Pentru a testa dacă totul funcționează corect, adaugă cei doi senzori nou creați (greutate și IMC) la o carte de entități (Entities card) pe tabloul tău de bord Home Assistant. Inițial, este posibil să afișeze „necunoscut” (unknown). Acest lucru este normal, deoarece încă nu te-ai cântărit și nu au fost trimise date prin Bluetooth.

Urcă-te pe cântar acum. Poți chiar să ții telefonul lângă tine pentru a vedea dacă valorile se actualizează în timp real. În acest moment, ar trebui să se actualizeze!

Nu detectează nimic? Încearcă să dezactivezi Bluetooth-ul de pe telefonul tău. Asigură-te că nicio altă aplicație nu încearcă să se conecteze la cântar.

How do I get MiBand / Amazfit data directly?
Miband / Amazfit data direct from Notify app. No More Tasker! and google fit workarounds! Yesterday in the Notify App on my android there was a message to update to get the band data into home assistant directly. I have an amazfit 5 and I use it solely with Notify. No zepp. All you need is your ip and a long lived access token.

Sfat: Dacă încă ai probleme, încearcă să muți placa ESP32 mai aproape de cântar. Pentru cei noi în utilizarea ESP32-urilor, odată conectată la Wi-Fi, placa ESP32 poate fi alimentată de la orice priză de perete folosind un adaptor de telefon (brick) și un cablu Micro USB. Nu trebuie să rămână conectată la computerul de pe care ai flash-uit-o.

Conversia Greutății din Kilograme în Livră (LBS)

Deși ai setat unitatea de măsură de la kilograme (kg) la livre (lbs) în aplicația Zepp Life, greutatea este adesea afișată în kg în Home Assistant. Pentru a o converti, poți crea un senzor de tip „template” care să efectueze această conversie, apoi să adaugi acest nou senzor de greutate la cardul tău de entități.

Pentru a adăuga senzorul template, lipește următorul cod în fișierul tău configuration.yaml, sub blocul sensor: (dacă nu există, creează-l):

- platform: template sensors: persoana1_greutate_lbs_template: friendly_name: 'Greutate Persoana1 (lbs)' unit_of_measurement: 'lbs' value_template: "{{ (states('sensor.greutate_persoana1') | float(0) * 2.20462262185) | round(2, default=0) }}" 

Asigură-te că sensor.greutate_persoana1 corespunde numelui entității de greutate generate de ESPHome în sistemul tău. Salvează fișierul de configurare. Apoi, reîncarcă entitățile template din Developer Tools > YAML > Template Entities pentru ca noul senzor să devină disponibil în Home Assistant.

Afișarea Ultimei Măsurători

Pentru a afișa ultima dată când te-ai cântărit, poți adăuga pur și simplu secondary_info: last-changed la cardul tău de entități:

type: entities entities: - entity: sensor.greutate_persoana1 - entity: sensor.imc_persoana1 - entity: sensor.persoana1_greutate_lbs_template secondary_info: last-changed 

Personalizări Avansate

Odată ce ai integrat cu succes cântarul, există și alte posibilități de personalizare și extindere:

  • Integrarea HACS Body Miscale: Poți adăuga mai multe statistici folosind integrarea bodymiscale disponibilă prin HACS (Home Assistant Community Store). Aceasta poate oferi o analiză mai profundă a datelor de compoziție corporală.
  • Adăugarea mai multor persoane: Dacă mai multe persoane folosesc același cântar, poți configura Home Assistant să identifice utilizatorul pe baza intervalului de greutate (ex: 148-160 lbs = Persoana1, 110-120 lbs = Persoana2) și să creezi senzori dedicați pentru fiecare. Caută pe forumurile Home Assistant informații despre integrarea bazată pe „impedanță”.
  • Cardul Body Miscale: Există carduri personalizate pentru Home Assistant care oferă o vizualizare estetică și funcțională a datelor cântarului.
  • Stocarea statisticilor pe termen lung: Home Assistant stochează datele, permițându-ți să urmărești tendințele greutății și IMC-ului pe perioade lungi, ceea ce este esențial pentru obiectivele de fitness.

Aspecte Importante de Reținut

Este important de știut că, dacă ESP32 pierde alimentarea sau este deconectat, senzorii vor deveni „indisponibili” (unavailable) în Home Assistant până când te vei cântări din nou. Dispozitivul nu reține ultima stare a cântarului în memoria sa persistentă.

Întrebări Frecvente (FAQ)

Q: Cântarul nu apare în Home Assistant după configurarea ESP32. Ce fac?

R: Asigură-te că ai folosit un cablu Micro USB care suportă transferul de date și că driverele corecte (ex: CP2102) sunt instalate pe computer. Verifică de două ori adresa MAC a cântarului în fișierul YAML al ESPHome – o singură cifră greșită poate împiedica conexiunea. De asemenea, asigură-te că Bluetooth-ul telefonului tău este oprit în timpul testelor pentru a evita conflictele de conectare cu cântarul. În cele din urmă, aproprie placa ESP32 de cântar; semnalul Bluetooth poate fi limitat.

Q: De ce greutatea este afișată în kilograme (KG) chiar dacă am setat livre (LBS) în aplicația Zepp Life?

R: Setarea unității de măsură în aplicația Zepp Life afectează doar afișajul din acea aplicație. Cântarul trimite datele brute în kilograme prin Bluetooth. Pentru a afișa greutatea în livre în Home Assistant, trebuie să creezi un senzor de tip „template” care să efectueze conversia matematică din KG în LBS. Codul YAML necesar pentru acest lucru este furnizat în secțiunea „Conversia Greutății din Kilograme în Livră (LBS)” a acestui ghid.

Q: Datele se pierd dacă se ia curentul sau dacă ESP32 este deconectat?

R: Da, senzorii vor afișa starea „indisponibil” (unavailable) în Home Assistant până la următoarea cântărire. Placa ESP32 nu stochează ultima valoare măsurată de cântar într-o memorie persistentă care să supraviețuiască unei întreruperi de curent. Datele sunt actualizate doar când cântarul transmite o nouă măsurătoare.

Q: Am nevoie de cunoștințe de programare pentru acest ghid?

R: Absolut deloc! Acest ghid este conceput pentru a fi urmat pas cu pas, fără a necesita cunoștințe de programare sau experiență în electronică. Totul se bazează pe utilizarea interfețelor grafice ESPHome și Home Assistant, precum și pe copierea și lipirea de blocuri de cod YAML predefinite, cu mici modificări (cum ar fi adresa MAC și credențialele Wi-Fi).

Concluzie

Sperăm că acest ghid detaliat te-a ajutat să integrezi cu succes cântarul tău Xiaomi Mi Body Composition Scale 2 în Home Assistant. Deși a fost un proces cu mai mulți pași, beneficiile de a avea datele tale de sănătate integrate în ecosistemul tău de automatizare a locuinței sunt semnificative. Acum poți monitoriza greutatea și IMC-ul într-un mod mai inteligent și mai personalizat, deschizând uși către automatizări creative și o înțelegere mai profundă a progresului tău în fitness. Dacă ai urmat tutorialul și ai reușit să pui totul în funcțiune, nu ezita să împărtășești experiența ta – feedback-ul tău este valoros pentru alți cititori!

Dacă vrei să descoperi și alte articole similare cu Integrarea Cântarului Xiaomi Mi Scale 2 cu Home Assistant, poți vizita categoria Fitness.

Go up