Caspia Smart Home

Chytrý dům svépomocí? Ano, ale...

Nedávno jsem na jednom fóru viděl názor, jak je dobré postavit si smart home řešení svépomocí. Přeci vše je OpenSource skládačka. Napíšu svůj názor na toto téma.


16. 6. 2020

Postavím si Chytrý dům svépomocí. Vše je přeci OpenSource a nechci uzavřený proprietární systém.” Pokusím se popsat všechna úskalí, které tento přístup má. A na závěr navrhnout podle mého názoru nejlepší cestu, jak realizovat chytrý dům svépomocí a spojit všechny výhody obou světů (OpenSource a komerčního).

Technicky zdatní borci si chtějí skládat chytrý dům například z kombinace Raspberry Pi, ESP8266 nebo ESP32 a všech možných senzorů z Číny. Méně zdatní zase přemýšlí o tom, jak si komplexní smart home postaví z kombinace Apple HomeKit nebo Google Home příslušenství. Obě cesty mají svá úskalí.

1) Poskládání všeho od nuly

Pokud si budete skládat vlastní HW, existuje OpenSource SW pro řízení chytrých domů, například home-assistant.io. Problém takového řešení je neucelenost HW. Například neexistuje rozumné řešení pro propojení velkého množství prvků po domě. Pokud vsadíte na bezdrátové řešení, tak stejně budete tahat dráty pro napájení, nebo se uvyměňujete baterek. Například já mám v domě 50 prvků. Nedovedu si představit, že bych měl jednou za rok, dva měnit ve všech baterku. Takže neexistuje standardní sběrnice pro propojení více zařízení, například Raspberry Pi, nebo ESP. Mít všechna tato zařízení jen v rozvaděči je taky cesta, jenže pak musíte natáhnout po domě hromadu drátů do hvězdy od každého ovládaného/ovládacího zařízení.

klasický vypínač, pod kterým je Caspia prvek a dělá z něj chytrý vypínač

Nehledě na údržbu takového systému. V Číně přestanou vyrábět čidlo, musím přepsat firmware aby fungoval pro nový kus HW. Vychází bězpečnostní aktualizace. Za několik let mě přestane bavit tuto problematiku řešit a mám doma unikátní systém, který není standardní a co pak s tím dál.

2) Skládačka ze smart home příslušenství

Skládání chytrého domu z Google Home a Apple HomeKit příslušenství je vhodné spíše do malého bytu, kde máte pár zařízení. Nedovedu si představit ručně klikat 50-100 zařízení a vymýšlet jejich provázání. Zrovna jsem se díval, doma mám 205 services (to jsou jednotlivá zařízení, například jeden vypínač může mít nakonfigurovaných víc tlačítek, teploměr, čidlo CO2, světelnost). Protože jsou zařízení pro Google Home a Apple HomeKit spíše spotřební, rychloobrátkové, výrobci se moc neobtěžují s podporou starých zařízení a po 5 letech v klidu přestanou podporovat starší zařízení. Jak se tomu stalo u Philips HUE, nebo například Sonos, těch příkladů je víc.

Osobně mi přijdou taková zeřízení spíše jako doplňky k pořádnému chytrému systému. Například lampička, nebo led pásek za postelí. Když nebudou fungovat, nic zásadního se nestane. Také co mám zkušenosti s Philips HUE, jejich používání není stoprocentní a navíc, byla objevena bezpečnostní chyba, která umožní proniknutí zvenční do vnitřní sítě. To je naprosto nepřípustné.

3) Optimální řešení

Takže se dostáváme k řešení, které jsem zvolil já a dává mi naprostý smysl jak pro hračičky, kteří si chtějí dům skládat sami (jak HW, tak SW), tak pro nadšence, kteří umí trošku programovat a chtějí si SW domu ladit sami.

Caspia prvek, který se vloží pod vypínač a udělá tak z klasického vypínače chytrý

