blog.vyoralek.cz

Centrum chytré domácnosti – HomeAssistant (Hass.io) – 10 část – vlastní Zigbee gateway

Desátá část o HomeAssistentovi popisuje jak si doma postavit vlastní Zigbee gateway plně integravanou do Hass.io.

Možná se budete ptát proč se vlastně do něčeho takového pouštět, když zde máme hotové produkty jako např. Xiaomi gateway.

Dva základní důvody pro:

  1. vlastní řešení je mnohem obecnější, tj. podporuje mnohem větší množinu Zigbee produktů, které lze s takto připravenou gateway provozovat – namátkou produkty Phillips, Ikea či Xiaomi – kompletní a aktuální přehled najdete zde.
  2. nejste přímo závislí na firmware výrobce gateway a tudíž nemusíte žít ve strachu, zda integrace do Hass.io s další aktualizací firmware přestane fungovat (což se některým již stalo dle komentářů) – tento bod má samozřejmě význam jen pokud gateway integrujete mimo základní ekosystém výrobce

Dva základní důvody proti:

  1. přijdete o podporu ovládání přes aplikaci výrobce, tj. např. v případě prvků od Xiaomi Mija či Aqara je to trochu škoda, jelikož aplikace je poměrně vyvedená
  2. náročnost instalace – oproti hotové zakoupené gataway to v případě vlastní gateway není pouze o tom koupit si HW, zapojit a ono to vše bude fungovat. I samotné párování vzhledem k obecnosti gateway může být poněkud komplikovanější. Nicméně s níže uvedeným návodem to věřím zvládnete – pojďme tedy do toho 🙂

1. Potřebný hardware

Pro samotný Zigbee gateway si vystačíme s USB donglem – konkrétně pro naše potřeby budeme potřebovat verzi CC2531 od Texas Instruments.

💡 Při objednávání si dejte pozor zda skutečně máte vybraný CC2531 a ne CC2540. Oba USB dongly vypadají na první pohled totožně, ale ten druhý je na Bluetooth – tuto chybu jsem udělal já 😎

Zigbee USB dongle - čip CC2531 od Texas Instruments
Zigbee USB dongle – čip CC2531 od Texas Instruments

No čipu tohoto USB donglu však budeme potřebovat nahradit firmware, což přináší potřebu dvou dalších součástek:

  • redukce z 10pinového malého kabelu na větší variantu
  • CC debugger – krabička nutná pro nahrání vlastního firmware do čipu CC2531
10pinová redukce
10pinová redukce
CC debugger – programátor pro CC2531

Pokud by někoho zajímal detailně význam jednotlivých pinů:

PIN schéma
PIN schéma

Nákupní seznam

  • Zigbee Sniffer Wireless Board CC2531 + 10pin redukce – cca. $9.48 (217Kč) AliExpress
  • Programátor CC Debugger – cca. $8.58 (183Kč) AliExpress

2. Nahrání firmware do USB dongle CC2531

Pokud máme všechen potřebný hardware můžeme se rovnou pustit do přehrání firmwaru v Zigbee USB donglu. K tomu budeme potřebovat nejprve všechny komponenty spojit dohromady.

10pinový konvertor patří doprostřed a menší kabel zapojíme do USB donglu a ten větší do CC debuggeru. Na obrázku si zkontrolujte červené linky kabelů.

Zapojení všech částí dohromady
Zapojení všech částí dohromady

Pokud jste vše zapojili správně pak po zapojení CC debuggeru do USB počítače by se měl rozstívit jak USB dongle zeleně tak i samotný CC debugger. Pokud by svítil červeně tak zkuste nejprve zmáčknout restart na CC debuggeru a poté donglu – mělo by to být tlačítko dále od USB konektoru.

Nakonec zapojíme i samotný USB dongle do USB počítače – ano budeme mít tak zapojené dva USB konektory, což je poněkud neobyklé v porovnání s fleshováním firmware z předchozích článků.

