blog.vyoralek.cz

Centrum chytré domácnosti – HomeAssistant (Hass.io) – 14 část – Integrace Mi Flora

V minulém článku jsme si představili produkt Mi Flora od společnosti Xiaomi a dnes se podíváme je ho zaintegrovat pomocí Bluetooth do HomeAssistanta.

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.

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ů:

  1. moisture – vlhkost půdy
  2. light – množství světla dopadající na sensor v Mi Flore
  3. temperature – aktuální teplotu v okolí sensoru
  4. conductivity – množství živit v půdě
  5. 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 HomeAsistentovi obsahuje následující články:

  • 1. část – Představení HomeAsisstent – tento článek
  • 2. částIntegrace Sonoff s firmware Sonoff-Tasmota
  • 3. částIntegrace Homekit
  • 4. částIntegrace Sonoff s firmware Sonoff-Tasmota – 2 část
  • 5. částIntegrace s Wemos D1 a senzory teploty
  • 6. částIntegrace Sonoff s firmware ESPHome
  • 7. částIntegrace Sonoff POW s firmware ESPHome
  • 8. částIntegrace LED Magic Home s firmware ESPHome
  • 9. částIntegrace 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)

4 komentáře

Napsat komentář

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..

  • 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.

%d blogerům se to líbí: