Published on Wed Nov 09 2022 14:25:00 GMT+0000 (Coordinated Universal Time) by Teresa
Architektura chytré domácnosti
Tento projekt představuje srdce mého domácího IT prostředí.
Hardware
Základem celého systému je úsporný jednodeskový počítač Orange Pi Zero 3 ve verzi s 2 GB RAM. K němu je připojený USB extension board za účelem většího počtu portů. Orange Pi je připojený do počítačové sítě pomocí Ethernetu. Dále jsou k němu přes USB připojeny dva dongly - jeden pro Zigbee 3.0 a druhý pro Thread.
Software
Jako operační systém používám DietPi, což je vysoce optimalizovaná a odlehčená distribuce Debianu. Namísto instalace aplikací přímo do operačního systému jsem zvolila kontejnerizovaný přístup pomocí Dockeru, který je spravován přes webové rozhraní Portainer. Tím hlavním kontejnerem je Home Assistant - opensource systém pro správu a automatizaci chytré domácnosti. Jeho výhodou je, že běží zcela lokálně, což zvyšuje soukromí, kontrolu nad samotnými daty a možnost fungovat offline (což na druhou stranu je i nevýhoda, protože je potřeba ho hostovat na svém HW).
Integrace
Další velkou výhodou je možnost integrace jiných systémů chytré domácnosti - umožňuje spojení a ovládání zařízení ze SmartThings, Google Home, Tuya a mnoho jiných. Mezi mé nejpoužívanější patří:
- LocalTuya - ovládání Tuya zařízení po lokální síti
- MQTT - umožňuje komunikaci s Zigbee2MQTT
- BymbuLab - ovládání 3D tiskárny
- Thread/Open Thread Border Router - správa Thread sítě
- Matter - umožňuje používání otevřeného standardu Matter

Sítě a komunikační protokoly
WiFi
Část zařízení využívá běžné připojení přes WiFi, což je nejjednodušší způsob připojení, jelikož nepotřebuje další síťový hardware než ten, co má každý doma. Naopak nevýhoda je, že velké množství zařízení může zpomalovat celkovou propustnost a stabilitu sítě. WiFi zařízení také mají vysokou spotřebu, proto u zařízení napájených z baterie je je potřeba často měnit.
Zigbee
Kromě WiFi používám technologii ZigBee, která je přímo dělaná pro chytrou domácnost. Na rozdíl od WiFi je mnohem úspornější (baterie v zařízení vydrží několik měsíců až let) a díky mesh topologie je také stabilnější.
Softwarový stack: Zigbee2MQTT a Mosquitto
Místo přímé integrace do Home Assistanta (přes ZHA) využívám oddělenou architekturu založenou na protokolu MQTT. Stack se skládá ze dvou nezávislých Docker kontejnerů:
- Eclipse Mosquitto (MQTT Broker): Funguje jako centrála pro vyměňování zpráv - zajišťuje jejich extrémně rychlé předávání mezi různými službami na lokální síti.
- Zigbee2MQTT (Z2M): Kontejner, který komunikuje přes USB s koordinátorem, překládá proprietární Zigbee signály ze senzorů a odesílá je jako standardizované textové zprávy (JSON) do MQTT brokeru.
3. Topologie sítě a stabilita (Mesh routing)
Zigbee funguje jako mesh síť, což znamená, že její stabilita závisí na správném rozložení prvků v prostoru. Síť mám logicky rozdělenou na dvě skupiny zařízení:
- Routery (Routing devices): Zařízení trvale připojená k elektrické síti (chytré zásuvky, žárovky). Tyto uzly tvoří páteř sítě, prodlužují dosah signálu a předávají zprávy od vzdálenějších zařízení.
- Koncová zařízení (End devices): Bateriově napájené senzory (teploměry, tlačítka, pohybová čidla), které komunikují pouze se svým nejbližším routerem a kvůli úspoře energie se pravidelně uspávají.
4. Integrace do Home Assistanta a aplikační vrstva
Samotný Home Assistant běží v dalším kontejneru a napojuje se na MQTT broker. Díky funkci MQTT Auto-Discovery se nově spárovaný senzor v Zigbee2MQTT okamžitě a automaticky objeví v Home Assistantovi i se všemi svými entitami (např. teplota, vlhkost, stav baterie).
Thread
Poslední používanou technologií je Thread. Jedná se novější technologii, která je dost podobná Zigbee. Tím že je novější existuje pro ni méně zařízení a není tak “dospělá”. Podrobněji se jí věnuju ve vlastním projektu.
Praktické využití a automatizace
Všechna zařízení, ze kterých je potřeba číst informace či je ovládat jsou uložena v customizovatelném Dashboardu:
