{"id":2825,"date":"2025-02-01T18:19:44","date_gmt":"2025-02-01T17:19:44","guid":{"rendered":"http:\/\/hamspirit.pl\/SQ9MDD\/?p=2825"},"modified":"2025-02-01T18:19:44","modified_gmt":"2025-02-01T17:19:44","slug":"smart-home-czujniki-xiaomi-w-home-assistant","status":"publish","type":"post","link":"https:\/\/sq9mdd.hamspirit.pl\/?p=2825","title":{"rendered":"Smart Home \u2013 Czujniki Xiaomi w Home Assistant"},"content":{"rendered":"<p>W ostatnim czasie postanowi\u0142em rozszerzy\u0107 sw\u00f3j system smart home o czujniki BLE od Xiaomi. Wyb\u00f3r pad\u0142 na dwa modele:<\/p>\n<ul data-spread=\"false\">\n<li>Czujnik temperatury i wilgotno\u015bci<\/li>\n<li>Czujnik otwarcia drzwi z wbudowanym czujnikiem \u015bwiat\u0142a (obecno\u015b\u0107\/brak \u015bwiat\u0142a) \u2013 co by\u0142o dla mnie zaskoczeniem, bo nie oczekiwa\u0142em tej funkcji<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Integracja z Home Assistant<\/h2>\n<p>Aby doda\u0107 te urz\u0105dzenia do Home Assistanta, skorzysta\u0142em z Bluetooth Proxy na ESP32. Jest to niezwykle proste rozwi\u0105zanie oparte na ESPHome, kt\u00f3re umo\u017cliwia szybkie przekazywanie danych BLE do Home Assistanta bez konieczno\u015bci posiadania zaawansowanego sprz\u0119tu. Instalacja ogranicza si\u0119 do wgrania odpowiedniego firmware\u2019u na ESP32, co mo\u017cna zrobi\u0107 w kilka minut, korzystaj\u0105c z gotowych konfiguracji dost\u0119pnych na stronie <a href=\"https:\/\/esphome.io\/projects\/?type=bluetooth\">ESPHome Bluetooth Projects<\/a>. Ca\u0142y proces jest intuicyjny i nie wymaga specjalistycznej wiedzy.<\/p>\n<div id=\"attachment_2823\" style=\"width: 310px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2823\" class=\"wp-image-2823 size-medium\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2025\/01\/Przechwytywanie-300x245.png\" alt=\"\" width=\"300\" height=\"245\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/01\/Przechwytywanie-300x245.png 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/01\/Przechwytywanie.png 759w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-2823\" class=\"wp-caption-text\">Czujnik temperatury i wilgotno\u015bci BLE xiaomi.<\/p><\/div>\n<div id=\"attachment_2829\" style=\"width: 310px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2829\" class=\"wp-image-2829 size-medium\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-43-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-43-300x169.jpg 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-43-1024x577.jpg 1024w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-43-768x433.jpg 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-43.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-2829\" class=\"wp-caption-text\">Czujnik otwarcia drzwi.<\/p><\/div>\n<h2>Problem z brakiem encji<\/h2>\n<p>Po pierwszym dodaniu czujnik\u00f3w do Home Assistanta zauwa\u017cy\u0142em, \u017ce urz\u0105dzenia pojawi\u0142y si\u0119 w systemie, ale nie mia\u0142y \u017cadnych encji. Oznacza\u0142o to, \u017ce Home Assistant je wykry\u0142, ale nie by\u0142 w stanie poprawnie odczyta\u0107 wysy\u0142anych przez nie danych.<\/p>\n<p>Po szybkim researchu okaza\u0142o si\u0119, \u017ce problem le\u017cy w szyfrowaniu transmisji BLE. Czujniki Xiaomi wysy\u0142aj\u0105 dane zaszyfrowane i konieczne jest posiadanie odpowiednich kluczy do ich odszyfrowania.<\/p>\n<p>Na GitHubie znalaz\u0142em odpowiednie repozytorium <a href=\"https:\/\/github.com\/PiotrMachowski\/Xiaomi-cloud-tokens-extractor\">PiotrMachowski\/Xiaomi-cloud-tokens-extractor<\/a>, kt\u00f3re pozwala na \u0142atwe uzyskanie kluczy BLE bez potrzeby flashowania urz\u0105dze\u0144. Aby je uzyska\u0107, nale\u017cy:<\/p>\n<ol start=\"1\" data-spread=\"false\">\n<li>Doda\u0107 czujnik do aplikacji Xiaomi Home.<\/li>\n<li>Skorzysta\u0107 z narz\u0119dzia Xiaomi Cloud Tokens Extractor, aby odczyta\u0107 klucze z chmury Xiaomi.<\/li>\n<li>Wprowadzi\u0107 klucze do Home Assistanta.<\/li>\n<\/ol>\n<p>Po wykonaniu tych krok\u00f3w urz\u0105dzenia zacz\u0119\u0142y poprawnie raportowa\u0107 dane lokalnie, bez potrzeby korzystania z chmury.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_2824\" style=\"width: 961px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2824\" class=\"wp-image-2824 \" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2025\/01\/photo_2025-01-29_08-28-52.jpg\" alt=\"\" width=\"951\" height=\"659\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/01\/photo_2025-01-29_08-28-52.jpg 1017w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/01\/photo_2025-01-29_08-28-52-300x208.jpg 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/01\/photo_2025-01-29_08-28-52-768x532.jpg 768w\" sizes=\"auto, (max-width: 951px) 100vw, 951px\" \/><p id=\"caption-attachment-2824\" class=\"wp-caption-text\">Dane odczytane z czujnika.<\/p><\/div>\n<div id=\"attachment_2831\" style=\"width: 959px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2831\" class=\"wp-image-2831 size-full\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-57.jpg\" alt=\"\" width=\"949\" height=\"706\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-57.jpg 949w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-57-300x223.jpg 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2025\/02\/photo_2025-02-01_17-51-57-768x571.jpg 768w\" sizes=\"auto, (max-width: 949px) 100vw, 949px\" \/><p id=\"caption-attachment-2831\" class=\"wp-caption-text\">Dane odczytane z czujnika.<\/p><\/div>\n<h2>Podsumowanie<\/h2>\n<p>Integracja czujnik\u00f3w Xiaomi BLE z Home Assistant przez ESP32 jest mo\u017cliwa, ale wymaga dodatkowego kroku \u2013 odczytania kluczy szyfrowania. Dzi\u0119ki narz\u0119dziu Xiaomi Cloud Tokens Extractor ca\u0142y proces jest prosty i nie wymaga flashowania urz\u0105dze\u0144. Po uzyskaniu kluczy i konfiguracji urz\u0105dzenia dzia\u0142aj\u0105 lokalnie, co jest du\u017cym plusem dla prywatno\u015bci i niezawodno\u015bci systemu.<\/p>\n<p>Dodatkowo, zastosowanie Bluetooth Proxy na ESP32 sprawia, \u017ce integracja czujnik\u00f3w BLE jest szybka i bezproblemowa. Dzi\u0119ki gotowym rozwi\u0105zaniom dost\u0119pnym w ESPHome, konfiguracja trwa zaledwie kilka minut, co czyni to idealnym wyborem dla os\u00f3b szukaj\u0105cych prostych i skutecznych rozwi\u0105za\u0144 smart home.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W ostatnim czasie postanowi\u0142em rozszerzy\u0107 sw\u00f3j system smart home o czujniki BLE od Xiaomi. Wyb\u00f3r pad\u0142 na dwa modele: Czujnik temperatury i wilgotno\u015bci Czujnik otwarcia drzwi z wbudowanym czujnikiem \u015bwiat\u0142a (obecno\u015b\u0107\/brak \u015bwiat\u0142a) \u2013 co by\u0142o dla mnie zaskoczeniem, bo nie oczekiwa\u0142em tej funkcji<\/p>\n","protected":false},"author":2,"featured_media":2823,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,21,22],"tags":[],"class_list":["post-2825","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware","category-smarthome","category-software"],"_links":{"self":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/2825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2825"}],"version-history":[{"count":0,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/2825\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/media\/2823"}],"wp:attachment":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}