Okosotthon alapok - avagy hogy ne vágj bele

Esetleg hogy tanulj mások hibáiból - 2022.02.19

Screenshot a NodeRED internetes okosotthonkezelő felületéről Sziasztok! Nemtom kiket fog érdekelni, de ihletet kaptam és gondoltam írok pár gondolatot egy témáról, amivel foglalkozom egy ideje. Nem villanyautós, hanem okosotthonos elmélkedés lesz :) Az imént olvastam egy cikket hogy mennyire borzalmas állapotban van még mindig az okosotthon piac. Olvastam olvastam, és bólogattam meg mosolyogtam végig :) Kisebb csoda kell hozzá hogy egy IT-ban nem (mélyen) jártas júzer össze tudjon rakni pár dolgot. Nem feltétlenül egy brutálisan túlárazott okoségőre gondolok, ez még valszeg mindenkinek megy, hanem arra, ha éppen két márka eszközeit szeretnénk egymással működésre bírni. Egyszerűen nincs még egy olyan egységes szabvány, amivel ezt meg lehetne tenni (tudom, aki jártas a témában rögtön írni fogja a Matter-t, de még nem az a jellemző hogy ilyen eszközökkel lenne tele a piac). Honnan is kellene tudnia egy egyszerű felhasználónak, hogy mi az a Zigbee, vagy a Z-Wave (a többiről nem is beszélve), épphogy megtanulta hogy mi is az a WiFi. Arról nem is beszélve, hogy bizonyos eszközök amiket mondjuk kínából lehet megrendelni mindenféle oldalakon más frekvencián működnek mint európai társai... Na, a lényeg, hogy jelenleg elég komplex tud lenni ha valaki nem csak lámpákat szeretne kapcsolgatni, hanem pl. szeretné, hogy kapcsoljon fel a spájzban a lámpa ha bemegy az ajtón. Ezt mondjuk még mindig meg lehet talán viszonylag egyszerűen oldani ha egy brand-nél marad az ember, de ha a mozgásérzékelőm már más márka, nagyon nem biztos hogy működni fognak egymással ezek a kütyük. Mit csinál nagyon sok ember? Hagyja a fenébe az egészet. Vagy ha rengeteg pénze van, hív egy erre szakosodott céget aki kialakítja neki. Vagy ha olyan kocka mint én, akkor elhatározza, hogy megoldja saját maga. Miért kezdtem én el anno? Ha jól emlékszem először vettem egy Philips Hue égőt egy bridge-el, hogy tudjam is vezérelni. Gőzöm nem volt mi az a Zigbee, csak sodródtam az árral. Aztán vettem talán még kettőt, de hamar rájöttem, hogy nem vicces 10000 meg 20000 Ft-ot kiadni egy! égőért (fehér és színes), amikor lehet venni 1500-ért is - tudom, olcsóbban is lehet, de nyilván LED-eset veszek már csak. Eddig még semmi gond nem volt, a minőséget és a kényelmet meg kell fizetni - gondolná a mezei felhasználó, de tényleg többszázezer forintot kell azért kiadni ha valaki fel akarja okosítani a lakását, vagy akár milliókat ha a házát? Ezt nem akartam elhinni. Ilyenkor mit csinál a kocka? Hát elkezd guglizni. Nagyon sokat guglizik. Szépen megismerkedik ezzel a világgal. Én sosem voltam szoftverfejlesztő, és a linuxhoz is csak minimálisan érttetem, szóval nem volt evidens, de két éve vettem magamnak egy Raspberry Pi-t. Utólag életem egyik legjobb döntése volt hogy belevágtam, de volt pár óra, vagy inkább nap, amikor a inkább kidobtam volna az ablakon :) Milyen Raspberry, az nem egy gyümölcs? De, az, konkrétan málnás pitét jelent a neve. Ez egy kis számítógép, ami elfér a tenyeredben, 20k HUF, és ha csúcsra járatod, akkor eszik 15W-ot - tehát normál használat mellett 1-2W-al elvan. Miért jó ez? Mert állandóan mehet anélkül hogy kifizetnél rá baromi sok pénzt a villanyszámlában. Ok, de mit kezdesz egy ilyennel? Hát raksz rá egy linuxot! Zseniális gondolat, mindenki úgy születik hogy tud ilyet! Na de ha ezt megugrottuk (amúgy ha már tudod hogy kell néhány klikk meg parancs ám csak az egész), akkor célszerű telepíteni rá ezt-azt, hogy valahogy kapcsolódjon a fentiekhez. Nekem ezt a feladatot egy Node Red nevű cucc látja el, de sok más lehetőség is van (Open HAB, Home Assistant, stb.). Miről is beszélünk? Hogy legyen egy olyan központi egységünk, ami állandóan működik, és tud beszélgetni az összes gyártó összes kütyüjével, valamint ezeket össze is tudja kapcsolni. És tegye mindezt ingyen! Sőt, tegye mindezt úgy, hogy nem kell megbíznom valami egzotikus ország egzotikus gyártójának a szoftverében, hogy Interneten keresztül tegyem ezt, hanem működjön a helyi hálózatomon, ne akarjon kimenni Internetre (persze a lehetőség legyen meg hogy távolról is irányítom ha akarom). Legyen egy jól használható kezelőfelülete, legyen rugalmas és működjön minden eszközről - telefon, tv, számítógép, stb. Hogy jutottam el idáig? A házban amit béreltünk, voltak távirányítós redőnyök, amiket szerettem volna felokosítani. Kérdeztem a forgalmazót, hogy ezt hogy lehet, és mondták hogy van egy 70000Ft-os kütyü, amit ha beszerelnek (még plusz sok pénzért), akkor működni fog. Én ezt sokalltam, és megint elkezdtem guglizni. Kiderült, hogy ezek a rádiós cuccok simán vezérelhetők egy egyszerű 433Mhz-es RF adóval, ami 300 Ft. Még 300-ért már egy vevőt is adnak hozzá. Szépen rákötöttem a Raspberry-re ezeket, és megnéztem milyen jelet bocsát ki ilyenkor egy távirányító. Annál a márkánál elég egyszerű volt amit használok, csak egy adott jelet kell neki többször kiadni. Ugyanezt a jelet az adóra küldve szépen mozgatta is a Raspberry-m a redőnyöket, sőt, olyat is be tudtam vele állítani, hogy csak rácsra húzza fel őket pl. Ezután jött a következő ötlet, hogy mi lenne, ha reggel felhúzná, este lehúzná a redőnyöket a cucc. Sima liba, időzítsük be. Igen ám, de nem mindig ugyanakkor van este. A Philips Hue-s izzók appjában talán be lehet állítani hogy hol vagy, és abból kiszámolja a naplementét, de az az app nem tudja vezérelni a redőnyöket. Látjátok a dolog komplexitását? Amúgy simán lehet hogy van olyan ekoszisztéma, amiben minden ilyesmit meg lehet oldani - én a Zipato-ét láttam kézközelből, de annak csak a központi egysége kerül 300000Ft-ba - szóval általában iszonyat drága. Ha nem akarod a gatyádat is kifizetni ilyesmire, akkor marad ez az open source irány. Én azt csinálom most, hogy lekérdezek egy időjárás-service-t (openweathermaps.org), és a jelenlegi és az 5 napos időjárás minden paramétere mellett megkapom a naplemente idejét. Fél órával előtte felkapcsol pár lámpa ami kell, aztán naplementekor lemennek a redőnyök. Zseniális! Mik jöttek ezután? Mivel akkor csak béreltük azt a házat amiben laktunk, nem akartam nagyon beszerelt dolgokkal foglalkozni, de hamar rá kellett jönnöm, hogy nem az okoségő a jó irány. Egyszerű, meg nem kell szerelni, de drága mint az állat. Főleg, ha veszel egy sok foglalatos lámpát a mennyezetre. Na ekkor jönnek az okoskapcsolók meg a kapcsoló mögé szerelhető relék. Azóta teleraktam ilyenekkel a házat, és nemcsak lámpákat, hanem gyakorlatilag mindenféle eszközt lehet vele vezérelni, aminek elég egy kapcsoló a működéséhez. Viszont itt már nem olyan egyszerű a történet. A legtöbb házban nincs 0 behúzva a kapcsoló mögé, a legtöbb ilyen cuccnak meg kell. Meg itt már érdemes meggondolni, hogy belevágjon-e az ember valamelyik IOT-s kommunikációs szabvány használatába. Említettem a Zigbee-t meg a Z-Wave-et. Na ezek azok. A WiFi-vel ellentétben ezek arra lette kitalálva, hogy az okos kütyüjeid beszélgetni tudjanak egymással. És tegyék mindezt nagyobb távolságból mint a WiFi, és sokkal de sokkal kisebb fogyasztásból. Így tudnak akár elemes kütyük is létezni ilyesmikből, amik évekig elvannak egy gombelemről. Persze egy villanykapcsoló mögé rakott relé kap áramot, szóval azt nem kell szétszedni egy-két évente. Miért érdemes mégis ilyesmibe belevágni? Egyrészt azért, mert ezek az eszközök a WiFi-vel ellentétben mesh hálózatot alkotnak (tudom, az újabb szintén méregdrága WiFi routerek már szintén), azaz nem csak a routerrel - vagy jelen esetben Zigbee Hub-al - beszélgetnek, hanem egymással is, kiterjesztve ezzel a hálózat területét. Hozzáteszem, hogy nem mindegyik eszköz csinálja ezt, pl. egy elemes nyitásérzékelő nem fog jelet továbbítani, csak az állandóan áram alatt lévő eszközök, mint a kapcsoló mögötti relék. A másik ok amiért szintén érdemes, hogy mivel nem Wifi-t használnak, "kímélik" a WiFi hálózatodat. A régebbi routerek eléggé elhasalnak ha már 20-nál több eszköz kapcsolódik rájuk. Persze mindig lehet venni még egyet és még egyet, de nem ez a jó irány. Tudom, WiFi 6 és társai, de így is baromi hosszú lesz ez a cikk, szóval ebbe a részébe nem is mennék most bele. Na akkor mit tesz a kocka? Vesz egy Zigbee HUB-ot. Ami amúgy már van neki a Philips Hue-hoz, de emlékeztek mit mondtam az elején? Ezek a cuccok nem működnek ám egymással, hiába használják ugyanazt a kommunikációs szabványt. Jó sok guglizás megint, és megtalálja a kocka, hogy mit kell venni. Egy USB-s Conbee II-t. Persze itt is lehetne egy csomót elmélkedni a Zigbee és a Z-Wave előnyeiről és hátrányairól, vagy arról, hogy kell-e mind a kettő, de ebbe most bele se mennék. Ez a kis cucc eddig 20+ márka 100+ okos eszközével beszélget teljesen jól, szépen megy a Raspberry-vel, és 10k HUF csak. Talán egy noname kínai relével nem ment, de simán lehet hogy az meg más frekit használ, vagy csak nem próbálkoztam vele eleget, fene tudja. Szóval van egy ilyenünk, meg egy csomó eszközünk amit lehet vele vezérelni, de miért is jó ez? Leírok pár komplexebb példát amire büszke vagyok, és talán látjátok belőle, hogy miért éri meg.

  1. Redőnyök. A házban ahová költöztünk, olyan redőnyök voltak, amiket fali kapcsolóval lehetett vezérelni. Egyesével, manuálisan. Ott kellett állni és nyomni a gombot fél percig mindegyiknél ha azt akartam hogy felmenjen. Ilyenből volt 6db, napi 6 perc ha csak egyszer húzzuk fel-le őket. Egy kocka nem szeret repetitív feladatokat végezni, automatizál. Kaptak okosreléket, amik szépen mozgatják fel-le őket, vannak amiket bizonyos időpontban, de pl. ahol a virágoknak kell a fény, ott napkeltekor. Ezen felül voltak még másik fajta redőnyök, kétféle rádiós távirányítóval. Az egyik fajtát már ismertem, a másik kicsit komplexebb volt, de azt is megoldottam. Ahhoz más frekis jeladó kellett (433.92Mhz helyett 433.42Mhz... ne is beszéljünk róla... viszont 800Ft-ért jött kínából 10db amiről azt hittem hogy csak 1 lesz :), meg egy progi a Raspberry-re ami vezérli (ezek már ugrókódos redőnyök, nem mindig ugyanaz a jel kell nekik). Viszont így már olyat is tudok, hogy ha nyáron nagyon besüt a nap, a délies ablakokon lévőket le tudom rácsra engedni, így spórolok a villanyszámlán a légkondikkal.
  2. Okoskapcsoló. Anno vettem még egy Philips Hue-s okoskapcsolót, amin van 4 gomb. Egy be, egy ki, meg egy fényerő fel-le szabályzó. Ott van az ágynál a hálóban. Zseniális kis cucc, mert ha utánaolvas az ember, nemcsak egy lámpára lehet használni, hanem sokminden másra. Érzékeli a hosszú gombnyomást, és a duplát is. Ezt jól ki is használom, mert ha megnyomom hosszan a kikapcs gombját, akkor nemcsak a háló lámpája kapcsol le, hanem minden okos kütyü amit akarok. Nemcsak a lámpák, hanem pl. a TV-k, a légkondik, a számítógépek, stb.. Nem kell mindent külön lekapcsolgatni, hanem amikor lefekszünk, egy gombnyomás és minden lement. Persze ez a gomb ki van rakva a dashboard-ra is, nem volna muszáj ehhez egy okoskapcsoló, de így nem kell a telefonnal vacakolni. Ja, ha már itt tartunk, egy másik gombja azt csinálja, hogy bekapcsolja a hálóban a TV-t, elindítja rajta a Plex-et (ez olyasmi mint a Netflix csak ingyenes és a Raspberry-n is fut). Szóval ezzel is lehet elég sok időt spórolni (meg végülis pénzt is, bár az elenyészőbb a ledes égők miatt).
  3. Locsolás. Mivel lehet venni Zigbee-s locsoló szelepet (vagy nemtom minek hívják ezt, rárakod a vezetékre, és gombnyomásra folyik a víz vagy nem - 8k HUF), ezért gondoltam automatizálom a locsolást is. Eléggé beszippantott a szép fű mint tevékenység? munka? élvezet? nemtom minek mondjam :) Szóval beruháztam egy ilyenbe. A fűnek az a legjobb, ha akkor és annyi vizet kap, amikor és amennyi kell neki. Brutálsok paramétertől függ ez. Napi max hőmérséklet, évszak, talaj minősége, stb. stb. stb. Szépen lekérdezem az openweathermaps-ről a hőmérséklet-adatokat, kiszámoltatom hogy ez alapján mennyi ideig kell locsolni, hány naponta, és így tudom szabályozni a kijuttatott vízmennyiséget. Teszem mindezt hajnalban, amikor a legjobb a fűnek, meg persze ha baromi meleg van, kap egy frissítő locsolást is napközben. Csinálja mindezt teljesen automatán (ugyannem kelek fel hajnalban locsolni), egy csomó időt spórolva. Sőt, mivel azt is megmondja az openweathermaps hogy mennyi csapadék várható, ezt szépen kivonom a locsolandó mennyiségből, így nem locsolok feleslegesen ha épp esett vagy esni fog. Ez egy csomó pénzt spórol. Rákötöttem egy talajnedvességmérőt is hogy teljes legyen a kép. Azzal együtt volt 10k HUF. Nemtom mennyibe kerül egy hasonló tudású locsolásvezérlő, de ennél tuti többe, és nem tudom hogy van-e ilyen rugalmas.
  4. Nyuszi etetés. Egy kicsit már túlmutat a Raspberry-n, mert mikrokontrollert is használok hozzá, de végsősoron a Raspberry vezérli. Fogtam egy nagyobbacska cserepet, kivágtam egy negyedkört az alján, raktam bele egy szervómotort a közepére, amire ráerősítettem egy CD lemezt (milyen jó hasznát lehet még venni ezeknek!), aminek szintén kivágtam a negyedét. Így lett egy vezérelhető adagolóm. Írtam egy progit, ami figyeli a Raspberry parancsát, és nyitja és zárja megfelő ideig az adagolót, és voila, hullik a megfelelő mennyiségű nyuszikaja. Legalábbis gondoltam én kis rutintalan... Ezek a nyuszikaják jó érdesek, és szépen összeállnak, nem akarnak lehullani, hidat képeznek. Szóval végül tettem a rendszerbe egy kis rezgőmotort is, ami először rezeg egy kicsit, hogy lehulljanak a szemek a megfelelő helyre. Viszont így hogy már működik, napi három nyuszietetés automatizálva, ez is egy csomó idő és csak heti egyszer kell utántölteni a cuccot. Meg ha akarok (mert mindig olyan cukik), telóról is adhatok nekik egy gombbal kaját. Írhatnék még egy csomó másik dolgot, pl. dumálni a háznak hogy csináljon ezt vagy azt, projektorok infra jeladóval bekapcsolását, buta légkondik okosítását vagy légkondik időzítését hogy legyen meleg vagy hideg egy adott szoba valamikorra, esetleg kapcsoljanak le ha kinyitottam a teraszajtót több mint fél percre hogy ne hűtsem feleslegesen a házat.., számítógép távoli felébresztését teljesen kikapcsolt állapotból szervóval és mikrokontrollerrel, infra lámpa és kandalló vezérlést, porszívó vagy fűnyíró vezérlést, kamera mozgásra reagálást, Spotify vezérlést, stb., egyre több és több dologra lehet ezeket a cuccokat használni. Egy szó mint száz, érdekes világ ez, ha valakinek van egy kis affinitása ehhez, akkor zseniális dolgokat lehet vele automatizálni. Feltéve ha ért hozzá. Amiket fent leírtam, több 10 óra munkám. Mivel ez valamilyen szinten a hobbim is lett ezért fun, de ha nem értesz hozzá, brutál szenvedés tud lenni. Mit tanácsolnék annak aki belevágna?
  • Ha nem értesz az IT-hoz: ne vágj még bele. Nem tart még ott a technológia, nincsenek egységes szabványok. Viszont a jó hír, hogy nemsokára egyre több Matter-t támogató eszköz lesz a piacon, és úgy néz ki ebbe az irányba mozdulnak el a nagyok. Szóval valszeg várnék egy-két évet mire eljutunk odáig, hogy átlag felhasználó is meg tud küzdeni ezekkel a cuccokkal.
  • Ha kicsit értesz az IT-hoz: beszélj valakivel aki csinált már ilyet, érdemes nem beleesni egy rakás csapdába. Aztán az igényeid mentén el lehet dönteni, hogy érdemes-e belevágnod egy Raspberry-s irányba, vagy maradsz egy gyártó ökoszisztémájában, és tolerálod a magasabb árakat és a kompatibilitási hiányosságokat.
  • Ha meg te is kocka vagy (valszeg magadra ismersz ha eddig végigolvastad), akkor irány a bolt és vegyél egy Raspberry-t! Nem mondom hogy mindenkinek szívesen segítek összerakni egy ilyesmit, de nagyon szívesen megosztom bárkivel azokat a kódokat amiket csináltam, ha abból tanulni akar. Meg azt még vállalom, hogy ha érdekel néhányótokat, akkor egy-két ilyen elmélkedést szívesen írok adott témában. Ezen amúgy egy csomót agyaltam, hogy hogy lehetne win-win-t kialakítani, de nem találtam olyan üzleti modellt ami megérné. Vagy nektek lenne túl drága, vagy nekem nem érné meg belerakni sok időt esténként (amit nem annyira akarok). Azért ha valakit nagyon érdekel, írja meg. Ha meg sokmindenkit érdekel, akkor lehet hogy elgondolkodhatunk valami csoportos beszélgetésen, ahol összerakunk pár dolgot együtt ami mindenkinek hasznos, úgy már lehet megérné mindenkinek. Na mostmár viszont tényleg abbafejezem, egy regény lett így is. Respect ha még ezt is elolvastad, ez még nekem is túl hosszú :) Ja, ha már említettem, berakok egy képet a mostani dashboard-om főoldaláról, hogy valami elképzelésetek is legyen róla hogy mikről beszélek itt össze-vissza. Ez persze mindenkinél egyedi, de teljesen jól kialakítható egy ilyen. Na tényleg befejeztem, aki elkezdni annak have fun!