Dále budeme potřebovat aplikaci pro nahrání firmware. Postupy se poměrně výrazně liší pro Windows a MacOS + Linux, nicméně ukážeme si oba.

2.1 Windows

2.1.1 Instalace aplikace pro nahrání firmware – SmartRF

Aplikaci SmartRF pro Windows si stáhneme přímo ze stránek firmy Texas Instruments – SmartRF Flash Programmer

Smart RF 1.x pro Windows
Smart RF 1.x pro Windows

💡 Pozor – je potřeba si stáhnout verzi 1.x

Aplikace je zdarma, ale budete potřebovat si na stránkách Texas Instruments vytvořit účet. Proces bohužel není úplně nejrychlejší a obsahuje několik kroků.

Jakmile jsme přihlášení vrátíme se k stránce ke stažení SmartRF, aplikaci stáhneme na disk, rozbalíme a spustíme.

Archív aplikace SmartRF
Archív aplikace SmartRF

Samotný průvodce instalací je přímočarý, a tak jen odklikneme několikrát Next a máme hotovo.

Instalační program SmartRF
Instalační program SmartRF

2.1.2 Instalace ovladače CC debuggeru

Tím ale ještě instalace nekončí – budeme potřebovat nainstalovat ovladač CC debuggeru. Ten si opět stáhneme ze stránek Texas Instruments – CC debugger driver.

Obsah archívu s ovladačem CC debuggeru
Obsah archívu s ovladačem CC debuggeru

CC debugger nyní připojíme do USB a spustíme instalaci driveru. Po dokončení doporučuji se podívat do správy počítače, zda tam máme nově položku CC Debugger a neobsahuje nějaké chyby.

CC debugger ve správě počítače
CC debugger ve správě počítače

2.1.3. Nahrávání nového firmware

Stáhneme si nový firmware z adresy https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin/default

Obsah archívu s novým firmware
Obsah archívu s novým firmware

… a spustíme aplikaci Flash Programmer (což je název pro aplikaci Smart RF).

V aplikaci je potřeba vyplnit pouze dvě položky:

  • Flash image – cesta k hex souboru nového firmware
  • Actions – vybereme Erase, program and verify

Vše spustíme kliknutím na Perform actions.

2.2 MacOS nebo Linux

2.2.1. Instalace balíčků potřebných pro kompilaci

Pro Linux (Ubuntu)

apt install dh-autoreconf libusb-1.0 libboost-all-dev

Pro MacOS

brew install autoconf automake libusb boost pkgconfig libtool

2.2.2. Kompilace CC-Tool – aplikace pro nahrání firmware

Stáhneme si repozitář aplikace CC-Tool a spustíme kompikaci:

git clone https://github.com/dashesy/cc-tool.git
cd cc-tool
./bootstrap
./configure
make

Pokud vše kompikace proběhne vpořádku měli byste vidět následující:

  CXX      src/common/common.o
  CXX      src/common/timer.o
  CXX      src/usb/usb_device.o
  CXX      src/data/binary_file.o
  CXX      src/data/data_section.o
  CXX      src/data/data_section_store.o
  CXX      src/data/file.o
  CXX      src/data/hex_file.o
  CXX      src/data/read_target.o
  CXX      src/data/progress_watcher.o
  CXX      src/programmer/cc_253x_254x.o
  CXX      src/programmer/cc_251x_111x.o
  CXX      src/programmer/cc_243x.o
  CXX      src/programmer/cc_programmer.o
  CXX      src/programmer/cc_unit_driver.o
  CXX      src/programmer/cc_unit_info.o
  CXXLD    cc-tool

💡Pokud se kompilace nepovede a skončí s hláškou ld: symbol(s) not found for architecture x86_64, pak zkontrolujte zda máte poslední verzí Code. Mě aktualizace pomohla a build už byl napodruhé úspěšný.

2.2.3. Záloha stávajícího firmware

Pokud byste se z jakéhokoliv důvodu potřebovali vrátit zpět k původnímu firmware je dobrým zvykem udělat si zálohu.

Nejprve si zkontrolujeme, že máme všechny komponenty propojené a zapojené do USB počítače a poté už můžeme spustit příkaz:

./cc-tool -r backup.bin
  Programmer: CC Debugger
  Target: CC2531
  Reading flash (256 KB)...
  Completed (177.40 s.)

2.2.4. Nahrávání nového firmware

Stáhneme si nový firmware z adresy https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin

Obsah archívu s novým firmware
Obsah archívu s novým firmware

a z archívu budeme potřebovat soubor s přípnout hex.

Můžeme se vrhnout na nahrání nového firmware:

./cc-tool -e -w CC2531ZNP-Prod.hex
  Programmer: CC Debugger
  Target: CC2531
  Erasing flash...
  Completed
  Writing flash (241 KB)...
  Completed (17.96 s.)

2.5 Nutná aktualizace firmware při addonu >1.5

Po aktualizaci Hass.io addonu přestal USB dongle fungovat. Nějakou dobu mi trvalo než jsem si všiml, že se i poměrně změnila konfigurace.

Pokud jste tedy fleshovali USB dříve a máte aktuálně problém s funkčností pak aktualizujte firmware na poslední dostupnou verzi – mě zafungovalo tato: 20190608. Lokace je stále stejná jako výše a postup nahrávání také.

3. Hass.io – MQTT server

Hardwarovou část už máme kompletně připravenout – jednotlivé komponenty můžeme rozpojit a USB dongle zapojit do počítače na kterém ho budeme provozovat.

Nyní se vrhneme na softwarovou část pro Zigbee. Návod bude kompletně pro Hass.io (Home Assistent), jelikož díky existujícím addonům budeme mít instalaci výrazně zjednodušenou.

💡Pokud už máte MQTT server nainstalovaný můžete kompletně tuto kapitolu přeskočit.

Pro naše účely použijeme jeden z oficiálních addonů Hass.io a to Mosquitto broker.

Najdete ho v sekci Hass.io -> Add-on Store -> Official add-ons -> Mosquitto broker.

MQTT - Mosquitto broker jako addon pro Hass.io
MQTT – Mosquitto broker jako addon pro Hass.io

V konfiguraci oproti výchozímu stavu přidáme do sekce logins informace o MQTT uživateli a heslu – pokud tedy chceme MQTT používat s přihlašovacími udaji.

{
  "logins": [
    {
      "username": "<NAHRADTE_MQTT_UZIVATELEM>",
      "password": "<NAHRADTE_MQTT_HESLEM>"
    }
  ],
  "anonymous": false,
  "quiet_logs": true,
  "customize": {
    "active": false,
    "folder": "mosquitto"
  },
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem"
}

Konfiguraci uložíme a addon spustíme. Při úspěšném spuštění bychom měli v logu vidět cca. něco následujícího:

[INFO] Setup mosquitto configuration
[INFO] Found local users inside config
[INFO] Initialize system configuration.
[INFO] Initialize Hass.io Add-on services
[INFO] Initialize Home Assistant discovery
[INFO] Start Mosquitto daemon
1556980509: mosquitto version 1.5.6 starting
1556980509: Config loaded from /etc/mosquitto.conf.
1556980509: |-- *** auth-plug: startup
1556980509: Opening ipv4 listen socket on port 1883.
1556980509: Opening ipv6 listen socket on port 1883.
1556980509: Opening websockets listen socket on port 1884

4. Hass.io – Zigbee2MQTT

Dalším addonem, který budeme potřebovat je Zigbee2MQTT. Jedná se o addon, který obstarává komunikaci mezi Zigbee USB donglem a Home Assistentem prostřednictvím MQTT zpráv.

Jelikož tento addon není součástí standardní instalace Hass.io přidáme nejprve nový zdroj addonů s adresou https://github.com/danielwelch/hassio-zigbee2mqtt

Nový zdroj addonů - Zigbee2mqtt
Nový zdroj addonů – Zigbee2mqtt

