Pro laika může chytrá domácnost připadat jako jedno velké fungující kouzlo. Ovšem kdo už trochu přičichnul k jejímu vnitřnímu fungování zjistil, že chytrá domácnost je naprogramovaný ekosystém, který využívá získané informace (ze senzorů, z internetu, z podnětů obyvatel..) a na základě daných nebo dynamických pravidel dělá akce. No a dnes se podíváme na jeden z velmi příhodných senzorů – Xiaomi LYWSDCGQ Bluetooth senzor teploty a vlhkosti – a jak jej zaregistrovat do Home Assistanta na RaspberryPi (levný ale geniální mozek mé chytré domácnosti).
Následně jej můžeme použít k zobrazování měřených hodnot a vytvářet různé automatizace a scénáře, které budou hlídat teplotu v domácnosti na základě přítomnosti osob a naopak zase šetřit energie na vytápění při našem pobytu v práci či ve škole. Jak vytvářet automatizace naleznete v jednom z minulých dílů. (ZDE)
Technické specifikace Xiaomi BLE LYWSDCGQ
- Komunikační protokol Bluetooth Low Energy
- Váha – 20g
- Displej – průměr 4.3cm, černobílý LCD
- Rozmezí teplot – 0-60℃
- Rozmezí vlhkosti – 0%-99%
- Napájení – 1x AAA (není součástí balení)
- V balení je i nalepovací držák na stěnu
Užitečné odkazy:
- Odkaz na Xiaomi senzor: https://s.click.aliexpress.com/e/_dWve2PJ
- Odkaz na ESP32: https://s.click.aliexpress.com/e/_dVmwi3n
- Doporučuji ochrannou krabičku na ESP32 proti poškození: https://zhmotnito.cz/esp32
- Odkaz na integraci do ESPHome: https://esphome.io/components/sensor/xiaomi_lywsdcgq.html
- Odkaz na integraci do Home Assistanta napřímo:https://www.home-assistant.io/integrations/mitemp_bt/
- Odkaz na aplikaci pro zjištění MAC adresy BLE zařízení: https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner
Integrace do Home Assistanta za pomocí bluetooth rozhraní Raspberry Pi (3,4)
Pokud plánujete tento Xiaomi senzor umístit do jedné místnosti spolu s Raspberry Pi, na kterém vám běží Home Assistant, je tohle ta správná cesta. Pokud jej plánujete umístit dále než 10 metrů nebo do nějaké vedlejší místnosti, může se stát, že signál mezi senzorem a Home Assistantem nebude dostačující a nebude vše fungovat jak má. K tomu vám pak pomůže ESPHome a postup popíši níže.
Pokud nepoužíváte klasickou instalaci Home Assistanta pomocí image, ale máte jej v dockeru, VirtualBoxu a podobně, musíte se ujistit, že má Home Assistant přístup k bluetooth chipsetu.
Následně si stáhněte aplikaci BLE Scanner pro android. Pro iOS nejspíše taky existuje alternativa. Pomocí této aplikace dohledejte MAC adresu Xiaomi senzoru. V případě nezdaru zkuste podržet tlačítko na zadní straně senzoru, dokud se ikona bluetooth nerozbliká.
Jakmile známe MAC adresu, můžeme senzor zaintegrovat. Vložte tedy následující řádky do vašeho souboru Configuration.yaml (například pomocí File Editoru – původně Configurator). Místo mac ve vzoru doplňte tu, kterou jste našli v aplikaci BLE Scanner u daného Xiaomi senzoru. Když si nebudete vědět rady, koukněte na video.
sensor: - platform: mitemp_bt mac: 'xx:xx:xx:xx:xx:xx'
Případně můžete doplnit nepovinné parametry, které naleznete na detailu integrace.
Nyní stačí Zkontrolovat konfiguraci a Restartovat server Home Assistanta, aby se konfigurace nově načetla.
Následně už budete mít k dispozici 3 entity:
Přidání pomocí ESPHome a desky ESP32
Deska ESP32 (odkaz na začátku článku) umožní „sbírat“ bluetooth komunikaci ve svém okolí, překládat ji na Wi-Fi a tak posílat do Home Assistanta, který již na vaší síti připojený je. Umožní tak zařízení s krátkým dosahem kvůli bluetooth zaintegrovat skrze Wi-Fi s větším dosahem a nejste limitování technologií bluetooth.
V tomto díle jsme si ukazovali jak se s ESPHome pracuje, proto nebudu zacházet do detailů.
https://hello-future.cz/home-assistant/zaciname-s-esphome/
I tentokrát budete potřebovat mac adresu senzoru. Můžete ji zjistit pomocí aplikace BLE Scanner nebo v ESPHome pomocí integrace BLE tracker.
I to ukazuji ve videu, takže doporučuji shlédnout.
Znáte-li mac adresu, můžete vložit následující konfiguraci pod tu prvotní, kterou vytvoří ESPHome.
sensor: - platform: xiaomi_lywsdcgq mac_address: 58:2D:34:38:xx:xx temperature: name: "Xiaomi BLE Temperature" humidity: name: "Xiaomi BLE Humidity" battery_level: name: "Xiaomi BLE Battery Level"
Následně stačí nahrát firmware na desku (jak bylo ukázáno v „Začínáme s ESPHome„) a zaintegrovat nově flashnuté ESP32 do Home Assistanta. Tím se nám dostanou nové entity do HA. Výhoda je, že můžete tímto způsobem připojit a zaintegrovat i další senzory, které ESPHome podporuje.
To je pro dnešek vše
Napište mi co vás dále zajímá a jak vám byl tento článek užitečný. Pokud máte nějaký dotaz, napište ho sem do komentářů, případně se přidejte do naší FB skupiny Smart Home Bastlíři CZ/SK, kde vám ostatní rádi poradí.
Zároveň můžete najít Hello-Future na těchto sítích:
Instagram: https://www.instagram.com/hellofuturecz
Youtube: https://www.youtube.com/channel/UCaq4XkexFgCCLTFNQKXcwyw
Tyto teploměry jsou opravdu povedené, po domě jich mám několik. Bohužel dosah BT je opravdu mizerný a potřebuji několik ESP + RPi na sběr dat. Kupodivu originál GW od Xiaomi je chytne všechny sama a to je v kraji domu a né uprostřed. Stejně tak i BT/WiFi GW od Xiaomi má velmi dobrý dosah, ale nepodařilo se mi z ní vytáhnout data, ta posílá pouze do originální aplikace.
Tak RPi stačí jedno, ne? ESP se připojí na wifi AP a data pak tečou rovnou do maliny. Mám doma 3x ESP, 6x teploměr a 1x RPi 🙂
Špatně jsem to formuloval, RPi je samozřejmě jen jedno, ESP na příjem je více.
Stále se mi nedaří senzor integrovat. Snažím se o způsob „na přímo“ tedy rovnou přes Bluetooth. Postupuji přesně podle návodu, tam kde končí, vše uložím, zkontroluji a restartuji systém. Položky teplota, vlhkost a baterie se sice objeví, ale nejsou u nich žádná data. Postup jsem zkoušel opakovat několikrát.
V home assistentu jsem nový, nemusí se nejprve někde „zapnout“ bluetooth nebo tak podobně?
Pi4, Temperature and Humidity Sensor 2
Děkuji za radu
A opravdu máš ten stejný senzor jako já? Ten kulatý? Je pak ještě menší hranatý, který je na integraci trochu složitější.
Případně jej zkus přemístit blíže k RPi, jestli jej třeba nemáš daleko.