Integrace u tohoto produktu dává zvláště význam, jelikož získate možnost přístupu k aktuálním hodnotám Mi Flora i když nebudete doma – standardně Mi Home aplikace používá právě bluetooth telefonu, takže musíte být v bezprostřední blízkosti rostliny. Pokud však použijete integraci přes HomeAssistent můžete kontrolovat stav rostliny klidně z opačné strany zeměkoule.
Pokud jste minulý článek o představení produktu Mi Flora nečetli a netušíte co to vlastně umí, doporučuji se na něj nejprve kouknout.
?♂️Budu předpokládat, že používáte HomeAssistent jako Hass.io instalaci, kde je již podpora bluetooth integrována. Pokud by někdo měl s tímhle problémy, dejte mi vědět a článek v případě potřeby rozšířím.
?Pokud to pro vás není problém doporučuji než přímou integraci z HomeAssistenta pomocí postupu níže použít ESPHome nahrané do ESP32 mikrokontroleru – ten používá narozdíl od HomeAssistent addonu pasivní komunikaci, což má pozitivní vliv na živostnost baterie – více v tomto článku.
Bluetooth příjímač
Jelikož Mi Flora používá ke komunikaci protokol Bluetooth budeme potřebovat na straně HomeAssistenta nějaký Bluetooth přijímač.
Pokud používáte desku s integrovaným Bluetooth a ten je funkční v operačním systému pak máte o jednu starost méně.
Pokud však bluetooth na desce nemáte a nebo není v operačním systému funkční – což je případ například mého NanoPi PC T4 v kombinaci s Armbianem – není potřeba zoufat. Řešení je poměrně jednoduché – stačí si dokoupit malý USB dongle.
Mě se odvědčil již několikrát tento za cca. 2USD – funguje bez problémů ve všech operačních systémech – testováno s Windows 10, macOS Mojave a Armbianu (Ubuntu Disco).
?Pokud používáte operační systém Armbian pak bude zřejmě ještě nutné aktivovat podporu Bluetoot pomocí utility Armbian-config. Položka v menu Network -> Bluetooth support.
Zda je bluetoot přijímač funkční otestujeme pomocí příkazu hcitool dev
. Měli bychom vidět minimálně jedno rozhraní s označením hci0
.
root@nanopct4:~ # hcitool dev
Devices:
hci0 00:1A:7D:DA:71:13
Zjištění adresy Mi Flora
Jakmile už víme, že Bluetooth přijímač je funkční můžeme se pustit do skenování okolí. K tomu použijeme aplikaci bluetoothctl
, ve které je potřeba po spuštění zadat příkaz scan on
.
root@nanopct4:~ # bluetoothctl
Agent registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: yes
[NEW] Device 65:B6:8C:24:20:F0 65-B6-8C-24-20-F0
[NEW] Device 46:76:07:91:83:96 46-76-07-91-83-96
[NEW] Device C4:7C:8D:6A:9C:FF Flower care
Jak můžete vidět v mém případě byla Mi Flora nalezena hned jako třetí položka. Adresu si poznačíme a skenování ukončíme pomocí scan off
a příkazu quit
.
[bluetooth]# scan off
Discovery stopped
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: no
[CHG] Device C4:7C:8D:6A:9C:FF RSSI is nil
[CHG] Device 65:B6:8C:24:20:F0 TxPower is nil
[CHG] Device 65:B6:8C:24:20:F0 RSSI is nil
[CHG] Device 46:76:07:91:83:96 TxPower is nil
[CHG] Device 46:76:07:91:83:96 RSSI is nil
[bluetooth]# quit
Konfigurace v HomeAssistant
Jakmile máme Bluetooth adresu je konfigurace pro HomeAssistant triviální. Do souboru configuration.yaml přídáme:
sensor:
- platform: miflora
mac: 'C4:7C:8D:6A:9C:FF'
Mac adresu nahradíme tou co jsme našli v přechodzím kroku.
? Pozor pokud už máte sekci sensor tak ji znovu nepište, ale přidejte konfiguraci do již existující sekce.
Volitelně si pak můžeme ještě pomocí volby monitored_conditions
zapnout sledování je některých veličin, což mi ale přijde zbytečné.
Co můžeme měřit?
Mi Flora nám bude do HomeAssistenta posílat hned 5 údajů:
- moisture – vlhkost půdy
- light – množství světla dopadající na sensor v Mi Flore
- temperature – aktuální teplotu v okolí sensoru
- conductivity – množství živit v půdě
- battery – stav nabití baterie v Mi Flore
Zobrazení v HomeAssistentovi
Pokud jsme si zařízení nepřejmenovali pomocí atributu name
v konfiguraci, pak bychom můžeme pro lovalace použít například něco následujícího:
- type: entities
entities:
- entity: sensor.mi_flora_battery
- entity: sensor.mi_flora_conductivity
- entity: sensor.mi_flora_light_intensity
- entity: sensor.mi_flora_moisture
- entity: sensor.mi_flora_temperature
title: Rostlina - Fikus
show_header_toggle: false
… což se nám vyrobí následující sekci:
Já zatím používám Mi Floru necelé tři týdny a líbí se mě, jak už člověk nemusí mít obavy, že rostlinu přelije nebo naopak utrápí suchem 🙂
V nějakém dalším článku o automatizaci si ukážeme jak si poslat notifikaci v případě potřeby zalití květiny.
Kompletní série o HomeAsistantovi obsahuje následující články:
- 1. část – Instalace HomeAsisstent
- 2. část –
Integrace Sonoff s firmware Sonoff-Tasmota - 3. část –
Integrace Homekit - 4. část –
Integrace Sonoff s firmware Sonoff-Tasmota – 2 část - 5. část –
Integrace s Wemos D1 asenzory teploty - 6. část –
Integrace Sonoff s firmware ESPHome - 7. část –
Integrace Sonoff POW s firmware ESPHome - 8. část –
Integrace LED Magic Home s firmware ESPHome - 9. část –
Integrace Xiaomi Mijia a Aqara - 10. část – Integrace vlastní Zigbee gateway
- 11. část – Vzdálený přístup do Hass.io z Internetu
- 12. část – zobrazení senzorových data pomocí InfluxDB a Grafany
- 13. část – Hass.io Add-ony, které používám
- 14. část – Integrace Xiaomi Mi Flora
- 15. část – Integrace Withings (Nokia)
- 16. část – náhrada SQLite databází MySQL
- 17. část – HACS Add-ony – instalace a konfigurace
- 18. část – Integrace Sonoff s firmware eWeLink
- 19. část – nová integrace Sonoff pro HA
- 20. část – měření spotřeby
- 21. část – automatické zálohy a obnovení ze zálohy
- 22. část – napojení hlasového asistenta Amazon Alexa
- 23. část – automatické zálohy na síťový sdílení disk (Samba)
- 24. část – Bluetooth zařízení a ESPHome proxy
- 25. část – nefunkční aktualizace HomeAssistanta
- 26. část – integrace SwitchBot produktů
- 27. část – integrace fotovoltaiky Growatt
Ahoj a aký má dosť ten Bluetooth dongle.
Jedna sa mi o to že keď mám PC s HA na jedním konci domu a kvety mám po celom dome tak asi nebude dosah na všetky kvety. Ako to riešiť ? Ináč skvelý blog
Mělo by to být 20M, což bych řekl s nějakou zdí je reálně tak 10M co mám vyzkoušeno. Řešením co jsem zahlédl je použití ESP32 mikrokontroleru, který v sobě má jak WiFi tak Bluetooth a může tak pak sloužit jako určitý most – existuje k tomu Arduiono projekt. Pokud bude zájem mohu o tom napsat článek. Ideální by bylo mít nějaký hotový produkt, ale to se obávám, že pro tento účet neexistuje.
Určite uvítam každý článok k tomuto
Mám pro vás dobrou zprávu. Konečně se mi to vše podařilo rozchodit a článek o ESP32 je na světě: https://blog.vyoralek.cz/iot/esp32-flora/
Ahoj, s kytkou jsem na to šel jinak. Ta moje žere hodně vody, ale když vypije všechnu v hlíně, tak ještě několik dnů vydrží. Senzor vlhkosti byl naprd, ty levné zreziví a rozpadnou se, musel by to být nějaký zlatý. Dělám to jinak:
Sestavil jsem si senzor z esphome s laserovým měřičem vzdálenosti VL53L0X. Tím jednou za hodinu měřím, jestli se list hýbe nahoru nebo dolů. V Home Assistantovi používám senzor derivative, abych zjistil rychlost pohybu. A když jde list dolů rychlostí vyšší než 10mm/h tak dostanu upozornění přes telegram bot, že kytka začíná vadnout a zaleju jí.
Senzor je většinu doby v deep sleep režimu, takže má minimální spotřebu (asi 100µA). Mám problém s ESPHome firmwarem, protože i když jsem podnikl protiopatření, tak při nedostupné wifi se začne spouštět captive portal, vyhledávání wifi atd. a to mi hned sežere baterku.
Uvažuji o Zigbee, ale zdá se mi to komplikované. Mám zkušenosti s LoRa, tak až mi přijde LoRa TTGO, tak si postavím LoRa gateway a zkusím udělat generický LoRa senzor na mqtt. Tím se vyhnu obousměrné wifi komunikaci, co žere baterii a senzor může být i stovky metrů daleko. Nevýhodou je vyšší cena, Arduino LoRa node stojí přes dvě stovky.
Ahoj, prosím, po zadání do configuration.yaml vidím v entitách sledované veličiny, ale po rozkliknutí některé dostanu hlášku „Tato entita nemá jedinečné ID“ nedaří se mně přijít na to, co s tím…nemůžeš poradit? Děkuji
Ahoj, úplně nevím jestli to jde nějak jednoduše změnit – podle mě je to právě tím, že tyhle entity jsou přímo z
configuration.yaml
souboru, nicméně nemělo by to ničemu přímo myslím vadit. Nebo způsobuje to někde problémy?Čau…děkuji za odpověď. No, moje blbost 🙂 jsem chtěl tímto postupem přidat teploměr LYWSD03MMC, který šifruje přenos. Nakonec jsem to vyřešil obdobně, jako to popisuješ v článku o něm, jen s tím rozdílem, že jsem nepoužil ESP, ale BT v RPi a BLE monitor integraci, na čidla v domě to bez problémů dosáhlo, což mně stačí.
Aha ok. Ano, ESP se hodí zejména pokud je těch zařízeních více a nejsou blízko počítači kde běží HA.