Jakmile je zdroj aktivní můžeme rovnou kliknout na addon zigbee2mqtt a nainstalovat ho.

zigbee2mqtt bridge jako addon pro Hass.io
zigbee2mqtt bridge jako addon pro Hass.io

Oproti výchozí konfiguraci přidáme nakonec tři nové položky – mqtt uživatele, (mqtt_user), heslo (mqtt_pass) a pokud nejste masochisti tak doporučuji vypnout i zelenou LEDku (disable_led) na USB dounglu.

4.1 Konfigurace pro addon po verzi 1.4

{
  "data_path": "/share/zigbee2mqtt",
  "homeassistant": true,
  "permit_join": false,
  "mqtt_base_topic": "zigbee2mqtt",
  "mqtt_server": "mqtt://homeassistant",
  "serial_port": "/dev/ttyACM0",
  "devices": [],
  "network_key": [],
  "mqtt_user": "<NAHRADTE_MQTT_UZIVATELEM>",
  "mqtt_pass": "<NAHRADTE_MQTT_HESLEM>",
  "disable_led": false
}

4.2 Konfigurace pro addon od verze 1.5

{
  "data_path": "/share/zigbee2mqtt",
  "devices": "devices.yaml",
  "groups": "groups.yaml",

  # Povinné: integrace do Home Assistant (MQTT discovery)
  "homeassistant": true,

  # Povinné: umožní spárování nových Zigbee zařízení
  #          po nastavení všech zařízení vyplněte
  "permit_join": false,

  "mqtt": {
    "base_topic": "zigbee2mqtt",
    "server": "mqtt://homeassistant",
    "user": "<NAHRADTE_MQTT_UZIVATELEM>",
    "password": "<NAHRADTE_MQTT_HESLEM>"
  },
  "serial": {
    # Povinné: USB lokace CC2531 USB donglu
    "port": "/dev/ttyACM0",
    
    # Volitelné: Můžeme vypnout stavovou zelené LEDku na donglu
    "disable_led": true
  }
}

Konfiguraci uložíme a můžeme startovat.

Pokud bychom při startu dostali chybu při inicializaci USB donglu doporučuji si podívat do sekce Hass.io -> System -> Host system -> Hardware, zda máte v seznamu položku /dev/ttyACM0. Ta je výchozí lokací pro USB donglu i v konfiguraci zigbee2mqtt. Pokud váš PC používá jinou adresu bude potřeba ji změnit v konfiguraci serial_port zigbee2mqtt adddonu.

Seznam sériových portů v Hass.io
Seznam sériových portů v Hass.io

Korektní start by mohl vypadat v logu nějak přibližně takto:

