Poslední update Aliexpress listu jsem dělal 11.11.2016 a tak je čas zase na aktualizaci. Tentokrát je to se spoustou nových a zajímavých přírůstků, protože jak jsem se do Arduina pustil, tak jsem každý večer objednával co mi zrovna chybělo nebo co mi přišlo užitečný 😉
Když takhle ten list vidím, tak jsem toho stihl nakoupit docela dost. Takže mi od nového roku chodí každý den alespoň tak 3-4 balíčky a stále mám ještě 40 obědnávek ve frontě :-).
Opět jsou červeně zvýrazněné novinky, rozházeno do kategorií. Jen na popisky už jsem teda sílu neměl, ale zase jsou tam celé názvy z Aliny, takže by to mělo být pochopitelné.
Server vodnici.net byl dneska kompletně převeden ze starých hostingů do nového Docker hostingu na Azuru. Samozřejmě se to neobešlo bez drobných komplikací (jelikož jsme migrovali blog jako prvního pokusného králíka 😉 ), ale nyní by již mělo vše běžet jak má.
Dneska (vlastně před chvilkou, a rovnou to píšu, protože jsem z toho fakt nadšen) se mi povedlu vskutku parádní kousek…. (a jestli mi někdo řekne, že jste to znali, nebo že to je někde popsáno, tak budu fakt naštvanej 😉 ).
Řešil jsem, jak propojit dohromady Roombu, MQTT, NodeRed, mé vlastní RoombaWalls a do toho Loxone. Cílem je, aby si Roomba uměla sama rozsvítit v dané místnosti a uměla si i sama zapnout virtuální zdi v okamžiku, kdy jsou potřeba.
Na rozsvěcení jsem se stále snažil zprovoznit Websockets (marně), Node-lox-mqtt-gateway (marně), případně pak nějak jednoduše přes virtuální HTTP vstupy/výstupy (lze, ale dost opruzoidně).
Až jsem se rozhodl trochu “blíž” podívat na Loxone webovou aplikaci, abych se podíval, jak vlastně oni komunikují s Loxonem. A tady jsem oběvil (alespoň pro mne) zlatý grál ;-).
Ačkoli v dokumentaci píší, že musíte definovat virtuální vstupy/výstupy pro komunikaci s venkem, není tomu tak úplně pravda. Stejně tak není pravda, že přes HTTP požadavek nelze zapnout napřímo dané světlo, aniž by člověk simuloval HW vstup Loxonu.
Je to totiž o tom, že každý prvek v LoxConfigu má vlastní Uuid. Tenhle Uuid zřejmě nejde zjistit v Loxone configu, teoreticky by asi šlo najít ho v Loxone programu v XML souboru, ale mnohem snáž to jde právě přes jejich web aplikaci.
Stačí otevřít aplikaci v Chrome, přes developer tools (F12) se podívat do záložky “Console” a zmáčknout tlačítko dle potřeby (nebo třeba kliknout na žaluzie, nebo cokoli jiného. A hle. Máte kompletní URL adresu s požadavkem, UUIDem tak, abyste daný příkaz mohli vykonat i odkudkoli jinde.
Tohle jsou třeba žaluzie. A není potřeba žádný debilní virtuální vstup navíc, není potřeba nic donastavovat v LoxConfigu a není potřeba se ani prosit na naprosto nekompetentní Loxone podpoře, kde jen tak mimochodem o adrese /jdev/sps/io nemají ani tušení, jelikož znají jen /dev/sps/io, pomocí které šahají jen na fyzické vstupy/výstupy HW, což je ale k programování dost nešikovné.
A takhle vypadá primitivní NodeRED program na rozsvícení světla. To šedé vlevo je prvek “Inject”, který generuje msg se zprávou “status”:”on”
A takhle pak vypadá HTTP request, pomocí kterého se posílá zpráva on/off do loxonu
A to je vše. A takto tím pádem jde ovládat cokoli uvnitř Loxone, aniž by se museloy na vše dělat virtuální vstupy tak, jak to doporučují EXPERTI z Loxone podpory.
PS: Jen tak mimochodem, NodeRED je masakr. Pokud by v Loxonu vytáhli hlavy ze svých pr*** a nabídli by NodeRED nativně jako nadstavbu, neměli by jejich systém naprosto konkurenci.
Díky kombinaci UUID bloků v LoxoneConfigu a programovacím možnostem NodeRED jdou efektivně naprogramovat věci, které by byly jinak nemožné (viz rozsvěcení místností dle průjezdy Roomby, ovládání virtuální zdí roomby jen když roomba jede,….)
Jen krátké info k výpadku. Od včerejška od cca 22:00 nejel blog vodníků až do 4:00. Ačkoli nenastal konec světa, stalo se něco, s čím jsme nepočítali a co budeme muset do budoucna vyřešit.
Celé naše servery na Microsoft Azure byly bez jakéhokoli varování dopředu vypnuty, takže krom vodníku nejel ani žádný z našich firemních webu a serverů, což byl mnohonásobně větší průser.
Chytráci v Azuru totiž měli chybu v backendu, která po vyčerpání Microsoft Partner Network creditu jaksi zapoměla ztrhávat peníze z karty a raději vypla vše co běželo.
Bohužel, takováto drobnost trvala Microsoftu opravit 6 hodin. A namísto, aby nám servery nahodili, dělali, že se jich to vlastně skoro netýká. Do budoucna proto budeme asi hledat jiného cloud providera, kde půjdou hostovat docker images tak, aby se toto už nepakovalo.
PS: Píšu to hlavně proto, že sem skoro celou noc nespal a Microsoft mne dneska fakt nasral. Člověk nemá kam zavolat, na urgent tickety odpovídají “do 2h” = cca za hodinu. A pak zavolá Ind, co nic neví a přepošle to vějš a to trvá další 2h. A tak dále….
Thank you for reaching us. My name is Arun and I am from Subscription Management Team. I have taken the ownership of this case and I see that you have successfully removed the spending limit towards your Azure subscription.
However, we found the subscription be still disabled in the backend. This issue has now been fixed and you should have your services up and running. I kindly request you to confirm the same.
Please do let me know if you have any queries.
Regards,
PPS2: Žádné slovo o omluvě, žádné slovo o nějaké kompenzaci. Totálně je jim to u ….
Nějak jsem úplně zapoměl veřejně oznámit novou aktualizaci na můj program pro propojení Quida (Papoucha) a Loxone. Díky tomu ale můžu po několika týdnech testování s klidným svědomím říct, že opravdu funguje vše jak má a nemusíte se případně bát aktualizovat :-).
Ovládání relátek na Quidovi
Nová verze obsahuje několik novinek. Tou první, hlavní, je možnost ovládat relátka na Quidovi. Relátka lze ovládat na všech modulech Quida, které relátka mají. Tzn jak na modulu 100/3, tak až po modul 2/32. Vše v ethernet verzi.
Drobná komplikace během vývoje nastala v omezení Loxonu zpracovávat operace asynchroně. Jelikož toto Loxone (PicoC) neumí, nelze zároveň poslouchat sockety a zároveň je odesílat. Z toho vyplívá, že v okamžiku spínání relé nemusí dorazit info o uvolnění tlačítka, což mělo za důsledek dost náhodné chování žaluzií 😉
Z tohoto důvodu je potřeba použít zvlášť komponentu “Loxone program” pro vstupy a zvlášť pro výstupy. PicoC jako takový je stejný, jen se v hlavičce programu nastaví, zda obsluhuje vstupy nebo výstupy. Pokud vstupy nebo výstupy nepotřebujete, stačí použít jen jeden program takový, který potřebujete.
Relátka se ovládají přes připravené Loxone bloky. Na každý vzorec lze připojit až 4 vstupy pro relé a ty jsou pak napojeny na jeden společný Loxone program, který z nastavených hodnot relé sepne nebo rozepne.
Automaticky generované pakety
Druhá novinka je kompletní předělání vnitřností programu tak, abych už nemusel generovat ručně pakety, ale aby si program vše dělal sám. Na jednu stranu to ulehčí konfiguraci, na druhou stranu to dost zkomplikovalo SW. Bohužel, jelikož se každé relé spíná vždy jiným příkazem, nebylo zbytí. Jinak bych musel generovat až 40 paketů pro každého uživatele zvlášť, a to by mi mrdlo.
Díky tomu se ale i hodně zjednodušilo nastavení celého programu. Stačí zadat jen IP a port pro Loxone a pro Quida, nastavit režim programu (0/1 vstupy/výstupy) a hotovo.
Paměťová i procesorová optimalizace programu
Třetí novinka je, že je celý Loxone program zkomprimovaný. Jelikož už byl díky všem rozšířením a komentářům opravdu dlouhý, napsal jsem si komprimátor tak, aby z kódu zmizely všechny zbytečné komentáře a dlouhé názvy a program tak v Loxonu nezabíral zbytečně pamět (a i parser PicoC má tím pádem méně práce), takže program celkově méně zatěžuje Loxone.
Vypnutí zbytečných výstupů do logu
Poslední novinkou je pak odstranění některých výpisů do logu Loxone configu. Ty jsem tam měl z doby ladění a zůstaly i u některých z Vás. Bohužel, když se tam nechaly nějakou dobu, dokázaly pár MB dat v logu udělat. Pokud by se to týkalo i Vás, můžete logy promazat přes FTP přímo v Loxonu.
A to je vše
Tím končí soupis změn z aktuální verze. Pro ty z Vás, kteří si už program koupili, tak je aktualizace dostupná ve sdílené Dropbox složce tak jako dřív. Je aktualizovaný jak program, tak Loxone projekt, kde ve dvou záložkách najdete schéma pro vstupy a výstupy.
Pokud ještě program nemáte, ale čekali jste třeba právě na výstupy, neváhejte se mi ozvat na email [email protected]. Cena zůstává stále stejná, ačkoli je program opět o několik řádů vylepšený 😉
Máme další měsíc, takže je opět čas na sumarizaci výkonnosti jednotlivých platforem.
Co se tento měsíc událo
Nejzajímavější událostí je nová možnost investovat na platformě Mintos přímo v českých korunách. Na první pohled zajímavá zpráva bohužel zas tak zajímavá není, protože to lze jen pro takové investice, které jsou v CZK. A těch je na tržišti žalostně málo.
Díky tomu tak budou peníze většinu času ležet ladem, což bude mít mnohem horší dopad na výdělek než případné ukončení intervencí. Z tohoto důvodu CZK investování vůbec nezkouším a dál budu používat jen EUR.
Statistiky tohoto měsíce
Tento měsíc jsem nevkládal žádné prostředky na žádnou platformu (až na pár drobných na Mintosu) a ani nic nevybíral. Tudíž čísla tohoto měsíce odrážejí opět naprosto přesně výkonnost platformy, bez jakéhokoli zkreslení případným vkladem.
Pro převody peněz stále doporučuji používat Transferwise.
Úročení a fungování platforem
Čísla platforem opět krásná. Twino tento měsíc hezky zabodovalo, stejně tak Mintos. V SavingStreamu o něco nižší čísla, jelikož doběhl jeden z úvěrů a už jsem nestihl peníze opět zainvestovat.
Zonky pak také pěkná čísla, akorát mi začínají jít nahoru pohledávky po splatnosti. V současnosti 16kč.
Začnu trochu od konce. Dělal jsem toho za svůj život už hodně, ale dneska poprvé jsem seděl pod vánočním stromečkem, do notebooku připojený USB kabel, co od něj vede, a debugoval a upgradoval jeho firmware ;-)).
Ale od začátku. Dostali jsme vánoční světýlka na stromeček. Bohužel, měly drobnou vadu. Po zapnutí elektriky se samy nerozsvítily. Bylo ještě potřeba na zdroji zmáčknout tlačítko. A to pokaždé, když se elektrika znovu zapnula.
No a to je naprd. Přece v chytrém domě nebudu ručně rozsvěcet vánoční stromeček, žejo. Takže začlo zkoušení a vymýšlení, jak problém vyřešit.
Problémů k vyřešení bylo hned několik. Jak ledky napájet, jak je spínat, čím spínat relátka a jak to propojit do Loxonu.
Napájení se nakonec vyřešilo elegantně. Od původního plánu napájet to 24V zdrojem s napěťovým děličem jsem se přes svůj laboratorní zdroj a měření spotřeby dostal až k USB 2A nabíječce, která krásně splinila zadání.
Další problém byly relátka. Z číny dorazil 8-modulový relé modul, jenže na spínání je potřeba 5V a to můj Wemos čip neměl. Tak jsem wemos vyměnil za Arduino UNO a zkusil to zapojit na něm. A relé se poprvé seplo, to bylo radosti.
Jenže jen do chvíle, kdy jsem si uvědomil, že UNO nemá ani ethernet, ani wifi. Takže pro dálkové spínání naprd. Takže zpět k Wemosu a jeho wifi.
Další cesta tak vedla přes samostatné napájení relé modulu 5V a pokusu, jestli náhodou relé pak nejde sepnout pomocí 3V z Wemosu. A abych to netestoval rovnou na Wemosu, využil jsem opět laboratorní zdroj (fakt ho miluju) a na napájení opět využil USB nabíječku.
A hle, prošlo to. Takže tudy by to mohlo jít. Takže jsem zkusil popropojovat Wemos a relátko, wemos napájet z USBčka, relé přes uřízlý USB kabel taky z USB nabíječky, a k tomu LEDky také z USB nabjíčeky.
To máme spoustu USB nabíječek ;-). Naštěstí relé modul a wemos utáhne jedna, a druhá na LEDky. To už jde. A časem koupím 5V 4A zdroj a bude to.
A protože s jedním relé není žádá sranda, tak sem to rozšířil na dub-step čtyř relátek 😉
Když byl hotový proof-of-concept, začal jsem to celé propojovat. Tady byla největší brzda nedostatek materiálu (tím jsem trpěl už i zkoušení, ale tady to byl extrém). Nejvíc mi chyběly kabílky na propojování PINů. Zatím jich dorazilo jen pár a tak jsem si zbytek povyráběl, z čeho šlo (hlavně pak z těch černých male-female patic, které lze stříhat štípačkama a dělat multi-konektory, viz ty žlutě zalepené konektory).
Po propojení a ověření, že vše bliká a cvaká, jak má, byla další mise nacpat to do nějaké krabičky, aby to vypadalo alespoň trochu civilizovaně a mohlo se to válet v obyváku. To se našetěstí povedlo také docela rychle a tak bylo řešení téměř hotové.
Nakonec pak už jen řetězy rozmotat, přenést do obyváku, znovu otestovat, a… vyhodit elektriku v celém baráku. Samozřejmě v deset večer, takže tma jak v řiti. A samozřejmě vyhozeno až venku na ulici.
I I. se přišla podivat, co jsem to zas udělal ;-). Kupodivu ale na vině nebylo moje udělátko, ale očividně dosloužilý zdroj k notebooku, co jsem si potřeboval zapojit. Po nahození se tím pádem mohlo pokračovat dál ;-).
Dneska jsem přesunul do obyváku stromek a ověsil ho lampičkama. Na řadu tak přišla softwareová část. Samoblikání je sice pěkné, ale chtělo to hlavně to zapínání a vypínání přes Loxone.
Plán byl využít už připravené MQTT komponenty z minula a jen to použít na něco konkrétního. Založil jsem další topic christmas-tree/relay a začal propojovat. Část v arduinu byla snadná. Vzít data ve formátu 101011 a podle toho postupně pozapínat/povypínat relátka. Easy.
Pak upravit Node-Red tak, aby se daly MQTT data posílat a testovat přes něj. Opět easy. Trochu složitější pak bylo parsování dat dle typu, tzn. když přijde z Loxonu “christmas-tree/relay/xxxx”, tak aby to poslal na správný kanál se správnýma datama. Ale stačilo zjistit, jak fungují v MQTT funkce, že je to Javascript a zjistit, jak se v JS pracuje se stringama. Easy.
EDIT: Večer jsem měl ještě chvilku čas, tak jsem si pohrál s Node-RED nastavením. Nutno říct, že je to naprosto impozantní a lze tam udělal naprosto cokoli (hlavně díky možnosti scriptovat pomocí JS). Takže nyní má stromeček ještě pět režimů blikání 🙂
Pak ale přišel kámen úrazu. To, co jsem očekával, že bude to nejjednodušší, tak nefungovalo. V Loxonu se mi nedařilo rozběhnout virtuální výstupy HTTP. Ať jsem dělal, co jsem dělal, tak z Loxonu data prostě nelezly. Nejen do Node-Red, ale ani na testovací app, ani do aplikace Hercules, co Loxon doporučuje, a ani nebyly vidět přes Ethereal či Wireshark.
A tak jsem zkoušel a zkoušel, nastavoval, ptal se na fóru a to, co všem funguje, mně nejelo. Nakonec jsem to všechno natvrdo zrestartoval a pakety začaly chodit. Bohužel, HTTP výstupy u mne mají cca 15sekund prodlevu. Pokud pošlu 10 signálů, místo aby přišly hned, dorazí vždy jeden, 15s pauza, další, zase pauza, …
Co naštěstí funguje bleskově jsou přímé TCP spojení. A protože HTTP nepotřebuju a TCP je přes NodeRED mnohem rychlejší/jednodušší, zůstal jsem u něj a HTTP dál neřešil.
A to byla poslední část potřebná k tomu, aby se z mobilu dal poslat příkaz do Loxonu, který pošle příkaz do NodeRED, který pošle MQTT zprávu na Ubuntu server, kde je pak zpráva poslána do Wemosu, který přes digitální výstupy pošle impulzy do relátek, které rozsvítí vánoční stromeček.
Jako jo, šlo by to asi o něco jednodušeji, ale takhle je to prostě cooool 😉
PĚKNÉ VÁNOCE VÁM VŠEM!
Finišovací aktualizace aneb zase trocha z toho budování
Od poslední budovatelské akce jsme zase trochu postoupili. A aby to tu na blogu nebyl jen samý hebrejský článek o Arduinu a o jiných (pro některé) sprostých slovech, tak tentokrát zase hezky česky (tímto zdravím rodiče 😉 ).
A je toho vlastně i docela dost. Průběžně jsme dodělávali drobnosti jak my, tak náš oblíbený řemeslník (který zvládl opravit i věci, co jsem si tu “vylepšil” sám 😉 ).
Začnu zásuvkama. Z nějakého, mě nepochopitelného důvodu, se už I. úplně nelíbil industriální vzhled našich tlačítek. Ačkoli jsem jsem stále považoval takový stav za ideální, protože se dalo rychle dostat ke kabelům a dopilovávat zapojení, nedalo se nic dělat, a pustili jsme se do zakrývací akce.
Kupodivu krytky vyšly docela dobře, a krom snad tří chybějících a tří přebývajících kusů vyšlo vše, jak mělo. Druhá část akce pak obnášela vymyšlení barevných rámečků.
No tak to ještě úplně nemáme, protože “těch možností”. A přitom člověk zjistí, že je nakonec bílá nejlepší. Takže to zatím vypadá tak, že budeme mít zásuvky jen bílé a u tlačítek bude barevný vždy jen hlavní modul a ostatní budou také bílé. Když jsme totiž zkusili dát barevných víc vedle sebe, bylo to až moc výrazné.
V podobném duchu se pak nesla i další akce Z, kdy jsme zadeklovali všechny ledky na noční osvětlení. Před tím akoratá I. ještě barvou přetřela zdi u schodů, ke byly narýsované čáry z jejich opravy.
Tady asi souhlasím s I., že s krytkama to vypadá líp. Ale to jen proto, že se ty LEDky nedají nijak tunit 😉
Další akce mamutích rozměrů bylo dozateplení průchodu na půdu. Jelikož mi zbylo cca 1.5m2 kaučukové izolace z rozvodů rekuperace, vymyslel jsem, že tím dřevěné dveře zaizoluju.
Samozřejmě nic nemůže jít jednoduše, takže jsem nejprve musel srovnat dveře. Když nám dřevař průchod dělal, došel zřejmě k závěru, že i dveře na půdu mají dělat parádu a tak místo aby byly z jednoho kusu v rovině, mají klasický rám a pak 2cm zapadlou výplň.
No, nic co by nespravilo lepidlo na polystyren a jedna deska dvojky EPS70 (Díky všem těm odborným termínům už člověk ve stavebninách nevypadá blbě ani s tou jednou deskou 😉 ).
Když jsem dveře z obou stran srovnal, přišla na řadu izolace. Jelikož byla v lehce nepravidelném tvaru, nějakou dobu jsem plánoval jak to rozřezat (znáte to, desetkrát měř, jednou řež a pak se jdi podívat, co jsi udělal…).
Takhle nyní vypadají dveře ze spodní strany. Další krok pak bylo zateplení ještě boků OSB desek, aby tam nikde “neprofukovalo” (což je blbost, prošli sme blowdoorem, ale víte jak).
Takhle to pak vypadá zespodu při uzavření. S výsledkem jsem byl fakt spokojený a protože mně to docela bavilo, rozhodl jsem se polepit i horní část ze zbytků a nějak to zkusit poskládat.
To už byla trochy větší výzva. Izolace pomalu docházela a tak se z toho stal takový tetris pro pokročilé. Nakonec se mi opravdu povedlo polepit alespoň celou dřevěnou část i z druhé strany. V té prostřední je zatím jen polystyren, ale možná tam taky něco pak ještě loupnu.
A tohle mi zbylo. Dobrý ne? 😉
Dalším, ale už ne mým úspěchem jsou podlahové lišty. Náš šikovný řemeslník zfoukl celý barák za dvě návšetěvy, kdy každou lištu nejen přilepoval, ale také nožíkem upravoval (viz výřez nad přechodovou lištou), pak akryloval seshora a větší přechody mezi lištama pak ještě vyplnil tmelem v barvě podlahy.
No výsledek famózní a hned místnosti vypadají zase o něco víc jako u lidí a méně jako na stavbě ;-).
Další věc, kterou se u nás zabýval, byly výstupy rekuperace. Tady by se asi spíš dalo říct, že opravoval něco, co se mně úplně nepovedlo. Nějak jsem měl pocit, že dokážu pěkně zapravit otvory po výstupech a namísto toho z toho byl hrbolatý nepěkný věc. Ale řemeslník je prostě šikovný, takže to nějak zbrousil, zapravil fajnovou a přetřel a jsou z toho krásné výstupy (a to je ještě očistil od pěny, kterou jsem je mám pocit zasr**l taky já 😉 ).
A jako poslední novinka jsou komplet dodělané parapety. Nalepené byly už nějakou dobu, ale teď už jsou i zasilikonované. Takže i parapety si můžeme odškrtnout.
A koupelna. Už i ta je hotová. V koupelně dlouho zbývalo dodělat odendavací servisní kachle na vaně a ve zdi na přítah vzduchu. Ale už i to je dodělané, takže žádná díra pod vanu nebo do zdi, ale pěkně jedna hezká zeď ;-).
Z repertoáru vlastních realizací je pak montáž dalšího routeru na WiFi do prvního patra. Stále totiž bojujeme s mizerným signálem. Ačkoli jsem rád, že dům má železobetonovou konstrukci, tak naše WiFi routery to úplně neoceňují. Takže momentálně to vypadá tak, že dole jsou dva a nahoře jeden.
Na fóru už jsme na toto téma rozjeli diskuzi a vypadá to, že to budu řešit pomocí Ubiquiti UniFi AC Long Range. Ale ještě to chce trochu nastudovat.
Na závěr už jen fotka z mého stolu v technické místnosti, kde se mi pomalu ale jistě hromadí všechny objednané věci z Aliexpressu. Bohužel to jako na potvoru chodí tak, že se to ještě nedá moc pozapojovat, ale ten okamžik přijde ;-). A vlastně ještě jedna fotka. Pořídil jsem si laboratorní zdroj!
Konečně nebudu furt řešit, jak co napájet, ale budu na to mít toto. Bohužel, trochu nešťastná událost byla, že ho spatřila I. a zabavila mi ho se slovy, že bude pod stromeček……
Á propos stromeček… Už nám pěkně svítí před okny a připomíná, že Vánoce jsou tady, Vánoce jsou tady 🙂
NodeRED – Propojení všeho se vším, od Arduina po Loxone
Jak jsem psal v předchozím článku, MQTT i NodeRed instaluji na Ubuntu linuxu. Jde ale rozběhat třeba i na Raspberry Pi nebo Turrisu (OpenWRT).
Instalace NodeRED je relativně jednoduchá. Do ubuntu jsem musel nejprve doinstalovat aplikaci npm (což jsem zjistil, že je balíčkovací služba pro javascript) a následně pak pomocí npm aplikace nainstalovat NodeRED.
node-red
Welcome to Node-RED
===================
9 Dec 15:41:14 - [info] Node-RED version: v0.15.2
9 Dec 15:41:14 - [info] Node.js version: v4.2.6
9 Dec 15:41:14 - [info] Linux 4.4.0-53-generic x64 LE
9 Dec 15:41:14 - [info] Loading palette nodes
9 Dec 15:41:14 - [warn] ------------------------------------------------------
9 Dec 15:41:14 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
9 Dec 15:41:14 - [warn] ------------------------------------------------------
9 Dec 15:41:14 - [info] Settings file : /home/dev/.node-red/settings.js
9 Dec 15:41:14 - [info] User directory : /home/dev/.node-red
9 Dec 15:41:14 - [info] Flows file : /home/dev/.node-red/flows_home-server.json
9 Dec 15:41:14 - [info] Creating new flow file
9 Dec 15:41:14 - [info] Server now running at http://127.0.0.1:1880/
9 Dec 15:41:14 - [info] Starting flows
9 Dec 15:41:14 - [info] Started flows
Další krok je nastavení, aby se NodeRED spouštěl sám po startu. To už nebudu popisovat, protože bych jen kopíroval návod, podle kterého jsem postupoval. Ten jde najít v tomto super článku (bod 3 a dál).
Použití NodeRED
Tak jo, nainstalované to je, co teď s tím dál ;-). Vraťme se k naší ukázce z minulého článku o MQTT. V levym okně máme příkaz na poslání zprávy přes kanál(topic) hello/world. V pravém okně nahoře je pak příjemce této zprávy, abychom viděli, že vše funguje.
V pravo dole pak nasloucháme nové zprávě “bye/world”. Jak jde vidět z následujících screenshotů, při poslání zprávy na “hello/world” se tato zpráva ukáže i na “bye/world”. Jak to?
Protože NodeRED ;-). Jako první jsem pro otestování funkčnosti NodeRED a jeho napojení na MQTT udělal jednoduché přeposlání přijaté zprávy z jednoho kanálu na druhý.
A takhle to vypadá v NodeRED. Vlevo je MQTT consumer, nastavený tak, aby naslouchal topic hello/world
V pravo pak MQTT publisher, který přijatou zprávu pošle po kanálu (topicu) bye/world.
Dole pak mám ještě debug výstup, který zobrazuje přijaté zprávy.
A co loxone, jde to propojit?
No jasně! ;-). Pro testování jsem použil zatím jen REST Api loxone, ale NodeRED podporuje i websockets, navíc jsou pro Loxone už naprogramované přímo rozšíření pro NodeRED (viz dále).
Nyní nám ale pro jednoduchý test stačí RestAPI. Upravíme diagram tak, aby po přijetí jakékoli zprávy v topicu hello/world se nám rozsvítilo (nebo zhaslo) světlo v pracovně. To je cool ne? 😉
Samotné nastavení HTTP požadavku vypadá nějak takto. Nic složitého, jen se zavolá HTTP GET na adrese /dev/sps/io/WebApiTest/PulseDown.
Co se týká URL adresy, tak Loxone dokumentace stojí za starou bačkoru. Podle návodu by měla být adresa /prikaz/control/hodnota, coz ale /dev/sps/io/INPUT/PRIKAZ rozhodne není.
Touto url říkáme, že chceme na virtuální vstup “WebApiTest” poslat Impuls Down-Up. V Loxonu tak musíme tento virtuální vstup vytvořit a propojit se světlem.
A to je všechno. Nyní, kdykoli se objeví zpráva, světlo se přepne. Naprostá paráda. Nevím jak vy ostatní, ale já jsem nadšen. Těch možností, k čemu se to využít, je totiž neomezeně. Díky kombinaci NodeRED+Loxone tak jde do Loxonu dostat spoustu nových dat, od Arduino senzorů, dat z externích databází až po informace z Twitteru, Email nebo cokoli jiného vás jen napadne.
Co dál
NodeRED má obrovskou komunitu a kromě základních bloků (Nodes) má parádní knihovn dalších rozšíření – http://flows.nodered.org/. Jsou tam například i bloky na komunikaci s Modbus, KNX nebo Loxone.
Nyní to chce pořádně vyzkoušet a pohrát si s tím víc. V základu mám ověřeno, že vše funguje. Nyní zkusím zprovoznit nad Arduinem nějaký ten senzor a přes MQTT-NodeRed ho posílat do Loxonu. A uvidíme, jak to bude šlapat. Co jsem zatím testoval, tak problémy žádné, ale běží mi to jen chvilku.
Pokud ale vše pojede opravdu jak má a bude to 100% stabilní, vidím v tom obrovský potenciál. Navíc v případě, že by Loxone pokračoval se svými gestapáckými manýry a ještě více uzavíral jeho systém, tak se takto dá udělat kompletní rozšíření a defakto z architektury “Loxone je ten hlavní” udělat “NodeRED je ten hlavní” a Loxone mít jen jako podružný systém.