Systém Caspia Smart Home je postavený na OpenSource, využívá co nejvíc z tohoto světa. Domácí server běží pod OS Debian, celý systém je napsaný v Python 3. Parádní vychytávkou je využití reaktivních proměnných pro psaní automatizací. Základ konfigurace se píše v yaml. Pro uživatelské rozhraní používáme VueJS. Aplikace běží všude, v prohlížeči na desktopu, v tabletu i v mobilu. Dále pro vizualizaci využíváme parádní nástroj Grafana. Systém je kompletně logovaný do timestamp databáze Inflix DB. Lze se vracet v čase a vidět stavy jednotlivých zařízení. To usnadňuje hledání případných chyb.

Caspia prvek, který spíná 4 okruhy, světelné, nebo topení, nebo závlahu. Zvládně také ovládat dvě žaluzie.

Co se HW části týče, v každém prvku je malinký ARM Cortex-M0 procesor, ve kterém běží firmware napsaný v C++. Jednotlivé prvky jsou po domě propojené CAN sběrnicí. Sběrnici táhneme pomocí běžných LAN kabelů CAT5. Z 8 drátů využíváme 4 (2 napájení, 2 data), zbytek je rezerva. Samotné propojení sběrnice se děje pomocí klasických telefonních konektorů, které dovede nakrimpovat každý, kdo dělá sítě. Prvky se vzdáleně jak konfigurují, tak i flashují na nový firmware. Konfiguraci prování domácí server, ale automatizace se potom provádí mimo server. Říkáme tomu necentrální řešení (distribuovaná logika). Počítače jsou poruchové stroje, ale jednoúčelová zařízení vydrží běžet bez poruchy řádově déle. Navíc, když by přestal fungovat jeden prvek, nic se neděje, ostadní fungují dál. (je to stejné jako když mi praskne žárovka, ostatní fungují dál)

Caspia prvek, který rozvětví jednu CAN sběrnici na dvě (na starším tišťáku je vidět ještě původní název firmy HAUT)

Mít v každém prvku vlastní procesor má obrovské výhody. Například v každém vypínači mám najednou místo, kam můžu připojovat různé periferie. Například mimo až 8 vypínačů můžu připojit I2C teploměry, NTC podlahový teploměr, čidlo světelnosti, čidlo koncentrace CO2 (pro řízené větrání), čidlo vlhkosti. Pro podlahové topení tak získám perfektní prostorovou teplotu.

Caspia prvek, ke kterému je přepojené čidlo CO2, které měří i teplotu a vlhkost v místnosti

Jak je to s rozšiřováním takového systému? Systém Caspia byl od začátku navržený tak, aby byl rozšířitelný o zařízení třetích stran. Máme integraci jak pro Philips HUE žárovky, Ikea, meteostanice Netatmo, tak pro Apple HomeKit (tuto implementaci v Pythonu pustíme jako OpenSource) a v případě potřeby přidáváme podpory dalších standardů.

Pár ukázek z mého bastlení

Na závěr přidám pár ukázek vlastních výtvorů, které jsem doma vytvořil v době karantény a důkaz, že se můžou i bastlíři realizovat 😄

levný eInk displej zobrazující informace ze systému Caspia pomocí otevřeného API

eInk displej zezadu, o komunikaci se stará Raspborry Pi Zero W

levný OLED displej spojený přes ESP32, běží na něm MicoPython, systém Caspia do něj vykresluje obraz

Posledních pár fotek je ukázka toho, co všechno je možné se systéme na koleně provádět a jak je systém rozšířitelný a variabilní. Na závěr je nutno dodat, že je systém Caspia určený primárně pro klienty, kteří se nechtějí o nic starat, navrhneme jim kompletně celou chytrou elektroinstalaci a realizujeme ji, ale o tomto tématu dnešní příspěvek nebyl.

Pokud přemýšlíte o stavbě chytrého domu svépomocí, napište mi, rád poradím…

🧱 🔨 💡

Mirek Buček, uživatel CaspiaTech od roku 2011

bucek@caspiatech.cz

Všechny články