zigbee2mqtt:info 5/4/2019, 7:03:13 PM Logging to directory: '/share/zigbee2mqtt/log/2019-05-04.19-03-13'
  zigbee2mqtt:info 5/4/2019, 7:03:13 PM Starting zigbee2mqtt version 1.3.1 (commit #unknown)
  zigbee2mqtt:info 5/4/2019, 7:03:13 PM Starting zigbee-shepherd
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM zigbee-shepherd started
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM Coordinator firmware version: '20190223'
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM Currently 1 devices are joined:
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM 0x00158d0002ea764c (0x00158d0002ea764c): WXKG01LM - Xiaomi MiJia wireless switch (EndDevice)
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM Zigbee: disabling joining new devices.
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM Connecting to MQTT server at mqtt://homeassistant
  zigbee2mqtt:info 5/4/2019, 7:03:14 PM zigbee-shepherd ready
  zigbee2mqtt:info 5/4/2019, 7:03:15 PM Connected to MQTT server

5. Hass.io – konfigurace

Kromě přidání výše uvedených addonů MQTT a zigbee2mqtt bude potřeba přidat i pár řádků do základní konfigurace Home Assistenta.

5.1 MQTT integrace

Instalace MQTT addonu nám pouze ulehčuje práci s instalací MQTT serveru, ale ještě přímo neintegruje MQTT server do HomeAssistenta. To je potřeba přidáním pár řádků do configuration.yaml:

mqtt:
  broker: addon_core_mosquitto
  username: <NAHRADTE_MQTT_UZIVATELEM>
  password: NAHRADTE_MQTT_HESLEM>
  discovery: true

5.2 Pomocné entity pro Zigbee2MQTT gateway

Opět do souboru configuration.yaml do příslučných sekcí přidáme tři nové entity:

  • stav Zigbee gateway, tj. zda je online či nikoliv
  • přepínač pro povolení párování Zigbee zařízení
  • čas po kterém se automaticky vypné párovací mód Zigbee gateway
sensor:
 - platform: mqtt
    name: Bridge state
    state_topic: "zigbee2mqtt/bridge/state"
    icon: mdi:router-wireless   

input_boolean:
  zigbee_permit_join:
    name: Povolit párování
    initial: off
    icon: mdi:cellphone-wireless

timer:
  zigbee_permit_join:
    name: Zbývající čas
    duration: 600 # Čas v sekundách, tj. 10min. 

5.3 Automatizace potřebné pro párování Zigbee zařízení

Abychom byli schopni přepínat Zigbee USB dongle do párovacího režimu připravíme si hned několik automatizací, které nám pomůžou.

Kód k automatizacím je poměrně dlouhý, takže ho přímo v článku neuvádím – najdete ho na mém Gitu v souboru configuration.yaml.

5.4 Home Assistent UI

A konečně poslední úpravou je přidání uživatelského rozhraní, pomocí kterého budeme mít přehled o Zigbee donglu.

Já jsem použil úplně novou záložku do systému lovelace, o kterém jsem zatím tuším ještě nepsal. Pokud budete mít nějaké dotazy klidně se zeptejte v komentářích.

---
id: zigbee
title: Zigbee
icon: mdi:zigbee
cards:
  - type: entities
    entities:
    - entity: input_boolean.zigbee_permit_join
    - entity: timer.zigbee_permit_join
    - entity: sensor.bridge_state
    show_header_toggle: false
    title: Zigbee

Vzhledově to pak vypadá nějak takto:

6. Párování Zigbee zařízení

A konečně předposlední kapitolou je samotné párování Zigbee zařízení s naší novou Zigbee gateway.

Nejprve si povolíme párování na Zigbee gateway pomocí přepínače, který jsme si přidali do Hass.io a budeme mít tak 10minut čas na zpárování.

Postup ukážu na příkladě Xiaomi tlačítka, nicméně obecně platí, že by měl být stejné jako s originálním SW, i když s tím rozdílem, že to nebude tak uživatelsky přívětivé – alespoň tedy zatím.

Seznam Xiaomi Zigbee zařízeních s postupem párování jsem sepsal v přechozím článků o ekosystému Xiaomi Miija a Aqara.

Doporučuji tedy začít v Logu zigbee2mqtt, který najdeme v Hass.io -> Dashboard -> zigbee2mqtt -> Log. Bohužel si tedy musíme ručně log refreshovat pomocí tlačítka refresh.

V případe Xiaomi tlačítka si z originálního návodu můžeme zjistit, že zpárování se provádí zmáčknutím a držením resetovacího tlačítka po dobu delší než tři sekundy.

Pokud to takto uděláme s největší pravděpodobností se nám v logu objeví chybová hláška:

  zigbee2mqtt:error 5/4/2019, 5:04:16 PM Cannot get the Node Descriptor of the Device: 0x00158d0002ea764c (Error: Timed out after 10000 ms)

… která nám říká, že se sice zařízení s id 0x00158d0002ea764c pokoušelo zpárovat, ale během 10 sekund systém nedostal plnou odpověď. Celý problém tkví v tom, že při oficiálním párování si aplikace pohlídá aby se zařízení neuspalo. V našem případě to budeme muset udělat manuálně a cca. každou sekundu po prvotním zablikání mačkat resetovací tlačítko do doby, než se nám v logu zobrazí:

  zigbee2mqtt:info 5/4/2019, 5:12:34 PM New device 'undefined' with address 0x00158d0002ea764c connected!
  zigbee2mqtt:info 5/4/2019, 5:12:34 PM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0x00158d0002ea764c","meta":{}}'

Jak dále v logu uvidíme, zařízení se ním automaticky přidá i do HomeAssistenta se všemi podporovanými atributy:

zigbee2mqtt:info 5/4/2019, 5:12:38 PM MQTT publish: topic 'homeassistant/sensor/0x00158d0002ea764c/click/config', payload '{"icon":"mdi:toggle-switch","value_template":"{{ value_json.click }}","expire_after":1,"state_topic":"zigbee2mqtt/0x00158d0002ea764c","json_attributes_topic":"zigbee2mqtt/0x00158d0002ea764c","name":"0x00158d0002ea764c_click","unique_id":"0x00158d0002ea764c_click_zigbee2mqtt","device":{"identifiers":"zigbee2mqtt_0x00158d0002ea764c","name":"0x00158d0002ea764c","sw_version":"Zigbee2mqtt 1.3.1","model":"MiJia wireless switch (WXKG01LM)","manufacturer":"Xiaomi"},"availability_topic":"zigbee2mqtt/bridge/state"}'
zigbee2mqtt:info 5/4/2019, 5:12:38 PM MQTT publish: topic 'homeassistant/sensor/0x00158d0002ea764c/battery/config', payload '{"unit_of_measurement":"%","device_class":"battery","value_template":"{{ value_json.battery }}","state_topic":"zigbee2mqtt/0x00158d0002ea764c","json_attributes_topic":"zigbee2mqtt/0x00158d0002ea764c","name":"0x00158d0002ea764c_battery","unique_id":"0x00158d0002ea764c_battery_zigbee2mqtt","device":{"identifiers":"zigbee2mqtt_0x00158d0002ea764c","name":"0x00158d0002ea764c","sw_version":"Zigbee2mqtt 1.3.1","model":"MiJia wireless switch (WXKG01LM)","manufacturer":"Xiaomi"},"availability_topic":"zigbee2mqtt/bridge/state"}'
zigbee2mqtt:info 5/4/2019, 5:12:38 PM MQTT publish: topic 'homeassistant/sensor/0x00158d0002ea764c/linkquality/config', payload '{"unit_of_measurement":"-","value_template":"{{ value_json.linkquality }}","state_topic":"zigbee2mqtt/0x00158d0002ea764c","json_attributes_topic":"zigbee2mqtt/0x00158d0002ea764c","name":"0x00158d0002ea764c_linkquality","unique_id":"0x00158d0002ea764c_linkquality_zigbee2mqtt","device":{"identifiers":"zigbee2mqtt_0x00158d0002ea764c","name":"0x00158d0002ea764c","sw_version":"Zigbee2mqtt 1.3.1","model":"MiJia wireless switch (WXKG01LM)","manufacturer":"Xiaomi"},"availability_topic":"zigbee2mqtt/bridge/state"}'

Tlačítko je nyní už funkční a pokud na něj klikneme v logu se nám objeví:

 zigbee2mqtt:info 5/4/2019, 5:13:10 PM MQTT publish: topic 'zigbee2mqtt/0x00158d0002ea764c', payload '{"linkquality":110,"duration":1526,"click":"single"}'

Zároveň v Configuration -> Integrations bychom měli vidět položku MQTT:

Zkonfigurovaná MQTT
Zkonfigurovaná MQTT

na kterou když klikneme tak uvidíme námi spárované Xiaomi tlačítko:

MQTT - seznam dostupných entit
MQTT – seznam dostupných entit

Jelikož ID ze Zigbee nejsou úplně ideálně popisné může se nám hodit přejmenování v HomeAssistentovi. To můžeme udělat i přes UI, pokud klikneme na jednu z položek a pak klikneme na ozubené kolo vpravo nahoře:

Přejmenování entity v Hass.io
Přejmenování entity v Hass.io

Po přejmenování pak seznam může vypadat poněkud více popisně:

7. Přidání Zigbee zařízení do UI

Poslední kapitola je už o poněkud obecném přidání zařízení do UI. Z logu zigbee2mqtt nebo výše uvedené integrace MQTT si můžeme zjistit ID zařízení, které pak najdeme mezi entitami v HomeAssistentovi.

Například po vyfiltrování na ID přidaného tlačítka vidíme tři entity typu sensor. Jedna nás informuje o stavu baterie, druhá o typu kliknutí a třetí o kvalitě signálu.

Seznam entit v Hass.io
Seznam entit v Hass.io

V Homeassistentovi pak máme tyto položky i automaticky v states dashboardu:

Položky v UI
Položky v UI

Veškeré konfigurace jako obvykle jsou uložený i na mém Gitu.

Snažil jsem se popsat v článku všechny části poměrně do detailu. Pokud však narazíte na nějaký problém, který zde není popsaný, neváhejte se ozvat v komentářích. Totéž platí pokud máte nějaký zlepšovák 🙂

Kompletní série o HomeAsistantovi 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)
  • 16. část – náhrada SQLite databází MySQL

