{"id":16493,"date":"2022-11-02T05:00:00","date_gmt":"2022-11-02T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=16493"},"modified":"2023-05-12T09:52:31","modified_gmt":"2023-05-12T07:52:31","slug":"smart-home-w-wersji-open-source-jak-zbudowalam-inteligentny-dom","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/smart-home-w-wersji-open-source-jak-zbudowalam-inteligentny-dom\/","title":{"rendered":"Smart Home w wersji Open source \u2013 jak zbudowa\u0142am Inteligentny Dom"},"content":{"rendered":"\n<p>Smart Home i IoT. Dwa wyra\u017cenia, kt\u00f3re by\u0142y dla mnie od zawsze buzzwordami. Nadu\u017cywane, otoczone tajemnic\u0105, a w wi\u0119kszo\u015bci przypadk\u00f3w chodzi w nich po prostu o zwyk\u0142\u0105 komunikacj\u0119 pomi\u0119dzy urz\u0105dzeniami. Wszystko sprowadza si\u0119 do \u0142atwiejszej lub trudniejszej konfiguracji (o koszcie sprz\u0119tu i wiedzy nie pisz\u0119 ;)).<\/p>\n\n\n\n<p>Poniewa\u017c temat jest owiany tajemnic\u0105 i stanowi nisz\u0119, stwierdzi\u0142am, \u017ce spr\u00f3buj\u0119 swoich si\u0142. Chcia\u0142am zobaczy\u0107,<strong> czy ja, jako tester, QA Architect ze znajomo\u015bci\u0105 programowania i DevOps, jestem w stanie przy pomocy narz\u0119dzi Open source\u2019owych zbudowa\u0107 sw\u00f3j Inteligentny Dom \ud83d\ude09<\/strong> Jak to wysz\u0142o? Czemu wybra\u0142am X, a nie Y? Co bym tym razem zrobi\u0142a inaczej? Zapraszam do lektury.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sk\u0105d pomys\u0142 na zabaw\u0119 ze stworzeniem Smart Domu?<\/strong><\/h2>\n\n\n\n<p>Zacznijmy od tego, \u017ce jestem leniwa. Produktywnie, ale wci\u0105\u017c leniwa. Wieczorem, wychodz\u0105c spod prysznica, nie wy\u0142\u0105czam wiatraka w \u0142azience. P\u00f3\u017aniej ten wiatrak jest uruchomiony do rana albo z du\u017cym oporem wstaj\u0119 zaspana z \u0142\u00f3\u017cka, by klikn\u0105\u0107 wy\u0142\u0105cznik. Bez sensu. Tak samo, przechodz\u0105c z salonu do sypialni, chcia\u0142abym jednym klikni\u0119ciem wy\u0142\u0105czy\u0107 wszystkie \u015bwiat\u0142a w salonie i zapali\u0107 na chwil\u0119 \u015bwiat\u0142o w korytarzu (np. na 3 sekundy), \u017cebym zd\u0105\u017cy\u0142a przej\u015b\u0107 do \u0142azienki\/sypialni. Wiesz, ile to wysi\u0142ku obs\u0142u\u017cy\u0107 wszystkie w\u0142\u0105czniki? \ud83d\ude09<\/p>\n\n\n\n<p>I tu lenistwo si\u0119 przydaje! S\u0142ysza\u0142am o gotowych rozwi\u0105zaniach zwi\u0105zanych ze sterowaniem \u015bwiat\u0142em, gniazdkami etc. Jednak stwierdzi\u0142am \u201eMeh! To nie dla mnie\u201d. Nie do\u015b\u0107, \u017ce kosztowne, to tak naprawd\u0119 wszystkie informacje zostan\u0105 udost\u0119pnione na zewn\u0105trz (czyli kto\u015b mo\u017ce si\u0119 \u0142atwo dosta\u0107 do mojej sieci). Chroni\u0119 swoj\u0105 prywatno\u015b\u0107, nie chc\u0119, aby moje dane zosta\u0142y niepotrzebnie&nbsp;udost\u0119pnione, dlatego wol\u0119 prywatn\u0105 chmur\u0119 od publicznej. <\/p>\n\n\n\n<p>Zatem je\u015bli nie chc\u0119 wydawa\u0107 du\u017co pieni\u0119dzy, a chc\u0119 utrzyma\u0107 bezpiecze\u0144stwo moich danych, to koszt musi by\u0107 inny \u2013 m\u00f3j czas. Przecie\u017c jestem techniczna, wi\u0119c bez problemu dam sobie rad\u0119, bo czego si\u0119 nie robi w imieniu rozwoju. I jeszcze zdob\u0119d\u0119 dodatkowe do\u015bwiadczenie! Pewnie bolesne, frustruj\u0105ce, ale pod koniec b\u0119d\u0119 zadowolona \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Komunikacja mi\u0119dzy urz\u0105dzeniami<\/strong><\/h2>\n\n\n\n<p>Zanim przejd\u0119 do opisu moich przyg\u00f3d z konfiguracj\u0105 i wyborem odpowiednich narz\u0119dzi, chcia\u0142abym wspomnie\u0107 o tym, jak w Smart Domu urz\u0105dzenia si\u0119 porozumiewaj\u0105.<\/p>\n\n\n\n<p>W komunikacji mamy nadawc\u0119 i odbiorc\u0119. W moim przypadku nadawc\u0105 mo\u017ce by\u0107: aplikacja w telefonie z zaprogramowan\u0105 automatyzacj\u0105 lub fizyczny przycisk. Odbiorc\u0105 jest odpowiednie zachowanie (np. zapal \u015bwiat\u0142o w kuchni). Ale sk\u0105d maj\u0105 wiedzie\u0107, \u017ce owe role s\u0105 im przypisane?<\/p>\n\n\n\n<p>Ano za pomoc\u0105 bramki. Bramka to urz\u0105dzenie, kt\u00f3re jest centralk\u0105 zarz\u0105dzaj\u0105c\u0105 ca\u0142\u0105 komunikacj\u0105. I tu bym mog\u0142a zako\u0144czy\u0107 artyku\u0142, gdyby nie to, \u017ce chcia\u0142am mie\u0107 wi\u0119ksz\u0105 swobod\u0119. Nie czu\u0142am potrzeby, by by\u0107 ograniczan\u0105 przez jak\u0105\u015b firm\u0119. Gotowe rozwi\u0105zania zazwyczaj powoduj\u0105 trudniejsz\u0105 integracj\u0119 mi\u0119dzy r\u00f3\u017cnymi producentami, brak mo\u017cliwo\u015bci modyfikacji czy przesy\u0142anie danych, kt\u00f3rych nie chc\u0119 pokazywa\u0107 \u015bwiatu. Zazwyczaj te\u017c wi\u0105\u017ce si\u0119 to z wy\u017cszym jednorazowym kosztem lub abonamentem.<\/p>\n\n\n\n<p>Dlatego postanowi\u0142am, \u017ce <strong>skonfiguruj\u0119 w\u0142asn\u0105 centralk\u0119!<\/strong> Podstaw\u0119 ju\u017c mia\u0142am: Raspberry Pi4, na kt\u00f3rym zosta\u0142 zainstalowany jeden system \u2013<strong> Octoprint.<\/strong> Brakowa\u0142o mi jedynie urz\u0105dzenia, kt\u00f3re pos\u0142u\u017cy jako w\u0119ze\u0142 pocz\u0105tkowy (czyli co\u015b, do czego pod\u0142\u0105czysz pozosta\u0142e urz\u0105dzenia zgodne z IEEE802).<\/p>\n\n\n\n<p>Zalet\u0105 takiego rozwi\u0105zania jest dowolno\u015b\u0107 w konfiguracji i modyfikacji zachowania. Co\u015b czego gotowe bramki mi nie zapewni\u0105. Spoiler alert: <strong>teraz bym u\u017cy\u0142a dockerowych obraz\u00f3w<\/strong>, aby skonfigurowa\u0107 urz\u0105dzenia, jednak ja wybra\u0142am inn\u0105 \u015bcie\u017ck\u0119. Jak si\u0119 p\u00f3\u017aniej okaza\u0142o\u2026 dla zaawansowanych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jaki cel chcia\u0142am osi\u0105gn\u0105\u0107 przy pomocy IoT?<\/strong><\/h2>\n\n\n\n<p>Na pewno sterowanie o\u015bwietleniem! Tak \u2013 oczami wyobra\u017ani ju\u017c widzia\u0142am siebie le\u017c\u0105c\u0105 na kanapie i z telefonu wy\u0142\u0105czaj\u0105c\u0105 \u015bwiat\u0142a, b\u0105d\u017a te\u017c sprawdzaj\u0105c\u0105 wilgotno\u015b\u0107 w danym pomieszczeniu. Rozwa\u017ca\u0142am te\u017c mo\u017cliwo\u015b\u0107 automatycznego w\u0142\u0105czenie wiatraka, gdy wilgotno\u015b\u0107 przekracza 60%.<\/p>\n\n\n\n<p>No wi\u0119c zacz\u0119\u0142am, jak przysta\u0142o na prawdziwego amatora-przysz\u0142ego eksperta, si\u0119 dokszta\u0142ca\u0107! Czyta\u0142am, co mo\u017cna zrobi\u0107 i jak. I wtedy przysz\u0142o ol\u015bnienie. Frustracja te\u017c \ud83d\ude09 Co by zrobi\u0142 architekt IT w sytuacji, gdy zaczyna nowy projekt? Oczywi\u015bcie rozrysowa\u0142 diagramy z etapami. Co, gdzie i do czego. Z tego podej\u015bcia zrodzi\u0142 si\u0119 schemat, kt\u00f3ry jest widoczny poni\u017cej (ju\u017c w docelowym narz\u0119dziu Node-Red, o kt\u00f3rym napisz\u0119 p\u00f3\u017aniej), czyli przeniesienie na papier moich pomys\u0142\u00f3w dotycz\u0105cych tego, jak bym chcia\u0142a u\u0142atwi\u0107 sobie \u017cycie. Dzi\u0119ki temu wiedzia\u0142am ju\u017c, ilu urz\u0105dze\u0144 potrzebuj\u0119 i mniej wi\u0119cej jakiego typu prze\u0142\u0105cznik\u00f3w szuka\u0107.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5.png\"><img decoding=\"async\" width=\"1024\" height=\"769\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5-1024x769.png\" alt=\"Etapy projektowania Smart domu\" class=\"wp-image-16495\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5-1024x769.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5-300x225.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5-768x577.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-1-5.png 1085w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Ryc. 1 Etapy projektowania Smart Domu<\/figcaption><\/figure><\/div>\n\n\n\n<p>Mia\u0142am ju\u017c cel, miejsce, schemat dzia\u0142ania. Brakowa\u0142o tylko plany, jak wykona\u0107 projekt i jakich narz\u0119dzi u\u017cy\u0107.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyb\u00f3r narz\u0119dzi \u2013 hardware<\/strong><\/h2>\n\n\n\n<p>Po przejrzeniu Allegro, Aliexpress i przeczytaniu kilku artyku\u0142\u00f3w wyb\u00f3r sprz\u0119tu okaza\u0142 si\u0119 \u0142atwy. Patrz\u0105c na sukcesy i pora\u017cki innych os\u00f3b, zdecydowa\u0142am si\u0119 na urz\u0105dzenia obs\u0142uguj\u0105ce <strong>bezprzewodowy protok\u00f3\u0142 Zigbee<\/strong>.<\/p>\n\n\n\n<p>Zalety tego protoko\u0142u:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0142atwo\u015b\u0107 zwi\u0119kszenia zasi\u0119gu przez instalacje przeka\u017anik\u00f3w (rola:router),<\/li><li>ma\u0142o zawodny,<\/li><li>transmisja danych jest uwierzytelniona,<\/li><li>dwustronna komunikacja,<\/li><li>natychmiastowy dost\u0119p (protok\u00f3\u0142 r\u00f3wnie\u017c stosowany w czujnikach ruchu),<\/li><li>\u0142atwo\u015b\u0107 w tworzeniu i rozbudowywaniu system\u00f3w,<\/li><li>niekorzystanie z Wi-Fi.<\/li><\/ul>\n\n\n\n<p>Dla wybranego protoko\u0142u <strong>alternatyw\u0105 mo\u017ce by\u0107 Z-WAVE,<\/strong> kt\u00f3ry jest certyfikowany. Po por\u00f3wnaniu obu stwierdzi\u0142am, \u017ce Zigbee b\u0119dzie wystarczaj\u0105cy, ta\u0144szy i posiada bardzo du\u017ce wsparcie spo\u0142eczno\u015bci (cho\u0107 jest ono chaotyczne). Dodatkowo, nie ma limitu po\u0142\u0105cze\u0144 i przekazywania danych w sieci mesh (Z-Wave ma limit do 4 urz\u0105dze\u0144, a w sumie sie\u0107 mo\u017ce liczy\u0107 232 po\u0142\u0105czone urz\u0105dzenia. W\u0105tpi\u0119 bym kiedykolwiek tylu potrzebowa\u0142a, ale po co si\u0119 ogranicza\u0107).<\/p>\n\n\n\n<p>Minusem mo\u017ce by\u0107 cz\u0119stotliwo\u015b\u0107, na kt\u00f3rej operuje Zigbee. Jest podobna do Wi-Fi, <strong>co mog\u0142o by\u0107 wad\u0105, ale na razie tego nie zauwa\u017cy\u0142am<\/strong>.<\/p>\n\n\n\n<p>W Zigbee mamy 3 role:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>koordynator,<\/li><li>router,<\/li><li>urz\u0105dzenie docelowe (gniazdka, prze\u0142\u0105czniki).<\/li><\/ul>\n\n\n\n<p>W tym jest tylko jeden fizyczny koordynator, a urz\u0105dzenie docelowe mo\u017ce by\u0107 r\u00f3wnie\u017c routerem. Jako koordynatora wybra\u0142am za drugim razem klucz sprz\u0119towy marki Sonoff. Pierwszy wyb\u00f3r pad\u0142 na CC2531 z Aliexpress.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2.jpg\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2-675x1024.jpg\" alt=\"Wyb\u00f3r narz\u0119dzi \u2013 hardware\" class=\"wp-image-16497\" width=\"392\" height=\"595\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2-675x1024.jpg 675w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2-198x300.jpg 198w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2-768x1166.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2-1012x1536.jpg 1012w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-2.jpg 1349w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/a><figcaption>Ryc. 2 Wyb\u00f3r narz\u0119dzi \u2013 hardware<\/figcaption><\/figure><\/div>\n\n\n\n<p>To by\u0142 dobry, jednorazowy wyb\u00f3r. Urz\u0105dzenie okaza\u0142o si\u0119 mocno niestabilne, jednak dla sprawdzenia czy warto p\u00f3j\u015b\u0107 w stron\u0119 automatyzacji, jak najbardziej warte swojej ceny (40 PLN). Po kilku miesi\u0105cach mog\u0119 napisa\u0107, \u017ce <strong>Sonoff jednak jest mniej zawodny<\/strong>. Praktycznie ani razu nie mia\u0142am problemu.<\/p>\n\n\n\n<p>I tak urz\u0105dzenia zosta\u0142y starannie dobrane, by nie korzysta\u0107 z Wi-Fi. Ponadto, z kilku powod\u00f3w wybra\u0142am <strong>w\u0142\u0105czniki i przeka\u017aniki firmy Tuya i Sonoff:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>jedyny poczw\u00f3rny prze\u0142\u0105cznik, kt\u00f3rego nie trzeba montowa\u0107 na puszce (czyli bez zmian w instalacji elektrycznej oraz z zachowaniem sp\u00f3jno\u015bci wygl\u0105du) \u2013 z firmy Tuya,<\/li><li>zasilanie bateryjne,<\/li><li>monta\u017c w dowolnym miejscu,<\/li><li>cena (pod koniec opisz\u0119 ca\u0142y koszt).<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-3-5.png\"><img decoding=\"async\" width=\"512\" height=\"300\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-3-5.png\" alt=\"Wyb\u00f3r narz\u0119dzi \u2013 w\u0142\u0105czniki i przeka\u017aniki\" class=\"wp-image-16499\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-3-5.png 512w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-3-5-300x176.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Ryc. 3 Wyb\u00f3r narz\u0119dzi \u2013 w\u0142\u0105czniki i przeka\u017aniki<\/figcaption><\/figure><\/div>\n\n\n\n<p>Post factum: dopiero p\u00f3\u017aniej, b\u0119d\u0105c w IKEI, zobaczy\u0142am, \u017ce ta sie\u0107 r\u00f3wnie\u017c ma swoje prze\u0142\u0105czniki i central\u0119 o nazwie IKEA Tradfri. Lidl r\u00f3wnie\u017c&#8230; Ale co to by by\u0142a za zabawa, gdybym posz\u0142a na \u0142atwizn\u0119 \ud83d\ude09<\/p>\n\n\n\n<p>Ze wzgl\u0119du na praktyczno\u015b\u0107 (dane dost\u0119pne od razu) oraz wygl\u0105d, wybra\u0142am<strong> czujniki wilgotno\u015bci i temperatury marki Xiaomi. <\/strong>Wykorzystuj\u0105 one Bluetooth Low Energy.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-4-3.png\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-4-3.png\" alt=\"Czujnik wilgotno\u015bci i temperatury\" class=\"wp-image-16501\" width=\"389\" height=\"389\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-4-3.png 580w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-4-3-300x300.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-4-3-150x150.png 150w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><\/a><figcaption>Ryc. 4 <a href=\"https:\/\/mi-home.pl\/mi-temperature-humidity-monitor-2\" rel=\"nofollow\" >Czujnik wilgotno\u015bci i temperatury<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p>Komputer, na kt\u00f3rym wszystko zosta\u0142o skonfigurowane, to <strong>Raspberry Pi4<\/strong>. W zwi\u0105zku z tym, \u017ce w moim domu panuje czysto \u201enerdowski\u201d klimat, znalaz\u0142am je obok lutownicy. Wcze\u015bniej s\u0142u\u017cy\u0142o m.in.: do obs\u0142ugi drukarki 3D oraz wystawieniu na \u015bwiat moich aplikacji do szkole\u0144 zwi\u0105zanych z testami wydajno\u015bciowymi i API.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5.jpg\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5-659x1024.jpg\" alt=\"Wyb\u00f3r narz\u0119dzi \u2013 mikrokomputer Raspberry Pi4\" class=\"wp-image-16503\" width=\"406\" height=\"631\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5-659x1024.jpg 659w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5-193x300.jpg 193w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5-768x1194.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5-988x1536.jpg 988w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-5.jpg 1317w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><\/a><figcaption>Ryc. 5 Wyb\u00f3r narz\u0119dzi \u2013 mikrokomputer Raspberry Pi4<\/figcaption><\/figure><\/div>\n\n\n\n<p>W zwi\u0105zku z tym, \u017ce na malinie mia\u0142am ju\u017c zainstalowany system (OctoPrint), nie chcia\u0142am u\u017cywa\u0107 obraz\u00f3w dockerowych i modyfikowa\u0107 obecnego stanu. Uzna\u0142am, \u017ce przecie\u017c konfiguracja nowego software\u2019u b\u0119dzie banalna! Aj jak si\u0119 myli\u0142am\u2026<\/p>\n\n\n\n<p>Podsumowuj\u0105c: mia\u0142am schemat, jak m\u00f3j Inteligentny Dom ma dzia\u0142a\u0107 i wybra\u0142am urz\u0105dzenia. Nadszed\u0142 czas, by zaj\u0105\u0107 si\u0119 Softwarem!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyb\u00f3r narz\u0119dzi \u2013 software<\/strong><\/h2>\n\n\n\n<p>Od razu podam: wybra\u0142am <strong>HomeAssistant, Zigbee2MQTT, Mosquitto oraz Node-Red<\/strong>. Wyja\u015bnienie znajdziecie poni\u017cej.<\/p>\n\n\n\n<p>Na pocz\u0105tku opisz\u0119 czego szuka\u0142am w oprogramowaniu:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u0142adnego UI, kt\u00f3ry zapewni mi przyjazne korzystanie ze sterowania urz\u0105dzeniami,<\/li><li>\u0142atwej automatyzacji zachowa\u0144 (czyli algorytmu jak ma si\u0119 zachowa\u0107 dane urz\u0105dzenie po danej sekwencji),<\/li><li>integracji mi\u0119dzy koordynatorem i urz\u0105dzeniem docelowym,<\/li><li>software\u2019u do obs\u0142ugi kolejek,<\/li><li>urz\u0105dze\u0144 skonfigurowanych w sieci lokalnej,<\/li><li>dost\u0119pu do urz\u0105dze\u0144 z ka\u017cdego miejsca, w kt\u00f3rym mam internet, \u0142\u0105cz\u0105c si\u0119 bezpo\u015brednio do sieci domowej, a nie przez chmur\u0119.<\/li><\/ul>\n\n\n\n<p>Tak jak ju\u017c wspomnia\u0142am \u2013 chcia\u0142am dzia\u0142a\u0107 w open source. Istniej\u0105ce rozwi\u0105zania nie spe\u0142nia\u0142y wszystkich powy\u017cszych warunk\u00f3w. Pozosta\u0142o zatem zintegrowanie kilku oprogramowa\u0144.<\/p>\n\n\n\n<p>Cel osi\u0105gn\u0119\u0142am m.in. za pomoc\u0105 HomeAssistant przy u\u017cyciu kt\u00f3rego, b\u0119d\u0105c poza domem, \u0142\u0105cz\u0119 si\u0119 bezpo\u015brednio do sieci domowej, a nie przez publiczn\u0105 chmur\u0119. Odpowiednia konfiguracja HomeAssistant, kt\u00f3ra poch\u0142on\u0119\u0142a kilka wieczor\u00f3w i kaw, zapewni\u0142a mi pozorny spok\u00f3j ducha, obs\u0142ug\u0119 zachowa\u0144 i bezpiecze\u0144stwo. Wspomina\u0142am, \u017ce nie wybra\u0142am naj\u0142atwiejszej drogi, u\u017cywaj\u0105c obraz\u00f3w dockerowych? \ud83d\ude09<\/p>\n\n\n\n<p>Dzisiaj ju\u017c wiem, \u017ce dokona\u0142abym zmian w konfiguracji Raspberry. Malina zosta\u0142aby przygotowana tak, aby uruchamia\u0107 kontenery dockerowe m.in.: z HomeAssistant, Node-Red, Octoprint. <strong>Wierz\u0119, \u017ce u\u0142atwi\u0142oby to p\u00f3\u017aniejsze modyfikacje, aktualizacj\u0119 oraz zapewni\u0142oby separacj\u0119 aplikacji.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>HomeAssistant<\/strong><\/h3>\n\n\n\n<p>HomeAssistant to aplikacja, kt\u00f3r\u0105 oficjalnie mo\u017cna traktowa\u0107 jako centralny system do kontroli wszystkiego w domu. W moim przypadku jest to kontrola wysokopoziomowa, poniewa\u017c traktuj\u0119 ten program raczej jako UI do spi\u0119cia wszystkiego, co jest pod spodem. W teorii w sieci mo\u017cna znale\u017a\u0107 bardzo wiele instrukcji i dokumentacji, ale jak to cz\u0119sto bywa \u2013 nie uda\u0142o mi si\u0119 znale\u017a\u0107 akurat tego, czego potrzebowa\u0142am.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-6-3.png\"><img decoding=\"async\" width=\"555\" height=\"204\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-6-3.png\" alt=\"Wycinek z konfiguracji urz\u0105dze\u0144 z HomeAssistant\" class=\"wp-image-16506\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-6-3.png 555w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-6-3-300x110.png 300w\" sizes=\"(max-width: 555px) 100vw, 555px\" \/><\/a><figcaption>Ryc. 6 <a href=\"https:\/\/www.home-assistant.io\/\" rel=\"nofollow\" >Wycinek z konfiguracji urz\u0105dze\u0144 z HomeAssistant<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-7.png\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-7.png\" alt=\"Wycinek z urz\u0105dzenia obs\u0142uguj\u0105cego kuchni\u0119 w HomeAssistant\" class=\"wp-image-16508\" width=\"588\" height=\"534\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-7.png 663w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-7-300x272.png 300w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><\/a><figcaption>Ryc. 7 <a href=\"https:\/\/www.home-assistant.io\/\" rel=\"nofollow\" >Wycinek z urz\u0105dzenia obs\u0142uguj\u0105cego kuchni\u0119 w HomeAssistant<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p>Przy okazji stworzy\u0142am \u0142adny panel, kt\u00f3ry na telefonie wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8.png\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8-473x1024.png\" alt=\"Panel do zarz\u0105dzania Smart Domem\" class=\"wp-image-16510\" width=\"325\" height=\"703\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8-473x1024.png 473w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8-138x300.png 138w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8-768x1664.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8-709x1536.png 709w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-8.png 945w\" sizes=\"(max-width: 325px) 100vw, 325px\" \/><\/a><figcaption>Ryc. 8 Panel do zarz\u0105dzania Smart Domem<\/figcaption><\/figure><\/div>\n\n\n\n<p>Do automatyzacji zachowa\u0144 mog\u0142am u\u017cy\u0107 HomeAssistant, jednak w tym wypadku wygra\u0142 Node-Red. Wg mnie jest bardziej intuicyjny (schemat przedstawiony wy\u017cej), \u0142atwy w obs\u0142udze i po problematycznej konfiguracji HomeAssistant stwierdzi\u0142am: basta! Co prawda problemy konfiguracyjne by\u0142y na moje w\u0142asne \u017cyczenie, ale ile\u017c mo\u017cna!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Node-Red<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/nodered.org\/\" rel=\"nofollow\" >Narz\u0119dzie Node-Red<\/a> pozwala w \u0142atwy spos\u00f3b wyklika\u0107 zachowanie i ca\u0142y przep\u0142yw dla wydarze\u0144, kt\u00f3re s\u0105 niczym innym jak np. klikni\u0119ciem w przycisk. Fizyczne przyciski daj\u0105 mo\u017cliwo\u015b\u0107 sterowania. Mo\u017cna na nich wykona\u0107 np.: dwuklik, jednoklik i d\u0142ugoklik. A to z kolei pozwala na stworzenie ciekawej konfiguracji. Na poni\u017cszym diagramie przedstawi\u0142am jedno z zachowa\u0144 dla przycisku w jadalni.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-9.png\"><img decoding=\"async\" width=\"821\" height=\"201\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-9.png\" alt=\"Diagram zachowa\u0144 w jadalni\" class=\"wp-image-16512\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-9.png 821w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-9-300x73.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-9-768x188.png 768w\" sizes=\"(max-width: 821px) 100vw, 821px\" \/><\/a><figcaption>Ryc. 9 Diagram zachowa\u0144 w jadalni<\/figcaption><\/figure><\/div>\n\n\n\n<p>Dla podw\u00f3jnego klikni\u0119cia przypisa\u0142am nast\u0119puj\u0105ce akcje:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>w\u0142\u0105cz \u015bwiat\u0142o w jadalni (o ile nie jest ju\u017c w\u0142\u0105czone),<\/li><li>po 3 sekundach wy\u0142\u0105cz \u015bwiat\u0142a w kuchni (o ile nie s\u0105 ju\u017c wy\u0142\u0105czone).<\/li><\/ul>\n\n\n\n<p>Na tym etapie wiedzia\u0142am, co chc\u0119 osi\u0105gn\u0105\u0107, zatem przyszed\u0142 czas na pokazanie narz\u0119dzia w akcji!<\/p>\n\n\n\n<p>W aplikacji prezentuje si\u0119 ono nast\u0119puj\u0105co. Po dodaniu przycisku do schematu okre\u015bli\u0142am, jakie rodzaje fizycznych klikni\u0119\u0107 na urz\u0105dzeniu docelowym mog\u0105 zosta\u0107 wykonane i co je wywo\u0142uje (payload.action).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-10.png\"><img decoding=\"async\" width=\"533\" height=\"445\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-10.png\" alt=\"Okre\u015blenie czynno\u015bci w aplikacji\" class=\"wp-image-16514\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-10.png 533w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-10-300x250.png 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/a><figcaption>Ryc. 10 Okre\u015blenie czynno\u015bci w aplikacji<\/figcaption><\/figure><\/div>\n\n\n\n<p>Nast\u0119pnie odpowiednio skonfigurowa\u0142am op\u00f3\u017anienia i ustawi\u0142am wy\u0142\u0105czenie \u015bwiate\u0142 kuchennych.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-11.png\"><img decoding=\"async\" width=\"498\" height=\"324\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-11.png\" alt=\"Konfiguracja op\u00f3\u017anie\u0144\" class=\"wp-image-16516\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-11.png 498w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-11-300x195.png 300w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><\/a><figcaption>Ryc. 11 Konfiguracja op\u00f3\u017anie\u0144<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-12.png\"><img decoding=\"async\" width=\"502\" height=\"462\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-12.png\" alt=\"Wy\u0142\u0105czenie \u015bwiate\u0142 w kuchni\" class=\"wp-image-16518\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-12.png 502w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-12-300x276.png 300w\" sizes=\"(max-width: 502px) 100vw, 502px\" \/><\/a><figcaption>Ryc. 12 Wy\u0142\u0105czenie \u015bwiate\u0142 w kuchni<\/figcaption><\/figure><\/div>\n\n\n\n<p>Dodam, \u017ce z sypialni r\u00f3wnie\u017c mam mo\u017cliwo\u015b\u0107 wy\u0142\u0105czenia wszystkich \u015bwiate\u0142 w domu \ud83d\ude0a<\/p>\n\n\n\n<p>Jako <strong>minus mo\u017cliwo\u015bci konfiguracji tylu r\u00f3\u017cnych zachowa\u0144<\/strong> i liczby fizycznych prze\u0142\u0105cznik\u00f3w wpi\u0119tych w sie\u0107 musz\u0119 przyzna\u0107, \u017ce pocz\u0105tkowo nie zawsze pami\u0119ta\u0142am, co robi ka\u017cde klikni\u0119cie. Teraz jest ju\u017c lepiej.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zigbee2MQTT oraz Mosquitto<\/strong><\/h3>\n\n\n\n<p>Mamy UI do inteligentnego domu, mamy zrobion\u0105 automatyzacj\u0119 dla przycisk\u00f3w, ale jako\u015b trzeba po\u0142\u0105czy\u0107 te dwa \u015bwiaty. I tu przychodzi z pomoc\u0105 <a href=\"https:\/\/www.zigbee2mqtt.io\/\" rel=\"nofollow\" >Zigbee2MQTT<\/a>, czyli mostek lub oprogramowanie pozwalaj\u0105ca na integracj\u0119.<\/p>\n\n\n\n<p>M\u00f3j klucz sprz\u0119towy posiada\u0142 ju\u017c firmware wgrany przez sprzedawc\u0119, umo\u017cliwiaj\u0105cy korzystanie z Zigbee2MQTT, dlatego wyb\u00f3r oprogramowania w tym przypadku by\u0142 prosty. Po\u0142\u0105czenie sprz\u0119tu fizycznego z Zigbee2MQTT jest \u0142atwe \u2013 po prostu wyszukujemy urz\u0105dzenie w aplikacji i je parujemy. Co\u015b co mi si\u0119 spodoba\u0142o \u2013 <strong>czytelne logi, w przyjaznej wizualnej formie<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13.png\"><img decoding=\"async\" width=\"1024\" height=\"169\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13-1024x169.png\" alt=\"Wykorzystanie Zigbee2MQTT\" class=\"wp-image-16520\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13-1024x169.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13-300x49.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13-768x127.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/10\/Ryc.-13.png 1425w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Ryc. 13 Wykorzystanie Zigbee2MQTT<\/figcaption><\/figure><\/div>\n\n\n\n<p>Do obs\u0142ugi kolejek u\u017cy\u0142am <a href=\"https:\/\/mosquitto.org\/\" rel=\"nofollow\" >Mosquitto<\/a>. Niestety tutaj nie ma UI. Wyb\u00f3r by\u0142 prozaiczny \u2013 pierwszy wynik z Google na temat implementacji MQTT. Oczywi\u015bcie konfiguracja na Raspberry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p>Czy by\u0142o warto? TAK! Nauczy\u0142am si\u0119 wielu rzeczy jak np. Konfiguracja. Pog\u0142\u0119bi\u0142am swoj\u0105 wiedz\u0119 o protokole Zigbee, Raspberry i wiem, \u017ce chc\u0119 wi\u0119cej. Jestem r\u00f3wnie\u017c \u015bwiadoma, \u017ce po pocz\u0105tkowej frustracji na liczb\u0119 artyku\u0142\u00f3w i ma\u0142o przyjazn\u0105 dokumentacj\u0119 przychodzi uspokojenie i powolne d\u0105\u017cenie do celu. Dodatkowo, po dodaniu kilku linii kodu, wiatrak w \u0142azience sam si\u0119 w\u0142\u0105cza, gdy wilgotno\u015b\u0107 b\u0119dzie powy\u017cej 60%, a wy\u0142\u0105cza, gdy spadnie do 50%.<\/p>\n\n\n\n<p><strong>Koszt inwestycji:<\/strong> 700 PLN za urz\u0105dzenia (bez Raspberry, ale kiedy\u015b jego cena by\u0142a r\u00f3wna 340 PLN). Bior\u0105c pod uwag\u0119 czas i zdobyte do\u015bwiadczenie, uwa\u017cam, \u017ce koszt finansowy jest bardzo niski. Dzi\u0119ki temu, czego si\u0119 nauczy\u0142am, nied\u0142ugo przygotuj\u0119 konfiguracj\u0119 Inteligentnego domu na wi\u0119ksz\u0105 skal\u0119.<\/p>\n\n\n\n<p><strong>Je\u015bli chcesz przeczyta\u0107 moje kolejne przygody z tego typu modyfikacjami<\/strong> \u2013 daj zna\u0107 w komentarzu, poniewa\u017c z tych poni\u017cszych urz\u0105dze\u0144 b\u0119d\u0119 tworzy\u0142a cluster, a jego wykorzystanie ju\u017c mam zaplanowane \ud83d\ude09<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p>Je\u015bli interesuje Ci\u0119 wykorzystanie mikrokomputer\u00f3w Raspberry, polecamy artyku\u0142 naszego eksperta: <a href=\"https:\/\/sii.pl\/blog\/net-i-raspberry-pi-mozliwosci-wykorzystania-platformy-na-mikrokomputerach\/?category=development-na-twardo&amp;tag=net,iot,raspberry-pi\">.NET i Raspberry Pi \u2013 mo\u017cliwo\u015bci wykorzystania platformy na mikrokomputerach<\/a>.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;16493&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;25&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 25)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Smart Home w wersji Open source \u2013 jak zbudowa\u0142am Inteligentny Dom&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 25)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Smart Home i IoT. Dwa wyra\u017cenia, kt\u00f3re by\u0142y dla mnie od zawsze buzzwordami. Nadu\u017cywane, otoczone tajemnic\u0105, a w wi\u0119kszo\u015bci przypadk\u00f3w &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/smart-home-w-wersji-open-source-jak-zbudowalam-inteligentny-dom\/\">Continued<\/a><\/p>\n","protected":false},"author":274,"featured_media":19750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":8,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[1551,1550,1512,435],"class_list":["post-16493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-smart-home","tag-inteligentny-dom","tag-poradnik","tag-iot"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2022\/08\/Smart-dom-w-w-wersji-open-source.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/16493"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/274"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=16493"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/16493\/revisions"}],"predecessor-version":[{"id":21635,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/16493\/revisions\/21635"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/19750"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=16493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=16493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=16493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}