20 komentářů

Napsat komentář

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

  • Dobrý den, takže jestli jsem to dobře pochopil, tak budou fungovat i veškerá další gadget, které Xiaomi nabízí (pohybové, teplotní, dveřní sensory), aniž bych musel kupovat Xiaomi Aqara Smart Home Gateway? Budou na to reagovat automatizace a všechny ostatní?

    • Drobně jsem ještě doplnit první odstavec o link se seznamem podporovaných produktů, čili obecně ano – doporučuji se kouknout do seznamu na https://www.zigbee2mqtt.io/information/supported_devices.html na konkrétní Xiaomi produkt. Co se týče automatizace, jak je uvedeno vytvoří to entity v homeassistentovi, čili s těmito automatizacemi to použít jde. Zapomněl jsem na jedno negativum a to, že přijdete na možnost ovládání přes Xiaomi Home aplikaci, která vůbec není špatná. Čili je to vždy na zvážení pro a proti.

  • Ještě se chci zeptat, co se týče dosahu, když bude zapojeno do USB v Raspberry Pi oproti Xiaomi Aqara Smart Home Gateway, jak to bude s dosahem na ona zařízení, nebude mít Xiaomi gateway větší dosah, když může být umístěna do jakékoli zásuvky? Nebo lze také Zigbee Sniffer zapojit jinak než do Raspberry?

    • Jelikož se jedná o USB dongle tak to můžete provozovat pouze v počítači. Nelze to přímo píchnout do zásuvky. Můžete však použít prodlužovací USB kabel a USB dongle tak od Raspberry Pi posunout, aby vám to vyhovovalo lépe.

      • USB dongle doporučuji na 50 cm kabel mimo RPi a na prodloužení signálu se používá Zigbee router, nebo originál Xiaomi Zigbee zásuvka. Vše je popsáno v dokumentaci. Funguje vše na jedničku.

  • Dobrý den,
    Firmware lze nahrát ardruinem nebo weemosem není třeba kupovat programátor

  • Jsem pouze začátečník (používám HA pár dní), ale zjistil jsem, že v tomho článku je vše umístěné v „configuration.yaml“ včetně automatizací jako zapnutí časovače a párování (zigbee_permit_join). Pokud potom chceme nějaké svoje automatizace přes editor (Nastavení – Automatizace – Editor automatizací), tak to hodí chybu, že je nutné použít soubor „automations.yaml“. Tak jsem zkusil tedy v configuration.yaml v řádku automation dopsat !include automations.yaml a časovač včetně permit join jak je výše uvedeno dát sem. Myslím, že je potom výhoda pokud si napíšeme vlastní automatizace, dát pouze „reload automatization“ a nerestartovat celý HA. Ale třeba se mýlím 🙂

    • Mě se to zdá zbytečný overkill. Jestli to dobře chápu, tohle je jen deska do které se dá zapojit buď WiFi a nebo Bluetooth modul, který ale není součástí, takže se to ve svém důsledku asi dost prodraží. USB dongle je levný a univerzální. Ale jeslti má někdo zkušenosti a je tam nějaký další přínos prosím o něj.

  • Dobrý den,
    můžu poprosit o kód nějaké jednoduché automatizace která používá ZigBee? Mám podle návodu připojené xiaomi čidlo dveří a zigbee spínač. Přes panel HA vidím že se dveře otevřely a můžu tlačítkem sepnout spínač. Nedaří se mi ale nastavit automatizaci aby při otevření dveří sepl spínač a při zavření rozepl.
    Děkuji

    • Máte pravdu, že to mi tady ještě chybí a myslím, že by se to hodilo napsat do článku.. čili zkusím tento víkend.

    • Dobrý den,

      zdá se mi to stejné jako všechny ostatní, udělal z tlačítka vypínač jednoduše přes gui:

      id: ‚1573754405895‘
      alias: ‚Kulaté tlačítko ‚
      description: “
      trigger:

      entity_id: sensor.0x00158d000359e295_click
      platform: state
      to: single
      condition: []
      action:
      service: light.toggle
      service: switch.toggle

  • Dobrý den chci se zeptat jestli neplánuje vytvořit návod pro xbee + shild pro usb ( raspberry pi).
    Jde mi o dosah mám 2 patrový dum+ zahrada. Děkuji.

    • Dobrý den, zatím nikoliv, jelikož Raspberry Pi používám momentálně jen na testování – v reálném provozu mám NanoPC, kam by se to přímo napasovat nedalo. Nicméně o tom dosahu jsem také uvažoval – je škoda, že neexistuje podobně jednoduché řešení pro Zigbee jako např. pro Bluetooth s ESP32, nebo o něm zatím nevím. Mít kvůli tomu další Raspberry mi momentálně přijde moc.

  • Dobrý den,
    dnes mi přestal dongle 2531, verze zigbee addonu je 1.4.0
    chyba vypadá takto:
    {„message“:“request timeout“,“stack“:“Error: request timeout\n at CcZnp. (/zigbee2mqtt-1.4.0/node_modules/cc-znp/lib/ccznp.js:269:22)\n at Object.onceWrapper (events.js:273:13)\n at CcZnp.emit (events.js:182:13)\n at Timeout. (/zigbee2mqtt-1.4.0/node_modules/cc-znp/lib/ccznp.js:248:18)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)“}
    zigbee2mqtt:error 12/5/2019, 9:14:07 PM Failed to mount the cieApp

    nevíte prosím co se mohlo stát, restarty, odpojování nepomáhá

    • Bude to asi potřebovat více času, ale zkusil bych upgradovat na nejnovější verze. Sám mám stejný dongle aktuálně na verzi 1.7.1, ale bylo potřeba nahradit i firmware v samotném donglu. Postup instalace je ale pořád stejný. Ideální pak mít dongly dva a na jednom si to nejprve vyzkoušet a to samé pak s HomeAssistentem.

  • Ahojte,

    ja som postupoval podla tohto navodu a bezi mi vsetko OK (dakujem za navod). Mam jeden dongle ako coordinator a druhy ako router a pokryvam tak cely byt (86m2) na ktore mam pripojene wall/wifi vypinace, zaves, zasuvky. Teplotne, vodne, dverove senzory mam pripojene na dve xiaomi gatewaye (mam problem, ze mi vypadavaju gw z nicoho nic na 50 minut ale senzory to neovplyvnuje kdezto pri vypinacoch to bol problem, ze nereagovali). Bezim na HASS a raspberry pi 4 4GB.

    Obrazok Zigbee2mqtt mapy:
    https://ibb.co/4TPbV11

    Dakujem za super blog 🙂

  • Ahojte, mam dva dongle. Jeden coordinator a druhy ako router. Slape to super 🙂

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