Ez a kézikönyv a myIO okosotthon-vezérlő webes felületének használatát mutatja be. A myIO egy önálló (felhőfüggetlen) vezérlő: relés kimeneteket, fényerő-szabályzókat (dimmereket), nyomógombos bemeneteket, hőmérséklet- és páraszenzorokat kezel, időzítőkkel, termosztát-funkcióval és külső integrációkkal (Shelly, BroadLink, másik myIO). Minden beállítás a beépített weboldalon történik – nincs szükség internetre vagy telepített programra.
A myIO-ban minden vezérelhető dolog egy elem, saját azonosítóval (ID):
| Elem | ID-tartomány | Mi ez? |
|---|---|---|
| Relé | 1–64 | Ki/be kapcsolható kimenet (lámpa, szivattyú, redőnymotor…) |
| Csoport | 501–520 | Több kimenet együtt kezelve (pl. „minden lámpa”) |
| Kimenet | 2001-től | Dimmer (fényerő-szabályzós) vagy sima ki/be csatorna |
| Kimenet-fade | 4001-től | Ugyanaz a csatorna, de fokozatos fel-/lefuttatással |
| Bemenet | 1–64 | Fali nyomógomb / kapcsoló |
| Szenzor | lásd 15. fejezet | Hőmérő, páramérő, fogyasztásmérő, hálózati szenzor |
Az elemeknek nevet (leírást) adhatsz – a felületen csak az elnevezett elemek látszanak, a névtelenek rejtve maradnak. Ezért az első lépés mindig a használt kimenetek és bemenetek elnevezése a beállító oldalakon.
A vezérlőt böngészőből éred el az IP-címén (pl. http://192.168.1.50) vagy a
hálózati nevén (pl. http://myio-nappali.local). A böngésző felhasználónevet és jelszót kér.
| Szint | Mit tehet? |
|---|---|
| Admin | Mindent: beállítások, felhasználók, fájlok, frissítés. Az 1. fiók mindig admin (gyári alapérték: admin/admin – első lépésként változtasd meg!). |
| Szerkesztő (editor) | Minden beállító oldal, kivéve rendszerszintű műveletek. |
| Felhasználó (user) | Csak a főoldal: azokat az elemeket látja/kapcsolja, amikhez az admin jogot adott neki (22. fejezet). |
iPhone / iPad (Safari): nyisd meg a vezérlőt Safariban
(http://… címmel is működik), jelentkezz be, majd Megosztás ikon →
Hozzáadás a Főképernyőhöz. A főképernyőre myIO-ikon kerül az eszköz nevével, és
app-szerűen, teljes képernyőn (cím-sáv nélkül) nyílik. Titkosítatlan (http) kapcsolatnál ez a
javasolt út – az iOS-nek ehhez nem kell https.
Android: a Chrome a beírt címet https-re javítja, amit a vezérlő
nem beszél. Megoldások: a myIO mobilalkalmazás (ajánlott), vagy Firefox
http:// címmel, vagy a Chrome-ban az Adatvédelem és biztonság → Mindig
biztonságos kapcsolatok használata kapcsoló kikapcsolása (szükség esetén a
chrome://flags alatt a HTTPS-First Mode és HTTPS Upgrades tiltása).
Telepíthető (PWA) változat http-n Androidon nem lehetséges – ahhoz https-t adó proxy kellene a
vezérlő elé.
apple-touch-icon.png fájlnak a vezérlő tárolójának
gyökerében kell lennie (a webes fájlcsomag része). Ha hiányzik, a telepítés akkor is működik,
csak az ikon egy képernyőkép lesz.Minden beállító oldal tetején ugyanaz a kétsoros menüsor látható. Az oldalak négy csoport-menübe rendeződnek: Vezérlés (Kimenetek, Logikai kimenetek, Bemenetek, Csoportok, Szenzorok), Link (myIO, Shelly, Broadlink), Applikációk (Időzítő, E-manager, Szótár, Fájlok, Diagnosztika) és Rendszer (Általános, Hálózat, Felhasználók, Napló). A régebbi (3.x) vezérlőn a csak-4.x oldalak nem jelennek meg a menükben. Keskeny (mobil) kijelzőn a menüsor egyetlen sorra vált: balra az Auto+Frissítés, középen a Főoldal-ikon, jobbra a ☰ menü — ebben a kapcsolók, a négy csoport és a mentés érhető el. A főoldalon egyszerűbb sor van: Frissítés, Booster, Home / Chart / Settings gombok, LogOut és a Téma lista (főoldal-témák).
| Elem | Funkció |
|---|---|
| Auto kapcsoló | Automatikus frissítés: minden módosítás után újratölti az oldalt. Kikapcsolva a módosítások háttérben mennek el (gyorsabb, sok beállításnál kényelmesebb). |
| ↻ Frissítés gomb | Az oldal kézi újratöltése a vezérlő friss adataival (az Auto kapcsoló melletti ikon). |
| Nyelv választó | A felület nyelve (a felső sorban). |
| Booster kapcsoló | A felület fájljait internetes tárolóból tölti (gyorsabb megjelenés régi eszközökön). Bekapcsolva mellette megjelenik a tároló címe is (alapértelmezés: https://okoslak.hu/ext2/). Ha a tároló nem elérhető vagy hibás fájlokat ad, a felület magától visszavált az eszközre (az oldal ilyenkor egyszer újratöltődik), több egymást követő hiba után pedig a Booster tartósan kikapcsol. A kapcsoló visszakapcsolása vagy a tároló-cím átírása törli a hibajegyzetet, és a következő betöltés újra a tárolóból próbálkozik – a mező mindig a mentett címet mutatja. Vészkapcsoló böngészőből: írd a cím végére, hogy #booster=0 (kikapcsolás), #booster=1 (visszakapcsolás) vagy #booster=reset (alapállapot, a tároló-cím törlésével) – cookie-törlésre nincs szükség. |
| SuperVisor kapcsoló | Szerviz-nézet: a beállító oldalakon a névtelen (rejtett) sorok is megjelennek. Új elem felvételéhez kapcsold be, nevezd el az elemet, majd kapcsold ki. A váltás azonnal, újratöltés nélkül érvényesül. |
| ? Súgó kapcsoló | Súgó-mód be/ki – lásd 4. fejezet. A hint-buborék a menüsor gombjain és az oldalak vezérlőin jelenik meg (a lenyitott menük elemein nem). |
| ☀ / ☾ Téma gomb 4.x | Sötét / világos felület váltása. A gomb ikonja mindig azt mutatja, amire vált: nap = világos téma, hold = sötét téma. A váltás azonnal, újratöltés nélkül érvényesül, és a böngésző megjegyzi (minden további oldal a választott témával töltődik). A 3.x vezérlő saját (kék) témája nem váltható. Mobilon a gomb a ☰ menüben van. A főoldalon a gomb helyén Téma lista áll – lásd Főoldal-témák. |
| 💾 Mentés-központ | A jobb szélső floppy-menü: Azonnali mentés (kis panel: slot + kategória — a lista oldalfüggő, „Minden” + az adott oldal kategóriái, alapból az oldal sajátja kiválasztva), Mentés és Betöltés (teljes oldal) – lásd 24. fejezet. A Broadlink oldalon itt található a Discovery is; a myIO Link oldalon az azonnali mentés slot nélkül, közvetlenül ment. |
| Üzenet / óra | A 2. sor jobb szélén a vezérlő visszajelzése (pl. mentés eredménye) látható; ha nincs üzenet, dátum és idő. |
A menüsorban lévő ? Súgó jelölő bekapcsolása után:
A varázsló végigvezet a vezérlő beállításán: kérdez, te válaszolsz, és a végén megmutatja, mit fog beírni – csak a jóváhagyásod után nyúl bármihez. Indítása a menüsor Varázsló gombjával. Új, még be nem állított vezérlőn magától felajánlja magát.
Minden lépés alján ott áll, hogy ugyanaz kézzel hol állítható – így menet közben megtanulod a felületet is. A varázsló nem helyettesíti a beállító oldalakat: azt teszi be, ami a leggyakoribb, a finomhangolás marad a saját lapján.
A sorrend nem véletlen: minden fejezet arra épül, amit az előző elnevezett. Bármelyik fejezet külön is indítható, és bármikor abbahagyható – a már beírt beállítások megmaradnak.
| # | Fejezet | Mit tesz |
|---|---|---|
| 1 | Alapbeállítások | Eszköznév, időzóna, földrajzi hely – ez utóbbi adja a napkeltét/napnyugtát |
| 2 | Szenzorok | A megtalált hőmérők és páraszenzorok elnevezése |
| 3 | Kimenetek | Elnevezés, jelleg (sima / impulzus / időzített), felderítés |
| 4 | Védelem | Egyszerre be nem kapcsolható párok |
| 5 | Csatoló | Egyik kimenet húzza a másikat |
| 6 | Csoportok | Név és tagok |
| 7 | Bemenetek | Fali kapcsoló elnevezése és mindhárom eseménye (rövid/hosszú nyomás, elengedés) – tanuló móddal |
| 8 | Logikák | Feltétel-kimenetek: „Nappal van”, „padló meleg” – és tiltás belőlük |
| 9 | Mentés | Tárhely-név, üzemmódok |
| 10 | Automatizálás | Időzítők és jelenetek – átad az időzítő-oldalnak |
A varázsló menet közben semmit nem ír be. A fejezet végén összegzést mutat: mit, miről, mire állít. A sorra kattintva visszaugorhatsz az őt szülő kérdéshez, a pipa kivételével pedig egy-egy sor kihagyható. Beírás előtt – ha van szabad tárhely – a jelenlegi beállításokat elmenti egy külön tárhelyre Varázsló előtt néven, így bármikor visszatérhetsz hozzá a Betöltés oldalon.
Amit a varázsló nem talál változtatandónak, azt nem is írja ki: ha ugyanazt a fejezetet kétszer futtatod le ugyanazokkal a válaszokkal, másodszor már nincs mit tenni.
Ha nem tudod, melyik sorszám melyik fogyasztó, a varázsló felkapcsolja a kiválasztott kimenetet, és megkérdezi, mit látsz (villogtatni is tud, ha távolabbról figyeled). Előtte azonban kérdez – és ez nem formaság:
Ha bármelyikre nemleges vagy bizonytalan a válasz, a varázsló nem kapcsol semmit – listából választasz. A riasztás-jelző és a csak-be (impulzus, tipikusan kapu) kimeneteket minden esetben kihagyja, és fel is sorolja, melyeket. A felkapcsolt kimenet magától lekapcsol, ha nem nyúlsz hozzá, és akkor is, ha bezárod a varázslót.
A bemenet-fejezetben nem kell tudnod a kapcsoló sorszámát: nyomd meg a falon, és a varázsló kiírja, melyik volt. Ez ártalmatlan – a varázsló csak figyel, nem kapcsol semmit.
Újabb firmware-en (3.12.7+ / 4.3.12+) a digitális bemenetek élő
állapotát olvassa (sens_IO.json): a listában folyamatosan látszik, melyik
bemenet van éppen zárva, és az állapot-váltás a felismerés. Mivel ez állapot és nem
esemény, a 2 másodperces lekérdezés egy villanásnyi gombnyomást elszalaszthat – ezért kéri a
varázsló, hogy nyomd meg és tartsd a kapcsolót. Kapcsolónál (bistabil) ez magától adódik.
Régebbi firmware-en a legutóbb megszólalt bemenetet mutatja. Az, hogy melyik utat járja, nem verziószámból dől el, hanem próbából: ha a vezérlő nem adja az élő állapotot, a varázsló magától átvált – így akkor is helyesen működik, ha a bemenetek jogosultság miatt nem látszanak.
A kiválasztott kapcsolóhoz ezután mindhárom esemény beállítható külön szekcióban: rövid nyomás (hit), hosszú nyomás (press) és elengedés (release). Cél lehet kimenet, csoport vagy mentett állapot betöltése – név szerinti keresővel. Amelyik szekcióhoz nem nyúlsz, változatlan marad; a „Semmi” elemmel egy meglévő esemény törölhető. A fejezet végén az NC-kontaktus és az Blokk (redőny-megállító) is bekapcsolható.
A vezérlőben nincs szabály-szerkesztő, de van valami, ami ugyanezt tudja: egy fizikailag be nem kötött logikai kimenet, amit szenzor kapcsol. Ez a jelző.
| Jelző | Beállítás |
|---|---|
| „Nappal van” | Szenzor = Nap, BE = napkelte, KI = napnyugta |
| „Padló meleg” | Szenzor = padlóhőmérő, BE = 28 °C, KI = 26 °C (a BE a magasabb) |
A jelzőből tiltás lesz egy védelem-párral: a pár első tagja a jelző, a második a tiltandó kimenet, és bekapcsolt prioritással a jelző nyer. Amíg a jelző áll, a tiltott kimenet nem tud bekapcsolva maradni.
Amit tudni kell róla: a védelem utólag kapcsol le, tehát az első próbálkozásnál a tiltott kimenet egy pillanatra felvillanhat; a türelmi idő alatt a további kísérletek már el sem indulnak. Tiltásnak jó, de nem „meg sem próbálja” szemantika.
Példa: „A kerti világítás csak sötétedés után kapcsolhasson” → készíts egy „Nappal van” jelzőt, és tiltsd vele a kerti világítás reléjét. Ugyanígy: „Padló meleg” jelző tiltja a padlófűtés körét, hogy ne fűtsön túl.
Egy beállító oldalon bármelyik soron jobb gombbal (telefonon hosszú nyomással) megnyílik a Kapcsolatok panel. Ez arra a kérdésre válaszol, amit beállítás közben a leggyakrabban feltesz az ember: „mi van ehhez az elemhez kötve?” – anélkül, hogy három oldalt kellene végigböngészned hozzá.
A panel a Kimenet, Dimmer, Bemenet és Csoportok oldalon érhető el. A név-, szám- és legördülő mezőkön a böngésző saját menüje marad meg (másolás/beillesztés) – a panelhez a sor bármely más pontján kattints jobb gombbal.
| Szakasz | Mit mutat |
|---|---|
| Ezek a bemenetek kapcsolják | Minden gomb, ami erre a kimenetre hivatkozik, és hogy rövid nyomással, hosszú nyomással vagy elengedéssel. A letiltott bemenet külön jelölést kap: a hozzárendelés megvan, de nem hat. |
| Shelly 4.x | Kimenetnél: melyik Shelly-eszköz melyik csatornája hajtja. Bemenetnél: melyik Shelly-bemenet váltja ki, és milyen módban (gomb / váltó / csak hit). A letiltott eszköz jelölést kap. Ld. 19. fejezet. |
| myIO Link 4.2+ | A kimenet tükrözve van-e másik vezérlőre: melyik szerverre és annak melyik kimenetére. Ld. 20. fejezet. |
| Csoport-tagság | Mely csoportoknak tagja az elem. |
| Védelem / tiltás | A reteszelő pár másik tagja, és hogy melyik az erősebb: ezt tiltja, ez tiltja, vagy prioritás nélkül kizárják egymást (ld. 9. fejezet). |
| Csatoló (követés) | Melyik elemet húzza magával, illetve melyik vezérli őt (ld. 10. fejezet). |
| Szenzor vezérli | A termosztát-aktivátor és a be/ki küszöb (ld. 8. fejezet). |
| Időzítők | Minden időzítő, ami ezt az elemet kapcsolja: az időpont (napkelte/napnyugta esetén a jellel és a 4.3.8+ eltolással), a napok, és hogy be- vagy kikapcsol. A sorra kattintva az Időzítő oldal nyílik meg a kérdéses soron. |
| Saját időzítés | Az elem auto-kikapcsolása és bekapcsolás-késleltetése, ha be van állítva. (Ez nem időzítő-bejegyzés, hanem a kimenet saját beállítása.) |
| Energia-menedzsment | Melyik fázis melyik fogyasztás-szintje kapcsolja be vagy le (ld. 18. fejezet). |
| Mit kapcsol | Bemeneten: a három eseményhez (rövid/hosszú nyomás, elengedés) rendelt cél. |
Bemeneten a lényegi kérdés általában nem az, hogy mit kapcsol – az ott van a sorban –, hanem hogy kívülről jön-e rá valami. Ezért a panel a bemeneten a Shelly-kapcsolatot teszi elsőnek: azt a beállító tábla nem mutatja, mert másik oldalon lakik.
A lista bármelyik sorára kattintva a felület átvisz a hivatkozott beállításhoz, és ott néhány másodpercre kiemeli a sort – így a csoportból vagy a védelmi párból egy kattintással odajutsz, ahol szerkeszteni tudod.
timer.csv fájlt, és a munkamenet
végéig megjegyzi. Ez a fájl minden firmware-verzión ugyanaz, így a régebbi vezérlőkön is teljes a
lista. Ugyanígy egyszer olvassa be a Shelly- és myIO Link-hozzárendeléseket is – de
csak akkor, ha az adott szolgáltatás egyáltalán be van kapcsolva, tehát egy régebbi
vezérlőn egyetlen fölösleges kérés sem indul. Amíg ezek meg nem érkeznek, a panel nem írja ki a
„Nincs hozzárendelve” figyelmeztetést.A menüsor Segéd gombja egy helyre gyűjti a tanuló-segítségeket: a Beállítás varázslót, az Oktató módot és a Túrákat. Mindhárom a 3.12+ (Due) és a 4.x (GIGA/Opta) vezérlőn is elérhető.
Az oktató mód játékszerű küldetésekkel tanít: nulláról indul, és minden küldetés egy valódi,
hasznos beállítást visz végig a valódi oldalakon (nem külön tananyag-képernyőn). A küldetés lépései
a lapon kiemelik az éppen szükséges mezőt vagy gombot, elmagyarázzák, mit miért csinálunk, és
figyelik, hogy a lépés teljesült-e – például a beírt nevet, a bepipált jelölőt, vagy a bemenet
megnyomását és a lámpa átváltását. A bemenet-állapotot a vezérlőtől kérdezi le másodpercenként
(sens_IO.json, 3.12.7 / 4.3.12+), ezért a gombot kb. 2 másodpercig nyomva kell tartani; a lenyomott
bemenet sora közben frissítés nélkül kiemelődik. Régebbi firmware-en az utoljára megnyomott bemenetet ismeri fel.
Az oktató nem ír be semmit helyetted: minden mezőt te töltesz ki, minden gombot te nyomsz meg, pontosan úgy, ahogy később a mindennapokban is fogod. Így a küldetés végén nemcsak a beállítás van kész, hanem a rutin is.
A képernyő alján egy küldetés-sáv mutatja a küldetés nevét, a lépés sorszámát és az aktuális teendőt; a 🔍 gomb újra kiemeli a célt, a ⏭ kihagyja a lépést (a küldetés ettől nem lesz teljes), a ☰ a küldetés-listát nyitja, a ✕ kilép az oktatóból (a haladás megmarad, a menü újra teljes; a Segéd › Oktató alatt bármikor folytatható). Oldalváltáskor (pl. Kimenetek → Bemenetek) a sáv mutatja, hová kell menni, és az Ugrás gomb odavisz; a küldetés az új oldalon magától folytatódik.
A küldetések három szintre oszlanak: Kezdő (a menüsor, lámpa a Kimenetek oldalon, nyomógomb, ledszalag, fényerő-gomb), Haladó (redőny, redőny-gombok, csoportok, hőszenzorok, termosztátok) és Profi (csatolók, késleltetés, impulzus-kapu, logikai „Nappal van” kimenet, időzóna, téli/nyári mentések). A listában a teljesített küldetés pipát kap, a zárt (🔒) küldetésnek még hiányzik egy előfeltétele – a csempe mutatja, melyik. A teljesített küldetés újra indítható. A haladás a böngészőben tárolódik (vezérlőnként külön), a Haladás törlése csak a pipákat törli, a beállításokat nem.
Az első küldetés (a menüsor bemutatása) indításakor a beállító menü fokozatos módba vált: csak azok a menüpontok látszanak, amelyeket egy küldetés már megtanított (plusz a Rendszer › Általános), a még nem tanult mezők a lapokon halványak. Így a kezdőt nem zavarja a több tucat beállítás. A küldetés-lista „Csak a tanult menük látszanak” kapcsolójával bármikor kikapcsolható, a haladás megmarad.
A küldetések első lépése a szerviz-nézet (SuperVisor) bekapcsolása: a még névtelen relék, dimmerek és bemenetek sora csak abban látszik – ez az első dolog, amit egy új vezérlőn meg kell tanulni.
Néhány küldetés valódi kimenetet kapcsol (a lámpát, a ledszalagot). Az első ilyen lépés előtt az oktató megkérdezi, mely kimeneteket tilos kapcsolni (kazán, szivattyú, kapu…), és ezeket a továbbiakban nem engedi. A riasztó-jelzőnek jelölt és a csak-be (impulzus) kimenetek eleve kimaradnak. Ha bizonytalan vagy, a „Most nem kapcsolok” gombbal a lépés kihagyható. Az oktatót érdemes a bekötés közben, a helyszínen végigjátszani, amikor látod, mi indul el.
A Túra nem állít át semmit: sorban kiemeli egy oldal gombjait, és a súgó szövegével elmagyarázza, mire valók. A menüsor és a főoldal túrája a legelső belépésre való; a lépés buborékjában a „részletek” link a kézikönyv megfelelő fejezetére ugrik.
A főoldal (Home) a mindennapi használat helye: itt látszanak az elnevezett relék, dimmerek, csoportok és a szenzorok aktuális értékei.
Ha egy elemhez csak olvasási jogod van, az állapotát látod, de nem tudod kapcsolni.
A főoldal menüsorának Téma listájában (mobilon a ☰ menüben) választható ki a főoldal kinézete. A választást a böngésző jegyzi meg (böngészőnként / készülékenként külön) – a vezérlő beállításait nem érinti.
| Téma | Mit jelent |
|---|---|
| Sötét / Világos 4.x | A klasszikus felület két színvilága. Azonnal, újratöltés nélkül vált, és a beállító oldalakra is érvényes (ott a ☀ / ☾ gomb váltja). |
| Klasszikus | A 3.x / 2.x vezérlő saját (kék / zöld) felülete; a színvilága nem váltható. |
| Kártyás | Modern, kártyás főoldal: összecsukható és átrendezhető szekciók, kedvencek, termosztát-tárcsa, élő frissítés oldal-újratöltés nélkül, saját ☰ menü (Booster, automatikus frissítés, nyelv, téma, nagyítás, a böngészőben tárolt beállítások exportja / importja, kijelentkezés). Csak bekapcsolt Booster mellett választható, mert a fájljai a Booster tárolójáról töltődnek (a vezérlőn nincsenek rajta). Ha a tároló nem érhető el, vagy a Booster ki van kapcsolva, a főoldal magától a klasszikus kinézettel jelenik meg; a választás megmarad, és a következő alkalommal újra a kártyás nézet töltődik. Visszaváltás: a kártyás főoldal ☰ Menü → Téma listájában. A Grafikon és a beállító oldalak kinézete nem változik. |
A Chart oldalon a naplózott szenzorértékek (hőmérséklet, páratartalom, fogyasztás, energiamérő) napi grafikonjai nézhetők meg. A dátumválasztóval korábbi napok is előhívhatók. A naplózás sűrűsége a beállításokban adható meg; SD-kártya nélkül a vezérlő ritkábban naplóz, hogy kímélje a belső tárolót (25. fejezet).
Az Output oldalon relénként egy sor van, a következő beállításokkal:
| Beállítás | Működés |
|---|---|
| Név | Az elem elnevezése. Csak a névvel rendelkező relék jelennek meg a főoldalon és a listákban. |
| Invert | Fordított működés záró (NO) helyett bontó (NC) bekötésű relékhez: a „bekapcsolt” állapot a relét elengedi. |
| Alarm | Riasztás-jelző kimenet: ha bármely alarm-relé bekapcsol, a rendszer riasztás-állapotba kerül (a mobilalkalmazás jelez). |
| Csak-be (Just ON) | A gombról csak bekapcsolni lehet, kikapcsolni nem – mozgásérzékelős / lépcsőházi fényekhez, ahol a lekapcsolást az időzítő végzi. Csoport-kikapcsoláskor is bekapcsolva marad. |
| Időzítő (timer) | Bekapcsolás után ennyi másodperccel automatikusan kikapcsol. 0 = nincs időzítés. Csak-be relénél az újranyomás újraindítja az időt. |
| Késleltetés (delay) | A bekapcsolási parancs után ennyi másodperccel kapcsol be ténylegesen. Kombinálható az időzítővel (késleltetve be, majd időzítve ki). |
| Szenzor / BE-, KI-küszöb | Termosztát-működés – lásd 8. fejezet. |
| Védelem, Csatoló, Csoport | Lásd 9., 10. és 12. fejezet. |
Finder Opta vezérlőn két oldal kap külön szekciót:
A fali kapcsolók tere Optán tisztán az RS485-bővítőké (lásd 20/C. fejezet): az 1-es című bővítő bemenetei = 1–16-os kapcsolók.
Button,LONG-NETRESET sor kerül. A soros btnlock
parancs tiltja/engedi (EEPROM 45); tiltva a gomb 5 s után csak naplóz./forcefm fájlkezelő fut (minden oldal oda irányít). Sérült konfiguráció vagy web-fa
javítására; utána Restart vagy rövid gombnyomás. A bootloader-módhoz továbbra is a kis süllyesztett RST gomb
dupla nyomása kell, nem a USER gomb.Bármely relé (és kimenet/PWM-kimenet) automatikusan kapcsolható egy szenzor értéke alapján. A kimenet soránál válaszd ki a szenzort (aktivátort), majd add meg a BE-küszöböt és a KI-küszöböt:
Aktivátor lehet: hőmérő, páraszenzor, fogyasztásmérő, energiamérő (SDM) adat, napkelte/napnyugta (a kimenet napszakhoz kötve kapcsol, eltolás is adható), valamint univerzális szenzor (aktivátor-ID = 300 + szenzor-ID, 16. fejezet) 4.x.
Az uSensorok a kimenet-oldalak szenzor-listájában külön uSensor csoportban jelennek meg, a BE/KI-küszöböt a szenzor saját mértékegységében add meg 4.3+. A FET-keverőn és a ki/be módú kimeneten az uSensor a 4.4+ verziótól működik.
Keverő (mixer) mód – kimeneteknél és PWM-kimeneteknél: a kimenet nem ki/be kapcsol, hanem a szenzor értékétől függően folyamatosan áll be a MIN és MAX szint közé (pl. keverőszelep, fokozatmentes ventilátor-szabályzás).
A védelem két kimenetet zár ki kölcsönösen: a pár két tagja soha nem lehet egyszerre bekapcsolva. Tipikus felhasználás a redőny (fel/le motorirány) és szivattyú/szelep párok.
A csatoló egy kimenetet egy másikhoz köt: ha az „A” elem bekapcsol, a „B” is bekapcsol; ha az „A” kikapcsol, a „B” is. Tipikus példa: zónaszelep → kazánindítás, vagy elszívó → zsalu.
Csak-be követés (Just ON): a „B” csak a bekapcsolást követi, a kikapcsolást nem – például a szivattyú utókeringtetését saját időzítője zárja le.
A Kimenetek oldalon a fényerő-szabályzós (PCA9685-ös) csatornákat állítod be. Egy csatorna kétféleképp működhet:
| Beállítás | Működés |
|---|---|
| MIN / MAX | A „kikapcsolt” és „bekapcsolt” állapot szintje %-ban. A MIN-nél nagyobb érték számít bekapcsoltnak. |
| Fade + sebesség | Fokozatos fel-/lefuttatás: a fade-gombbal (vagy 4001-es ID-tartománnyal) a csatorna a beállított sebességgel úszik fel vagy le; újranyomásra irányt vált. Hangulatvilágításhoz, ébresztőfényhez. |
| Invert / Alarm / Csak-be / Időzítő / Késleltetés | Ugyanúgy működnek, mint a reléknél (7. fejezet). Az időzítőt a csúszkával (vagy a % mezővel) beállított érték is elindítja – a beállított fényerő megmarad, lejáratkor a csatorna MIN-re kapcsol; újabb csúszka-mozdítás újraindítja az időt. Csúszkával MIN-re húzva az időzítő és a késleltetés is törlődik. |
| Szenzor + küszöbök / Mixer | Termosztát- és keverő-működés (8. fejezet). |
A csoport több kimenet (relé, dimmer, akár másik csoport) együttes kezelése. A Groups oldalon nevezd el a csoportot, és válaszd ki a tagjait.
Gombfigyelés 3.12.7+: a „Kapcsoló beállítások” fejléc bal szélén lévő kis kapcsolóval a lap másodpercenként lekérdezi a bemeneteket: a nyomva tartott bemenet sora élőben, az utoljára megnyomotté tartósan kiemelődik, frissítés nélkül – így a bekötés a fali gombok nyomkodásával ellenőrizhető (a rövid nyomást is elkapja). A kapcsoló állása a böngészőben marad; ha a vezérlő nem adja az állapotokat (régi firmware vagy jog nélkül), a lap jelzi és leáll.
Az Input oldalon a fali nyomógombokat/kapcsolókat rendeled hozzá a kimenetekhez. Egy bemenet háromféle eseményt tud megkülönböztetni:
| Esemény | Mikor? | Tipikus használat |
|---|---|---|
| Rövid (Hit) | Rövid nyomás-elengedés | Lámpa váltókapcsolása |
| Hosszú (Press) | A gomb hosszan nyomva tartása | Dimmer-fade indítása, csoport, redőny-mozgatás |
| Elengedés (Release) | Hosszú nyomás elengedése | Redőny megállítása, fade megállítása |
Mindhárom eseményhez külön cél rendelhető: relé, dimmer, fade, csoport vagy jelenet (slot-betöltés). Dupla kattintás nincs.
A D26–D33 lábak páraszenzor-csatlakozói átkonfigurálhatók digitális ledszalag (WS2812) kimenetté – egy láb VAGY DHT-szenzor VAGY ledszalag. A lábmód az EEPROM-ban tárolódik és újraindítás után érvényes; minden más beállítás élőben. A szalagszám- és LED-szám-plafon eszközfüggő (DLEDQ / DLEDMAX gyári beállítás). A meghajtás DMA-alapú: a futó effekt nem lassítja a vezérlőt és a gombok reakcióidejét.
Csatlakozó-számozás: a felület és az esemény-ID is az alaplapi
csatlakozó-sorrendet (IO1..IO8) követi; a processzor-láb hozzárendelése:
IO1=D32, IO2=D33, IO3=D30, IO4=D31, IO5=D28, IO6=D29, IO7=D26, IO8=D27.
Az ID képlete: 3100 + (IO−1)×100 + program – tehát 3101 = az IO1-es szalag
1-es programja, 3800 = az IO8-as szalag teljes KI.
3100 + (IO−1)×100
+ program. Ugyanaz az ID váltakozva BE/KI (toggle). Időzítőből ugyanígy hívható.ledstrip.jsn fájlba mentődnek
(floppy menü – nem slotba); a lábmódot a külön Alkalmaz gomb menti (EEPROM + újraindítás).Öt beégetett játék-effekt van, amelyek a szalagot fali nyomógombokkal játszható játékká teszik: 1D Pong (2 játékos: bal/jobb ütőgomb), Reakció-párbaj (2 játékos: a középső villanás után a gyorsabb nyer, korai nyomás hiba), Cyclone (1 játékos: a pattogó fénypontot a szűkülő célzónában kell megállítani), Twang-kaland (1 játékos: előre/hátra/tűz gombokkal 1D dungeon – ellenségek, lávamezők, szintek) és Színkígyó (1 játékos: piros/zöld/kék gombbal kell kilőni a közeledő kígyó elejét a színére passzoló lövedékkel – téves szín odaragad).
3100 + (IO−1)×100 + program) vagy időzítőből. Több szalagon/szegmensen egyszerre
több játék futhat (pl. két szobában), mindegyik a saját betanított gombjaival.A Timer oldalon naptári időzítéseket hozol létre. Egy időzítés részei:
A lista alatt látszik, mikor jön a következő időzített esemény. Az idő NTP-vel (internetes időszerverrel) szinkronizálódik; ennek állapota a General oldalon látható.
A General oldalon az Időzóna sora alatt található az Automatikus nyári időszámítás (EU)
pipa – alapból bekapcsolva. Bekapcsolva az időzóna a téli (normál) eltolás
(Magyarország: 1), a nyári egy órát a vezérlő adja hozzá az EU-szabály szerint:
március utolsó vasárnapján 02:00-kor az óra 03:00-ra ugrik, október utolsó vasárnapján
03:00-kor visszaáll 02:00-ra (mindkét pillanat 01:00 UTC). A váltás azonnal hat: az óra, a
napkelte/napnyugta és a következő időzítő is átszámolódik, az eseménynaplóba
System,DST,<0|1>,tz=<eltolás> sor kerül. A pipa mellett látszik, hogy most nyári vagy
téli idő van, és mennyi a hatályos eltolás (pl. UTC+2).
Az oldal tetején a Lista / Heti nézet fülekkel válthatsz. A heti nézet a hét 7×24 órás rácsán mutatja az összes időzítőt: a blokk zöld szegélye BE-, a piros KI-eseményt jelöl; a szaggatott szegély dátumhoz kötött sort; a ⚠ jel ütközést (azonos kimenetre BE és KI 15 percen belül). A mai nap oszlopa kiemelt, a vízszintes vonal a mostani időpont. A napkelte/napnyugta-időzítők külön ☀ sávban jelennek meg (a pontos percet a vezérlő naponta számítja), az óra/perc nélküli („all” / „–“) sorok pedig a rács alatti sávban. Bármely blokkra kattintva oldalsó panelen szerkesztheted – a mentés ugyanúgy működik, mint a listában. A választott nézetet a böngésző megjegyzi. Keskeny kijelzőn napválasztó gombokkal egy-egy nap rácsát látod.
A heti nézet mindig a következő 7 napot mutatja: minden oszlop egy konkrét dátum (a fejléc fölé mutatva látszik), így a csak később esedékes – például adott hónaphoz kötött – időzítések addig csak a Lista nézetben jelennek meg (a rács alatt egy sor jelzi, hány ilyen van). A hetinap-pipa nélküli, „–” hónapú és napú sor minden nap lejátszódik – a vezérlő és a heti nézet ezt azonosan értelmezi. Ha több esemény esik közel azonos időpontra, egy „N×” köteg-blokkba vonódnak össze (a felirat szalagként fut) – a kötegre kattintva listából választhatod ki, melyiket akarod szerkeszteni. Egy BE-esemény és a hozzá tartozó KI között halvány színes sáv mutatja, mettől meddig lesz bekapcsolva a kimenet – akkor is, ha a kikapcsolás már másnapra esik (a sáv éjfélnél átfolyik a következő oszlopba). A rács üres részére jobb gombbal kattintva – vagy az Új esemény gombbal – új időzítőt hozhatsz létre az adott nappal és időponttal – itt időtartamot is választhatsz: ilyenkor a kikapcsoló párja is automatikusan létrejön (éjfélen túli végződésnél a következő napra). A szerkesztő ablak modálisan, az oldal közepén nyílik. A lila, „F” jelű blokkok a Flow szabálymotor idő- és napkelte/napnyugta-triggerei 4.4+ – itt csak olvashatók, kattintásra a Flow oldal nyílik meg.
A Flow kártyákból épített automatizálás: HA (trigger) / ÉS
(feltételek) / AKKOR (akciók). Példa: „Ha reggel van ÉS hideg van ÉS süt a nap,
húzd fel a nappali redőny-csoportot.” A szabályokat a vezérlő maga futtatja (böngésző és
felhő nélkül), a beállítás a gyökér flows.jsn fájlban tárolódik – a fájlkezelővel
menthető/másolható. Munkamegosztás: a sima heti ütemezés az Időzítő
dolga; a Flow a feltételes logikáé. Legfeljebb 64 flow, flow-onként 8 ÉS-feltétel és 16 akció.
$dev,
$flow, $val, $msg helyettesítők használhatók;
az eredmény (HTTP-kód vagy hiba) a nyomkövetésben látszik.psim.bin fájlban van (naponta legfeljebb egyszer íródik).flows.jsn-be ír, és a
motor azonnal újratölti – újraindítás nem kell. A kézi Elsütés gomb teszthez a triggert
és a feltételeket kihagyva indítja a láncot.A Program a Flow „nagytestvére”: rövid, szöveges programok, amelyeket a vezérlő maga
futtat ciklikusan – mint egy PLC. Minden programnak saját ciklusideje van (pl. 500 ms vagy 5 s),
és minden ciklusban az elejétől a végéig lefut; az állapot a változókban marad meg a ciklusok között.
Amit a Flow kártyáival nem lehet: időzített mintavétel, gyűrűpuffer és átlag, számolás két
szenzorból, feltételes ágak (if … elif … else), él- és időzítő-függvények
(rising, ton), slot-betöltés feltételre, virtuális szenzor publikálása.
A programok ugyanazon a védelmi rétegen kapcsolnak, mint egy gombnyomás vagy a Flow – a védelem
(reteszelés), a csatoló és a kimenet-időzítők mindig érvényesülnek; a program nem tud többet, mint
egy gomb. Munkamegosztás: heti ütemezés → Időzítő; egyszerű „ha–akkor”
kártyák → Flow; számolás, állapotgép, mintavétel → Program. Ha a Flow és egy
program ugyanazt a kimenetet kapcsolja, az utolsó parancs nyer (egy körben a Program a Flow után fut).
prog/1.txt … prog/16.txt a vezérlő
belső (QSPI) tárolójának gyökerében (Opta: 1–8). A szám a program állandó azonosítója – ezt mutatja a
kártya #N jelzése, és ez szerepel a naplóban is. A nevet a fájl fejléce adja.#):
| Direktíva | Jelentés |
|---|---|
#name Szöveg | A program neve (legfeljebb 23 karakter) – a kártyán és a naplóban látszik. |
#every 500ms | Ciklusidő: 100 ms … 24 h. Utótag nélkül milliszekundum; s, m, h is írható (#every 5s, #every 10m, #every 1h). Alap: 1 s. |
#enabled 0 | Tiltott program (nem fut ütemezve). Alap: 1. Ez az igazság – a Script oldal Engedélyezés/Tiltás kapcsolója ezt a sort írja át a fájlban, és újraindítás után is ez érvényes. |
#onboot | Betöltés (indulás, újratöltés) után egyszer azonnal lefut, nem várja ki az első ciklusidőt; ebben a futásban boot() = 1. |
// a sor végéig; a megjegyzések és üres sorok nem zárják le a fejlécet.
Ugyanaz a direktíva kétszer: az első érvényes, a többi kommentnek számít (a szerkesztő is az elsőt írja át). Az első utasítás utáni direktíva fordítási hiba (E02).prog/ mappát az SD-tükör (sdsync) automatikusan az SD-kártyára másolja, a Mentés oldal ZIP-biztonsági másolata is tartalmazza (prog/1.txt…), és szűz QSPI-nál az SD-ről vissza is áll. A forrás egyben letölthető: /~q/prog/N.txt.prog/N.txt fájlon – ez
utóbbi után a kártya Újratöltés gombja (vagy sorosan !progreload*N.) olvassa be újra.
A firmware a program-fájlt soha nem írja magától; az egyetlen „író” a te mentésed.http://<vezérlő>/~q/prog/N.txt címről – érdemes a saját gépen is megőrizni.temp(12) = 21.37 (°C),
out(5) = 0 vagy 1, hum(0) = 54.3 (%). Igaz = nem nulla, hamis = 0
(true/false is írható). Az érvénytelen érték (hibás szenzor, nincs
időszinkron, rossz ID) külön jel: a NaN. Tovaterjed a számolásban, minden összehasonlítás vele
hamis (a != igaz), a valid(x) függvénnyel szűrhető. Osztás nullával → NaN
(nem hiba, a program fut tovább).var-ral: var a, b = 5, buf[10].
A kezdőérték egyszer, betöltéskor áll be; utána a változók megőrzik értéküket a ciklusok
között (ez a program „memóriája”) – újratöltés és újraindítás nullázza. buf[10] egy 10
elemű gyűrűpuffer (legfeljebb 64 elem). Deklarálatlan név: hiba (E10).x = temp(7) - 0.5; speciális célok: gvar(3) = x
(Flow-változó), sens(40) = x (virtuális szenzor publikálása), pca(2001) = 128
(dimmer-érték).if feltétel then … elif feltétel then … else … end. Egy sorba is
írható, több utasítás szóközzel: if not valid(t) then off(3) return end. Egymásba ágyazás
legfeljebb 8 szint. return = a ciklus vége itt (a hátralévő rész kimarad); ciklus
(for/while) nincs – így egy futás ideje garantáltan korlátos.or < and < not
< összehasonlítás (== != < <= > >=) < + - < * / %
< előjel; zárójel szabadon. Összehasonlítás nem láncolható (a < b < c helyett
a < b and b < c). Az and/or mindkét oldalát mindig
kiértékeli – ezért az élek (rising) feltételen belül is minden ciklusban frissülnek.rising(x) / falling(x) / changed(x)
az előző ciklushoz képest jelzi az átmenetet (egy ciklusra igaz; az első ciklusban nincs él).
ton(x, s) akkor igaz, ha x már legalább s másodperce folyamatosan igaz
(bekapcsolás-késleltetés, „nyugalom-figyelő”); tof(x, s) igaz marad s másodpercig
x elengedése után (utánfutás). Minden ilyen hívás a forrásban külön „emlékcella”, ezért
az éleket a return elé írd – különben abban a ciklusban nem frissülnek.push(a, x) új mintát tesz be (ha tele, a legrégebbi kiesik);
avg(a) sum(a) min(a) max(a) a betett értékekből számol (az érvénytelen mintákat kihagyja);
count(a), full(a), clear(a); a[0] a legutóbbi,
a[1] az előtte lévő minta (ami még nincs: NaN). Elemet közvetlenül nem lehet felülírni –
csak push-sal.out("ping"),
loadslot("Safemode") – lásd nevek) és a
log("szöveg", x) naplóüzenetében (legfeljebb 47 karakter).Az ID-k az egységes azonosítók: relé (logikai kimenet) 1–64, csoport 501–, kimenet (dimmer)
2001–; bemenet 1–, 1Wire hőmérő 1–100 (EEPROM-azonosító), univerzális szenzor 0–100. ID helyett a
vezérlőben beállított név is írható idézőjelben, ahol a leírás jelzi (a nevet a program mentésekor
oldja fel a vezérlő; ha nincs ilyen név, E12 hibát ad). Minden érték szám; az érvénytelen érték
NaN: számolásban tovaterjed, feltételben hamis, valid(x)-szel ellenőrizhető.
A szerkesztő referencia-paneljén minden elem fölé víve ugyanez a rövid leírás jelenik meg.
| Függvény | Leírás |
|---|---|
out(id|"név") | A kimenet pillanatnyi állapota: 1 = bekapcsolva, 0 = kikapcsolva. Relére, csoportra és dimmerre is jó (dimmernél 1, ha a minimum fölött áll). Ismeretlen ID → NaN.if out("Kazán") then … |
pca(id|"név") | A dimmer (PCA-kimenet) aktuális értéke 0–255 (255 = teljes fény). Nem dimmer ID → NaN.if pca(2003) > 128 then … |
remain(id|"név") | Hány másodperc van még hátra a kimenet futó időzítőjéből (az Időzítő mező a kimenet beállításainál). 0, ha nem fut időzítő; csoportra NaN.if remain(5) < 10 then log("mindjart lejar") end |
in(n|"név") | A bemenet (kapcsoló, nyomógomb, érzékelő-kontaktus) állapota: 1 = nyomva/zárt, 0 = nyitott. Az NC-inverzió után, tehát ahogy a vezérlő látja.if rising(in("Mozgás")) then on(12) end |
| Függvény | Leírás |
|---|---|
temp(id|"név") | 1Wire hőmérő értéke °C-ban, tizedekkel (pl. 21.37). Az azonosító a hőmérő EEPROM-sorszáma (a Sensors oldalon látható) vagy a neve. Hiányzó vagy hibás szenzor → NaN – ezért érdemes valid()-dal védeni.t = temp("Nappali") |
hum(ch) | Páratartalom %-ban a DHT-szenzor csatornájáról (0–7).if hum(0) > 70 then on("Ventilátor") end |
sens(id|"név") | Univerzális szenzor értéke (Shelly-, MQTT-, KNX- vagy webes injektált érték, a saját skáláján). Ha a szenzor elavult (nem frissült a megadott időn belül, STALE), NaN-t ad – így a program észleli a kiesést.if not valid(sens(30)) then log("szenzor kiesett") end |
sdm(201…221) | Az SDM fogyasztásmérő mezői (201 = teljesítmény 1, 202 = feszültség 1, 203 = áram 1, majd a 2. és 3. fázis, látszólagos/meddő teljesítmény, teljesítménytényező, szög) a Sensors oldal skáláján. Más ID → NaN.push(w, sdm(201)) |
gvar(n) | A Flow szabálymotor n-edik globális változója (1–32) – egész szám. Ezen keresztül „beszél” a Flow és a Program: amit a Flow állít, a program látja, és fordítva.if gvar(1) == 1 then … end |
| Függvény | Leírás |
|---|---|
hour() minute() second() | Az óra (0–23), a perc és a másodperc. Időszinkron nélkül (nincs NTP) mind NaN – a rájuk épülő feltétel ilyenkor hamis. |
dow() | A hét napja: 1 = hétfő … 7 = vasárnap.if dow() >= 6 then … end (hétvége) |
tod() | A napon belüli perc: óra·60 + perc (pl. 22:30 → 1350). Időablakokhoz a legkényelmesebb.este = tod() >= 20*60 or tod() < 6*60 |
sunrise() sunset() | A mai napkelte / napnyugta ugyanilyen napi percben (a vezérlő földrajzi beállítása szerint).if tod() >= sunset() then on("Kerti lámpa") end |
timesync() | 1, ha a vezérlő órája érvényes (NTP-szinkron megvolt), különben 0. |
slot() | A jelenleg betöltött konfigurációs slot száma. |
uptime() | Másodpercek a vezérlő indulása óta. |
dt() | Az előző futás óta eltelt idő másodpercben (az első futásban a ciklusidő). Integrálásra, sebességszámításra: osszeg = osszeg + fogyasztas * dt(). |
runs() | Eddig hányszor futott le a program a betöltés óta. |
boot() | 1 az indulás utáni első futásban (ha a programban #onboot van), különben 0. |
| Függvény | Leírás |
|---|---|
abs(x) | Abszolút érték. |
min(a, b) max(a, b) | Két szám kisebbike / nagyobbika. (Egy tömbnévvel hívva a tömb legkisebb / legnagyobb elemét adja – lásd lent.) |
clamp(x, lo, hi) | x a [lo, hi] tartományba szorítva – pl. dimmer-érték számításánál: set(2001, clamp(p * 255, 0, 255)). |
round(x) trunc(x) | Kerekítés a legközelebbi egészre / levágás egészre (−2.7 → −2). |
valid(x) | 1, ha x érvényes szám, 0, ha NaN. Minden szenzor-olvasás előtt ezzel érdemes dönteni. |
nan() | Az érvénytelen érték maga – pl. egy számítás „nincs adat” eredményéhez. |
| Parancs | Leírás |
|---|---|
on(id|"név") off(id|"név") toggle(id|"név") | Kimenet be / ki / átváltás. Ugyanazon az úton megy, mint a gomb vagy a weboldal: a védelmi és csatoló szabályok, a kimenet saját időzítője és késleltetése érvényesülnek. Termosztát-vezérelt (aktivátoros) kimenetre a parancs elutasítva – ott a termosztát az úr. Ismételt on bekapcsolt kimeneten nem csinál semmit (az időzítőt sem indítja újra).if rising(hideg) then on("Kazán") end |
set(id, v) / pca(id) = v | Dimmer értéke 0–255 (a határokon kívüli értéket levágja). Relére/csoportra: igaz (nem nulla) → be, hamis → ki.set("Csőfűtés", round(p * 255)) |
gvar(n) = v | A Flow n-edik globális változójának írása (egészre kerekítve). A változóra épülő Flow-triggerek azonnal kiértékelődnek – így indíthat a program Flow-láncot.gvar(7) = n |
sens(id) = v | Virtuális szenzor: az értéket (tizedre kerekítve) univerzális szenzorként publikálja – a Sensors oldal, a Flow, az MQTT és a naplózás úgy látja, mint egy valódi szenzort. A szenzornak a Sensors oldalon engedélyezve kell lennie. NaN → nincs frissítés (a szenzor failsafe-je idővel STALE-re viszi).sens(41) = avg(w) |
loadslot(n|"név") | Konfigurációs slot (jelenet) betöltése szám vagy a Mentés oldalon adott név szerint. Programonként legfeljebb 10 másodpercenként egyszer – és csak élre hívd (rising), különben minden ciklusban újratöltene.if rising(lost) then loadslot("Safemode") end |
log("szöveg"[, x]) | Sor az eseménynaplóba és a program nyomkövetésébe (szöveg és/vagy egy érték). Programonként legfeljebb 1 másodpercenként egy; a többi csendben kimarad.log("kint", kint) |
msg() | Értesítés a menüsorban (M67 üzenet) – a részletek a program nyomkövetésében. |
hook(slot[, v]) | A Flow oldalon beállított webhook (1–8) elsütése; $val helyére v kerül. Aszinkron: a program nem vár a kérésre.hook(2, t) |
stop() | A program leállítja magát (kikapcsolt állapotba kerül). Újraindítás: Engedélyezés vagy Újratöltés a Script oldalon. |
Egy var a[10] deklaráció 10 elemű gyűrűpuffert hoz létre (legfeljebb 64 elem, programonként
összesen 256). Minden push a legrégebbi elemet dobja ki, ha a gyűrű tele van. Mozgóátlaghoz, minimum/maximum
figyeléshez, előzmény tárolásához való.
| Művelet | Leírás |
|---|---|
push(a, x) | Új érték a gyűrűbe. NaN is bekerül (így a hibás minta „öregszik ki” természetesen). |
avg(a) sum(a) | Az érvényes elemek átlaga / összege – a NaN-okat kihagyja. Ha nincs érvényes elem → NaN. |
min(a) max(a) | A legkisebb / legnagyobb érvényes elem. |
count(a) | Hány elem van a gyűrűben (0-tól a kapacitásig, a NaN-okkal együtt). |
full(a) | 1, ha a gyűrű megtelt (annyi minta van benne, amennyi a kapacitása), különben 0. A két-átlag példa ezért vár 10 mintát, mielőtt dönt: if full(a) and full(b) and avg(a) > avg(b) then … |
clear(a) | A gyűrű kiürítése (count = 0). |
a[i] | Egy elem: a[0] a legutóbb betett, a[1] az előtte lévő… Nem létező index → NaN. Elemet közvetlenül nem lehet felülírni, csak push-sal. |
Ezeknek a hívásoknak saját, rejtett állapotuk van (hívási helyenként külön), amely a ciklusok közt megmarad –
ezért működnek úgy, mint a PLC-k felfutó-él-érzékelői és TON/TOF időzítői. Az első ciklusban egyik él sem jelez. Fontos:
a return utáni él-detektorok abban a ciklusban nem frissülnek, és az and/or mindkét oldala mindig
kiértékelődik (nincs „rövidzár”), hogy egy él se vesszen el.
| Függvény | Leírás |
|---|---|
rising(x) | Felfutó él: 1 abban az egy ciklusban, amikor x hamisból igazra vált, egyébként 0. Ezzel adsz „egyszer” parancsot egy tartós állapotra.if rising(in(5)) then n = n + 1 end |
falling(x) | Lefutó él: 1, amikor x igazból hamisra vált. |
changed(x) | 1, amikor x igazságértéke bármelyik irányba megváltozott. |
ton(x, s) | Bekapcsolási késleltetés (PLC TON): 1, ha x már s másodperce folyamatosan igaz; ha közben hamis lett, az időzítés elölről indul. Prellmentesítésre, „tartósan” feltételekre.lost = ton(not out("ping"), 12) |
tof(x, s) | Kikapcsolási késleltetés (PLC TOF): igaz, amíg x igaz, és még s másodpercig az elengedés észlelése után. Utánfutásra (pl. ventilátor fusson még 3 percet).if tof(in("Fürdő lámpa"), 180) then on("Ventilátor") else off("Ventilátor") end |
Egy ciklusban legfeljebb 16 parancs mehet ki (a többi eldobva – a kártyán az „eldobott parancs” számláló nő). Termosztát-vezérelt (aktivátoros) kimenetre a parancs elutasítva: ott a termosztát az úr (a nyomkövetésben „elutasítva” bejegyzés). Rossz ID olvasáskor NaN-t ad, parancsként elutasítás.
A kimenetek, bemenetek, hőmérők és slotok a felületen beállított nevükkel is
hivatkozhatók: out("Ping"), on("Nappali lámpa"), in("Mozgás előszoba"),
temp("Előremenő"), loadslot("Safemode"). A nevet a vezérlő a program
betöltésekor keresi ki a leíró-fájlokból (kimenet: relé → csoport → dimmer sorrendben; bemenet;
hőmérő; slot) – kis- és nagybetű nem számít, a név két végén a szóköz sem. Ha a név nem található
(vagy olyan slot nincs), a program E12 fordítási hibával leáll, amíg a nevet vagy a forrást nem
javítod és újra nem töltöd. Átnevezés után tehát a programot is újra kell tölteni. Az univerzális
szenzort (sens) a számával add meg.
1. Ping-őr – egy távoli szerver 5 másodpercenként bekapcsolja a „ping” nevű
logikai kimenetet, amelyen 5 mp-es kimenet-időzítő van. Fontos tény: a már bekapcsolt relé
időzítőjét az újabb bekapcsolás NEM indítja újra – a relé ezért a pingek ellenére is ki-be
billeghet (5 s BE, majd akár ~5 s KI a következő pingig). Ezért nem a nyers állapotot nézzük, hanem a
12 s folyamatos csendet: a ton csak akkor billen, ha a kimenet 12 másodpercig
egyfolytában KI volt. A rising gondoskodik róla, hogy a slot egyszer töltődjön be,
a falling pedig jelzi az újraélesedést.
#name Ping-őr
#every 500ms
// A szerver 5 s-onként on("ping")-et küld; a "ping" relén 5 s-os időzítő van.
// TÉNY: a már BEkapcsolt relé időzítőjét az újabb bekapcsolás NEM indítja újra
// -> a relé a pingek ellenére ki-be billeghet (5 s BE / akár ~5 s KI).
// Ezért nem a nyers állapotot, hanem a "12 s folyamatos csend"-et figyeljük.
var lost
lost = ton(not out("ping"), 12) // igaz, ha 12 s-e folyamatosan nincs ping
if rising(lost) then // CSAK az átmenet pillanatában -> egyszer
loadslot("Safemode")
log("ping elveszett - Safemode")
end
if falling(lost) then log("ping visszatert") end // újraélesedett
2. Átlag-összevetés – 5 másodpercenként mintát vesz két hőmérőről, és az
utolsó 10 minta átlagát hasonlítja: ha az A-átlag nagyobb, az 5-ös kimenet BE, különben KI. A
full() megvárja, míg mindkét puffer megtelik; a hibás mintát (NaN) az avg kihagyja.
#name Átlag-összevetés #every 5s var a[10], b[10] push(a, temp(12)) // 1Wire hőmérő 12 (°C; hibánál NaN kerül be) push(b, temp(13)) if full(a) and full(b) and avg(a) > avg(b) then // avg a NaN-okat kihagyja on(5) else off(5) end
3. Fűtés hiszterézissel, fail-safe-fel – a célérték a var
kezdőértéke (a Változók panelen látszik); szenzorhibánál a fűtés lekapcsol és a ciklus véget ér,
különben ±0,3 °C-os sávban kapcsol.
#name Fűtés nappali #every 2s var want = 21.5 // betöltéskor inicializált célérték var t t = temp(7) if not valid(t) then off(3) return end // szenzorhiba: fűtés le if t < want - 0.3 then on(3) elif t > want + 0.3 then off(3) end
4. Előremenő–visszatérő különbség – a két hőmérő különbségét virtuális szenzorként teszi közzé (40-es univerzális szenzor: a főoldalon, a grafikonon, a Flow-ban és MQTT-n is látszik), és a szivattyút a különbség alapján kapcsolja. Hibás mérésnél (NaN) nem kapcsol és nem frissít.
#name Előremenő-visszatérő delta #every 10s var d d = temp(21) - temp(22) sens(40) = d // usens 40: UI/Flow/MQTT látja; NaN = nincs frissítés if valid(d) and d > 15 then on(9) elif valid(d) and d < 8 then off(9) end
5. Éjszakai mozgásfény – 22:00 és 6:00 között a mozgásérzékelő (17-es bemenet)
bekapcsolási éle felkapcsolja a lámpát; 3 perc nyugalom után a ton lekapcsolja.
Időszinkron nélkül a tod() NaN → az „éjszaka” hamis, a lámpa nem kapcsol fel magától.
#name Éjszakai mozgásfény #every 200ms var night night = tod() >= 22*60 or tod() < 6*60 // nincs időszinkron -> NaN -> hamis if night and rising(in(17)) then on(12) end // mozgás-él: BE if ton(not in(17), 180) then off(12) end // 3 perc nyugalom: KI (idempotens)
6. Kapu-számláló Flow-híddal – az 5-ös bemenet bekapcsolási éleit számolja, az értéket a Flow 7-es globális változójába írja (a Flow var-triggerei azonnal reagálnak), éjfélkor nulláz, 100 nyitásnál értesít a menüsorban.
#name Kapu-számláló #every 100ms var n if rising(in(5)) then n = n + 1 end if rising(hour() == 0) then n = 0 end // éjfélkor egyszer nulláz gvar(7) = n // Flow var-trigger azonnal látja if n >= 100 then msg() n = 0 end
#N, állapot-jelvény (fut /
kikapcsolva / HIBA / üres), ciklusidő, futások száma, utolsó futás, a leghosszabb futás
(max µs), eldobott parancsok, lemaradás. Hibánál a kártyán a sor:oszlop és a hibakód
(pl. 12:5 E10 ismeretlen nev (var kell): foo).#enabled sort írja át és ment), Futtatás most
(egy ciklus azonnal – tiltott programon is), Újratöltés, Töröl.var-ok itt figyelhetők.
Globális változók: a Flow 32 változója, kézzel is átírható.?prog..Hiba esetén csak az adott program áll le (HIBA állapot), a többi fut tovább; a
menüsorban egyszer megjelenik az M66 üzenet, az eseménynaplóba Prog,N,err,… sor
kerül. A javított forrás mentése (vagy Újratöltés) után a program újra fut.
sor:oszlop Exx szöveg): E01 ismeretlen karakter · E02 direktíva
rossz helyen / ismeretlen direktíva · E03 túl hosszú név vagy szám · E04 hiányzó/várt elem (pl.
then, end, zárójel) · E05 #every tartományon kívül · E06 szöveg
rossz helyen · E10 ismeretlen név (hiányzik a var) · E11 ismeretlen függvény · E12 a név
nem oldható fel (nincs ilyen kimenet/bemenet/hőmérő/slot) · E13 ID tartományon kívül · E14 rossz
argumentumszám · E15 parancs kifejezésben · E16 nem értékadható · E17 foglalt név · E18 tömb/skalár
keverés · E19 var nem a program elején · E30–E39 korlátok: túl összetett kifejezés, túl
hosszú program, túl mély kifejezés, túl sok változó, tömb-méret, túl sok él/időzítő, túl sok konstans,
túl sok szöveg, túl mély if, túl hosszú forrás.Rxx): R01 utasítás-korlát (2000 lépés/futás) · R02
időtúllépés (egy futás 3× egymás után 2 ms fölött) · R03–R05 belső hiba (verem, utasítás, ugrás).
Nem hiba, csak számláló: R06 elutasított parancs (rossz ID, aktivátoros kimenet, hiányzó slot, túl sűrű
slot-betöltés), R07 parancs-árvíz (16 fölött egy ciklusban). A NaN sosem hiba – a program fut tovább.rising,
ton… a forrásban), 8 szint if; Optán a korlátok feleződnek.log
1 mp-enként, loadslot 10 mp-enként programonként.hook a Flow webhook-céljain át
megy). Kivétel nélkül minden parancs a védelem / csatoló / időzítő rétegen át hat.MIA (Beállítások → Vezérlés → MIA) a ház gondnoka, egy öntanuló, megfigyelő réteg: a vezérlő percenként ránéz minden fűtés-jellegű termosztát-kötésre (hőmérő + logikai kimenet, BE-küszöb < KI-küszöb), és zónánként megtanulja a ház viselkedését. Megfigyelőként semmit nem kapcsol – a termosztát, az időzítő, a Flow és a Program pontosan úgy működik, mint eddig; MIA bármikor ki-be kapcsolható, és kikapcsolva a tanult értékek megmaradnak. Felhő és előfizetés nélkül, minden adat az eszközön marad. A 4.12-től két beavatkozó funkció is bekapcsolható (alapból kikapcsolva): az öntanuló előfűtés és a fűtés-szünet nyitott ablaknál.
Amit tanul (zónánként):
Ablaknyitás-érzékelés: ha a zóna hőmérséklete rövid idő alatt (alap 0,5 °C / 5 perc) a tanult hűlésnél
sokkal gyorsabban esik, a zóna „ablak nyitva?” jelzést kap: naplósor (System,AI,WIN,R<n>,open),
üzenet a menüsorban (M68, óránként legfeljebb egyszer). A jelzés a hőmérséklet visszaépülésekor (+0,2 °C) vagy a beállított
idő után szűnik meg. A jelzés magában nem kapcsol; a fűtés szüneteltetéséhez a fűtés-szünet
funkciót kell bekapcsolni (4.12+).
Beállítás: kapcsold be MIA-t (Engedélyezve), hagyd bekapcsolva a két megfigyelő funkciót, és várj 1–2 napot: a „Betanultság” oszlop mutatja, mennyire megbízhatók már a számok. A „Felejtsd el” gomb törli a tanult értékeket (kazán-/radiátorcsere, szigetelés után érdemes). A szürke, „hamarosan” jelű funkciók (túllövés-mentes szabályozás, fogyasztás-anomália) a következő kiadásokban jönnek.
Ha a komfort/eco váltást az időzítő végzi (egy slot relays.xml-jének betöltése:
„Load all” vagy „Load relays” esemény), és az új slot egy zónának magasabb BE-küszöböt ad, MIA a tanult
adatokból kiszámolja, mennyivel előbb kell fűteni: holt idő + (célhőfok − most) × perc / 1 °C, egy
tanult korrekcióval (k) szorozva. Ennyivel – legfeljebb a beállított percekkel (alap 120) – a váltás előtt
bekapcsolja a zóna fűtését, így a váltás pillanatában már komfort-hőmérséklet van (Loxone „intelligens
fűtésszabályozás” / tado „Early Start” megfelelője).
Naplósorok: System,AI,PRE,R<n>,start,<perc>,<T>,<cél>,<óó:pp>,
…,done,<eltérés perc>,<T a célban>,<k>, …,abort,<ok>; menüsor-üzenet: M69.
Az ablaknyitás-érzékeléssel együtt bekapcsolva: amíg egy zóna „ablak nyitva?” jelzést kap, MIA a zóna reléjét
kikapcsolva tartja (a termosztát különben a hirtelen hidegre azonnal fűtene), a jelzés megszűnésekor pedig
visszaadja a termosztátnak. Biztonság: 8 °C alatt fagyvédelemből azonnal elenged; kézi kapcsolás megszakítja.
Naplósorok: System,AI,WACT,R<n>,hold / …,release,<ok>; menüsor-üzenet: M70.
ai.jsn fájlban élnek (Fájlkezelő), újraindítás után is megmaradnak.A hagyományos termosztát a KI-küszöbnél kapcsol le – de a radiátor és főleg a padlófűtés ezután még utófűt (a padló 0,5–1 °C-ot is), a BE-küszöb után pedig még hűl. MIA ezt az utó-emelkedést és holt időt megtanulja (a hagyományos működés alatt is méri), és a Túllövés-mentes szabályozás bekapcsolásával a sávon belül előbb kapcsol KI, illetve BE, hogy a csúcs pont a küszöbön maradjon. A termosztát sávját sosem lépi át, nem kell hozzá tartás, és ahol a becsült nyereség 0,1 °C alatt van (jól méretezett radiátor), nem avatkozik be.
Mit nyersz: padlófűtésnél 0,6 → ~0,0 °C túllövés (a sávban töltött idő 28 → ~90 %), radiátornál 0,3 → ~0,05 °C – a MIA oldal zónánként mutatja az „előtte → utána” túllövés-számot. A kapcsolások száma nő (padlón ~6 → 12/nap); a zónánkénti min. BE/KI idő (0 = automatikus: 10 perc, padlón 30) a kazánt, szivattyút és a relét kíméli. A késleltetett vagy auto-KI időzítős relét MIA magától kizárja; bármely zóna kézzel is kizárható. 0,1 °C-os felbontású (univerzális) szenzoron működik, de szórtabb – padlófűtés-zónára 1Wire hőmérő ajánlott.
System,AI,TPI,R<n>,off|on,<T>,<becsült>,<előre-idő>.A vezérlő saját szenzorai:
Minden szenzor naplózódik és a Chart oldalon grafikonon nézhető, továbbá termosztát-aktivátorként használható.
Az univerzális (hálózati) szenzor egy „fogadó rekesz”, amibe kívülről érkezik érték: Shelly-eszközből (19. fejezet), másik myIO-ból (20. fejezet) vagy bármilyen saját eszközből (API-n át). A Sensors oldalon állítod be:
Termosztátban a szenzorra a 300 + ID aktivátor-számmal hivatkozz (pl. a 3-as univerzális szenzor aktivátora 303).
A Sensors oldal myIO DewPoint kártyája a soros portra kötött harmatpont-szenzort kezeli: a szenzor a 0-s univerzális szenzorba tölti a harmatpont-értéket, a vezérlő pedig egy kiválasztott dimmer-csatorna %-os értékét küldi vissza a szenzor felé (0–10 V-os kimenetté alakítva). Beállítható a visszaküldött kimenet-csatorna és a küldési időköz. Hűtött felületek (pl. falhűtés) páralecsapódás-védelmére való: a harmatpont-érték termosztát-aktivátorként (300-as ID) használható.
3.12.3+
A DUE (V3) vezérlőn nincs univerzális szenzor: itt a Setup oldal „myIO Harmatpont-védelem”
blokkjában kapcsolható be. A bejövő harmatpont-érték egy választott hőszenzor
EEPROM-ID-be íródik (×10-es skálán: 4095 → 409,50), így termosztát-aktivátorként a szokásos
hőszenzor-hivatkozással használható. Ugyanitt választható a PWM-kimenet forrás-kimenete (csak
PWM-jelölt csatorna) és a küldési időköz (max 300 mp). A beállítások a slot
globals.xml-jébe mentődnek (globális mentés).
Az Emanager oldal a soros porton csatlakozó SDM háromfázisú fogyasztásmérőt kezeli: fázisonként teljesítmény, feszültség, áram, teljesítménytényező stb. olvasható és naplózható.
Fogyasztási szintek (terhelés-korlátozás): fázisonként megadható egy FEL- és egy LE-küszöb. Ha a mért fogyasztás a FEL-küszöb fölé nő, a vezérlő szintet lép és a szinthez rendelt kimenetet lekapcsolja; ha a LE-küszöb alá esik, visszakapcsolja. Így nagy fogyasztók (bojler, klíma, autótöltő) automatikusan lekapcsolhatók, hogy ne lépd túl a betáp-korlátot.
Az SDM-értékek termosztát-aktivátorként is használhatók (pl. „ha az 1. fázis teljesítménye 2000 W felett van → jelzőlámpa be”).
Az SG-Ready a hőszivattyú-gyártók közös illesztő-szabványa: két potenciálmentes (száraz) kontaktus négy üzemmódot kódol a gépnek. A myIO két kijelölt kimenete (K1, K2) adja a két kontaktust — relé (R1..R64) vagy kimenet (P1..) egyaránt lehet (kimenetnél a BE = a beállított ON-szint, a KI = OFF-szint):
| Üzemmód | K1 | K2 | Jelentés |
|---|---|---|---|
| 1. Tiltás (EVU-zár) | BE | KI | A hőszivattyú kompresszora tiltva (a fagyvédelem belül aktív marad). Csak időkorláttal! |
| 2. Normál | KI | KI | Normál, energiahatékony automatika. |
| 3. Ajánlott bekapcsolás | KI | BE | Bekapcsolási ajánlás (pl. olcsó áram vagy PV-többlet idején) – jellemzően célhőfok-emelés. |
| 4. Kényszerített futás | BE | BE | Határozott indítási parancs (a gép szabályzási keretein belül). |
Beállítás: a Smart Grid oldalon (Beállítások → Link → Smart Grid) jelöld ki a K1 és K2 kimenetet (két különböző kimenet; a kereső-mezőbe gépelve szűkül a lista — R = relé, P = kimenet), engedélyezd a funkciót, és állítsd be az EVU-zár időkorlátját (alap 120 perc – a szabvány 2 órás plafonja). Az üzemmód váltása időzítővel (Timer oldal, „SG-Ready mód” esemény, cél = 1..4 üzemmód) vagy az oldal kézi gombjaival történik – így heti idősávokra osztható, mikor melyik mód éljen (éjszakai olcsó áram → ajánlott; csúcsidő → tiltás; stb.).
Reteszelés: a vezérlő percenként visszaírja a kontakt-pár helyes állását, tehát a kézi vagy más forrásból jövő kapcsolás legfeljebb ~1 percig él. A kijelölt kimeneteket a Logikai kimenetek, ill. Kimenetek oldal SG-jelvénnyel mutatja.
A myIO a helyi hálózaton lévő Shelly okoseszközöket (relék, dimmerek, szenzorok) úgy kezeli, mintha be lennének kötve a vezérlőbe. A Shelly oldalon:
A lekérdezés csak a kívülről jött változás észlelését érinti: a fali kapcsoló megnyomását, a Shelly-appból történt kapcsolást és a szenzorértékek frissülését. A myIO-ból indított parancs (gomb, időzítő, csoport, védelem) ettől függetlenül azonnal megy ki.
Ezért érdemes a fontos eszközöket – lámpa-relé, kapcsoló – sűrűn (0,5–1 s), a ráérőket – mágnesszelep, öntözés, ritkán változó szenzor – ritkán (10–60 s) lekérdezni. A vezérlő egyszerre egy kimenő kérést futtat, amin a Shelly-eszközök, a myIO Link és a felhő osztozik, tehát a ráérő eszközök ritkítása közvetlenül a fontosak reakcióidejét javítja.
A Link oldalon két (vagy több) myIO vezérlő köthető össze a hálózaton:
Az eszközök felvétele kereséssel vagy IP-cím megadásával történik; a távoli vezérlő felhasználónevét/jelszavát is meg kell adni. A kapcsolat állapota (online, jelszó-hiba) a listában látszik.
A felderítés a régebbi, Due-alapú (3.x) vezérlőket is megtalálja – ezeket DUE jelvény jelöli a találati listában és a szerver fejlécében. A Due nem ad eszköznevet, ezért a Teszt a sorozatszámát hozza névnek; a Név mezőbe írt saját név megmarad, azt a Teszt nem írja felül. A link-soroknál az azonosító kézi beírásakor a típus- és név-legördülők azonnal követik a beírt ID-t.
A módosítások azonnal élnek, de a navigációs sáv azonnali mentés gombjáig csak
futásidejűek – mentés nélkül restartkor elvesznek. A link-konfiguráció nem slotba, hanem
az SD-kártya gyökerébe (link.jsn) kerül, ezért itt a gomb slot-választó
nélkül, közvetlenül ment; a sikeres mentést a gombon felvillanó ✔ jelzi.
(Szerver azonosítása és törlése automatikusan ment.)
Az MQTT oldalon (Link menü) a vezérlő egy MQTT-brókerre publikálja az eseményeit és állapotait – például Home Assistant, Node-RED vagy bármilyen MQTT-alapú rendszer felé. Alaphelyzetben a kliens csak küld (publish-only); a 4.5-től a Feliratkozás szakasz szerint fogadni is tud (vezérlés + külső szenzorok).
DUE (3.12.31+): ugyanaz a topic-séma, Home Assistant Discovery és vezérlés, mint a
4.x-en – a HA-ban a DUE és a GIGA/Opta vezérlő egyformán jelenik meg. A DUE-n nincs:
TLS, takarékos mód, univerzális és külső MQTT-szenzor, RS485-bővítő; a bróker csak
IP-címmel adható meg (hosztnévvel nem). A beállítások a vezérlő EEPROM-jába
mentődnek (nem mqtt.jsn-be), így a bróker-jelszó nem kerül az SD-kártyára. A
tartós MQTT-kapcsolat egy hálózati (W5500) socketet foglal: bekapcsolt MQTT mellett a
webszerver 3 helyett 2 párhuzamos kapcsolatot fogad. Régi, W5100-as (4 socketes) lapon az
MQTT csak kikapcsolt app-port (843) és mDNS mellett fér el – az oldal ilyenkor figyelmeztet.
myio-<név> ill. myIO/<név>)..../button/<id> = H/P/R:
rövid nyomás = H; hosszú nyomás = P, elengedésekor R – a gesztus akkor is kimegy, ha
nincs hozzá esemény rendelve), kimenet-váltás (.../relay|pca|fet/<id>
= 1/0), szenzor-aktivátor (.../sensact/<id>). Shelly-kötésű
kapcsolónál a Shelly módja dönt: a "gomb (H/P)" mód nem küld R-t, a "váltó (P/R)" igen.1, 0, 23.50.homeassistant/... témákra – a HA-ban maguktól
megjelennek. Relé/dimmer/PWM csak akkor kap HA-entitást, ha el van nevezve (a
névtelen kimenetek nyers topicja attól még él); a szenzorok a típusuk szerinti
mértékegységgel (°C, %, W, ...) jönnek létre; 4.16.2+ state_class-szal is (measurement, a kWh-szenzor total_increasing), így a HA hosszú távú statisztikát gyűjt, és a kWh-szenzor az Energia-panelre is felvehető. Az elérhetőséget a
<alap-topic>/status (online/offline, LWT) jelzi.A mezők módosítása azonnal a futó konfigot írja – az engedélyező pipa rögtön
csatlakoztat/leállít. A mentés (Mentés és alkalmazás) a gyökér mqtt.jsn
fájlba (DUE-n a vezérlő EEPROM-jába) ír (enélkül a beállítás restartkor elveszik), és újracsatlakoztatja a klienst a
friss beállításokkal. A kapcsolat állapota és az eldobott események számlálója az oldal jobb
oszlopában látszik; soros diagnosztika: ?mqtt. parancs.
TLS-titkosítás 4.4+.
A TLS titkosítás pipával a kapcsolat titkosítva megy a brókerhez (BearSSL, TLS 1.2).
A bróker azonosítását nem tanúsítványlánc, hanem egy pinnelt publikus kulcs adja: a
Bróker pinnelt kulcs mezőbe a bróker EC P-256 publikus kulcsát kell beírni
base64url formában (a myIO Cloud párosításkor adja; saját brókernél a
szerver kulcsából képezhető). Bekapcsolt TLS-nél a port jellemzően 8883. Ha a vezérlő
nem jut megbízható hardveres véletlenszámhoz, a kapcsolat nem épül fel (fail-closed) –
inkább nincs TLS, mint gyenge kulcsú látszat-titkosítás. A titkosítás a saját brókeredhez
(pl. Home Assistant) és a myIO Cloudhoz egyaránt használható.
A Feliratkozás szakasz bekapcsolásával a kliens fogad is: a CONNACK után feliratkozik a beállított topicokra, és a kapcsolat tartósan nyitva marad (a takarékos mód ilyenkor hatástalan – az oldal jelzi). Minden beállítás mentése reboot nélkül, azonnali újracsatlakozással érvényesül.
<alap-topic>/relay/<id>/set és
<alap-topic>/pca/<id>/set topicokra küldött üzenet kapcsol.
Relé-payload: 1/ON, 0/OFF,
T (váltás). Kimenet-payload: szám 0..255 = fényerő (0 = ki), vagy
ON/OFF/T szöveg. A parancs a kiválasztott
user-slot jogaival fut (0 = admin) – szűkebb slottal a vezérelhető kör a
felhasználó-kezelés elem-jogaival korlátozható. A kapcsolás eredménye a szokásos
state-topicon (.../relay/<id> = 1/0) azonnal visszajelződik..../pca/<id>/bri topicon) jelennek meg a
Home Assistantban; a PWM nélküli kimenet 3.12.34 / 4.18.8+
csak ki-be kapcsolható fényként (fényerő-csúszka nélkül – úgyis csak 0 vagy 255 lehet),
a kimenet PWM-módjának váltása után az entitás magától átáll; kikapcsolva visszaállnak binary_sensorrá. A váltás a régi
entitás-configokat magától kitakarítja.21.5) vagy JSON – utóbbihoz add meg a JSON-kulcsot (pl.
temperature a zigbee2mqtt {"temperature":21.5} üzenetéhez);
az ON/true = 1, OFF/false = 0 (küszöbként 10/0 az x10 skálán).
Figyelem: az eszköz saját publish-topicjának bekötése önhurkot okoz.Diagnosztika: az oldal jobb oszlopa (fogadott parancsok/értékek, megtagadott
feliratkozások), illetve a soros ?mqtt. parancs (subph,
cmdrx, senrx, last mezők).
A myIO Cloud oldalon (Link menü) a vezérlő a myIO felhő-brókeréhez kapcsolódik, így a myIO app interneten keresztül is eléri – port-nyitás, DDNS és VPN nélkül. A kapcsolat mindig TLS-titkosított (pinnelt bróker-kulccsal), és a felhős kliens a saját brókeres MQTT-kliens mellett, attól függetlenül fut (egyszerre csak Ethernet-kapcsolaton; Wi-Fi-n a kevés socket miatt a saját brókeres kliens élvez elsőbbséget).
A biztonsági modell lényege: a parancsokat nem a felhő, hanem a user írja alá a telefonján (ECDSA aláírás; a privát kulcs a telefont sosem hagyja el). A vezérlő a párosításkor eltárolt publikus kulccsal ellenőrzi az aláírást, és a parancsot a párosításkor kiválasztott user-slot jogaival hajtja végre – ugyanazokkal a jogosultság-szabályokkal, mint a helyi felület. Egy feltört felhő-szerver így sem tud parancsot hamisítani; a visszajátszást számláló-ellenőrzés zárja ki.
A mezők módosítása azonnal a futó konfigot írja; a mentés
(Mentés és alkalmazás) a gyökér cloud.jsn fájlba ír és újracsatlakoztat.
A kulcs-műveletek (párosítás, visszavonás, törlés) maguktól mentődnek. Soros diagnosztika:
?cloud. parancs.
Mit tartalmaz a QR? A bróker címét, az eszköz-azonosítót, az eszköz publikus kulcsát, a bróker pinnelt kulcsát, az egyszeri párosító-tokent, és 4.5+ az app bróker-belépőjét. Titkos user-kulcsot nem – az a telefonon születik. A token az ablak zártáig él, ezért a QR-t közzétenni így sem szabad.
Az app bróker-belépője 4.5+ –
a Cloud oldal két új mezője (App bróker-felhasználó és -jelszó). Ezt a myIO adja
a vezérlőhöz a telepítéskor; a vezérlő csak továbbadja a párosító QR-ben, hogy a telefon
egyáltalán fel tudjon csatlakozni a felhő-brókerre. Kézzel begépelni nem kell, és a telefon
tulajdonosának nem kell tudnia róla. Fontos: ez csak a kapcsolatot nyitja meg – hogy a
telefon mit kapcsolhat, azt továbbra is a párosításkor kapott saját kulcsa és a hozzá rendelt
felhasználói szint jogai döntik el. Ha a mezők üresen maradnak, a telefon névtelenül próbál
csatlakozni; ezt a myIO éles brókere elutasítja (a hibaüzenet: notAuthorized).
Bróker-frissítés (broker.new) 4.4+ –
ha a myIO felhő-bróker címe megváltozik (költözés, szolgáltató-váltás), nem kell új
firmware: a myIO egy gyártó-aláírt broker.new fájlt ad ki, amit a
Cloud oldalon a Feltöltés gombbal lehet betölteni. A vezérlő a beégetett gyártói
kulccsal ellenőrzi az aláírást, a fájl sorszáma (seq) alapján pedig a régi vagy
visszajátszott fájlt elutasítja – hamis címre így akkor sem terelhető, ha a fájl
illetéktelen kézbe kerül. Sikeres feltöltéskor az új cím azonnal érvényes (mentés +
újracsatlakozás automatikus), az oldal az elfogadott frissítés sorszámát mutatja. Ha a
beállítás már pontosan az, amit a fájl tartalmaz, a vezérlő ezt jelzi
(already up-to-date) – fölöslegesen nem ír és nem csatlakozik újra.
Magától is helyreáll 4.4+ –
a fájlt nem kötelező kézzel feltölteni. Ha a felhő-kapcsolat tartósan nem áll helyre
(néhány perc), a vezérlő előbb megbizonyosodik róla, hogy egyáltalán van internet
(egy semleges, gyors ellenőrzéssel), és csak utána kérdezi le a gyártó címéről a friss
broker.new-t, majd magától átáll az új brókerre. Amíg a felhő rendben
működik – vagy amíg nincs internet – a vezérlő egyáltalán nem keresi a gyártó
címét. Végső esetben a fájl e-mailben is megkapható, és a fenti Feltöltés gombbal
bármikor betölthető.
Tükör-brókerek 4.4+ –
ha a broker.new tartalék (tükör) brókereket is tartalmaz, azok a Cloud oldalon
felsorolva látszanak. Kapcsolat-hiba esetén a vezérlő sorban végigpróbálja a listát, majd
újraindítás után is arra csatlakozik, amelyik legutóbb működött. Új kimaradáskor
mindig az elsődleges brókerrel kezdi újra – hátha az időközben visszatért. A lista a
broker.new-ból jön, kézzel nem szerkeszthető.
Gyártói tájékoztató 4.5+ –
amíg a felhő-kapcsolat él, a vezérlő egy gyártói üzenet-csatornát is hallgat. Ezen a
myIO tud szólni a készülékeknek: karbantartás, fontos tudnivaló, illetve ezen az úton is
megérkezhet a fenti broker.new (így a cím-frissítés azonnal hat, nem kell
megvárni a mentő-lekérdezést). Az üzenetet a gyártó aláírja, ezért hamis üzenetet még
egy feltört felhő-szerver sem tud küldeni – legföljebb elhallgatni, ezért marad meg az
automatikus lekérdezés mint végső mentőöv. A tájékoztató a Cloud oldal tetején jelenik meg
(a Rendben gomb elrejti), és bekerül az Eseménynaplóba is.
Üzenetek (előzmény) 4.7+ – a gyártói üzenet a Rendben gombbal nem vész el: a vezérlő a legutóbbi üzeneteket (legfeljebb 6-ot) a rejtett rendszer-köteten megőrzi, és a Cloud oldal Üzenetek szekciója újraindítás után is mutatja őket. A „Rendben” csak olvasottnak jelöl – az olvasatlan üzenet félkövér, „olvasatlan” címkével látszik. Az üzenetet a felhasználó nem törölheti (és a felhő-szerver sem tudja aláírás nélkül visszavonni): amit a gyártó egyszer kiküldött, az itt visszakereshető marad, amíg újabb üzenetek ki nem szorítják.
Bróker-adatok elrejtése gyári firmware-en 4.5+ – gyári (prod) firmware esetén a Cloud oldal nem írja ki a bróker címét, portját, belépőjét, a pinnelt kulcsát és a feloldott bróker-IP-t: ezek helyén „rejtve” jelzés áll, és szerkeszteni sem lehet őket. Nem is kell: a címet a gyárilag beégetett lista és az aláírt broker.new fájl hozza. Így az adat akkor sem szivárog ki, ha a Cloud oldalról képernyőfotó készül, vagy ha a lapot valaki továbbküldi. Fejlesztői firmware-en minden látszik és szerkeszthető. (A párosítás-QR ettől függetlenül működik – abban a cím szükségszerűen benne van, hiszen az appnak abból kell csatlakoznia.)
Mit jelent a „pinnelt kulcs”? A vezérlő a TLS-kapcsolatnál nem tanúsítvány-kibocsátókban (CA) bízik, hanem kizárólag ebben az egyetlen kulcsban: a kézfogás csak akkor sikerül, ha a túloldal ezzel írja alá. Így közbeékelt (man-in-the-middle) szerver, lejárt vagy hamis tanúsítvány eleve nem jön szóba, és nem kell tanúsítványtárat tartani az eszközön. A kulcs publikus (nem titok) – csak üzemeltetési adat, ezért rejtjük prod firmware-en.
Amit ez a csatorna SOHA nem tud – ez a legfontosabb tervezési döntés: a gyártói üzenet nem vezérelhet semmit (relé, kimenet, jelenet), nem futtathat parancsot, nem kérdezhet le adatot vagy naplót, és nem telepíthet magától firmware-t. Kimenetet kizárólag a saját, aláírt parancsod mozgat, amit a telefonod privát kulcsa hitelesít – a gyártó ebbe nem tud belenyúlni. Az ismeretlen típusú üzenetet a vezérlő eldobja.
Licenc 4.6+ – a Cloud oldal Licenc szakasza mutatja a megvásárolt funkciókat, az éves jog lejáratát (visszaszámlálóval) és az app-párosítások keretét (használt / engedélyezett). Új vagy megújított licenc két úton érkezhet: magától a felhőn át (amíg a felhő-kapcsolat él, a vezérlő fogadja és automatikusan nyugtázza), vagy e-mailben kapott kódként, amit ide, a beillesztő-mezőbe kell másolni és az Alkalmaz gombbal betölteni – ez az út akkor is működik, ha a felhő éppen nem elérhető. A licenc gyártó-aláírt és ehhez az egy készülékhez kötött: hamisított, más eszköznek szóló vagy régebbi (visszajátszott) kódot a vezérlő elutasít; mindig a legfrissebb kiadás érvényes, függetlenül attól, melyik úton érkezett. Fontos: az éves Cloud-jog tényleges kapuja a felhő-szerveren van – a helyi (LAN) működést a lejárat semmilyen módon nem érinti, és a lejárt eszköz a megújítást ugyanígy fogadni tudja.
A BroadLink oldalon BroadLink-alapú Wi-Fi eszközök (konnektorok, Computherm Wi-Fi termosztátok) vehetők fel: keresés, párosítás után a konnektor egy myIO kimenethez köthető (kétirányú szinkron, gyerekzár-kapcsolóval), a termosztát pedig a Computherm aloldalon kezelhető.
Az engedélyezés pipa és a Felderítés gomb a BroadLink oldal tetején
található (a Shelly és myIO Link aloldalak mintájára – korábban az engedélyezés a Setup
oldalon, a Discovery a navigációs sáv mentés-menüjében volt). Az engedélyezés újraindítás
nélkül, azonnal érvényes; kikapcsolt integrációnál a Felderítés gomb inaktív. A párosított
eszközök listája nem slotba, hanem az SD-kártya gyökerébe (brlink.jsn) kerül –
a mentés a navigációs sáv azonnali mentés gombjával történik, mentés nélkül a
párosítások restartkor elvesznek.
Az engedélyezés-pipa állapota azonnal a vezérlő nem felejtő memóriájába kerül, és restart után is megmarad – nem kell hozzá slotot menteni, és a slot-váltás sem írja felül. Bekapcsoláskor a vezérlő a párosítási kulcsokat automatikusan újra-inicializálja és felderítést indít, így a korábban párosított eszközök (pl. Computherm termosztát) beavatkozás nélkül újra hitelesülnek; kikapcsoláskor a lefoglalt UDP-socket azonnal felszabadul.
Elérhetőség-jelző és offline-védelem 3.12.4+ / 4.3.5+ –
minden párosított eszköz fejlécében zöld/piros pötty mutatja, hogy az eszköz elérhető-e a
hálózaton. Ha egy eszköz nem válaszol (pl. áramtalanítva van vagy leesett a Wi-Fi-ről), a
vezérlő offline-ra jelöli, és onnantól percenként csak egyszer próbálja újra –
korábban a másodpercenkénti újrapróbálkozás időtúllépései az egész vezérlőt érezhetően
lelassították. Amint az eszköz újra válaszol (vagy egy Felderítés megtalálja), a jelző
magától zöldre vált és a normál lekérdezés folytatódik; a közben kiadott kapcsolási parancs
nem vész el, az újrapróbálkozáskor kimegy. Az átmenetek az eseménynaplóba is bekerülnek
(BL-OFFLINE / BL-ONLINE sorok). A Felderítés emellett már nem
állítja meg a vezérlőt a válaszgyűjtés idejére (aszinkron fut): a gomb a felderítés alatt
„Felderítés folyamatban…” feliratra vált, és a lap a végén magától újratölt –
nem kell kézzel frissíteni. Az oldal a háttérben 10 másodpercenként ellenőrzi is az
eszközlistát (brstat.json): új vagy eltűnt eszköznél, hitelesítés-változásnál
automatikusan újratölt, egyébként csak az elérhetőség-jelzőket frissíti helyben.
A Users oldalon fiókokat hozol létre admin / szerkesztő / felhasználó szinttel (2. fejezet). A „felhasználó” szintű fióknál ezen felül elemenként adható jog:
Jog nélküli elem a felhasználó felületén és az alkalmazásában meg sem jelenik. Egy csoport csak akkor látszik, ha a felhasználónak a csoport minden tagjához van joga. A táblázat tetején lévő gombokkal az összes jog egyben törölhető/megadható/invertálható.
A Bővítők oldal (Rendszer menü) az RS485-bővítőbuszra fűzött paneleket mutatja cím szerint rendezett kártyalistában, élő online-állapottal (a lista működését a bővítő-lista szakasz írja le). Két paneltípus létezik: az Ext16 (16 bemenet / 16 kimenet) és az Ext-KNX – utóbbi egy KNX TP1 átjáró (a harmadik, az Ext-DALI átjáró leírása lent), amely KNX-rendszerekkel működik együtt: a vezérlő szemével „16 bemenet + 16 kimenet + 16 szenzor”, csak a csatornák nem sorkapcsokra, hanem KNX-csoportcímekre képződnek le. Így a myIO minden meglévő logikája (időzítők, Flow, védelem, termosztát, app) változtatás nélkül működik KNX-eszközökkel is.
A csoportcím-tábla (48 sor) a panelen él: a „Mentés a panelre” a buszon át írja ki és véglegesíti, ezért a panelnek online kell lennie. A címeket az ETS-projektből kell kimásolni (fő/közép/al, pl. 1/2/3) – a panel a KNX-busz szemében egyszerű busz-résztvevő, az ETS nem látja eszközként, felprogramozni nem kell. Az init-read jelölésű sorokat a panel bekapcsolás után lekérdezi, így a tényleges KNX-állapot azonnal beáll. A státusz-blokk élőben mutatja a KNX-busz állapotát és a forgalom-számlálókat.
Korlátok: KNX Data Secure-ra konfigurált csoportcímeket a panel nem tud se olvasni, se írni – az integrálandó címek az ETS-ben titkosítatlanra állítandók. Panelenként 16+16+16 csatorna a plafon; több panel több címmel összeadódik. Ugyanaz a csoportcím kimenetként csak EGY panelre képezhető fel (visszhang-hurok ellen).
A 4.15-től a KNX-rész külön oldalt kapott: Link → KNX. Ide költözött a csoportcím-tábla, a KNXnet/IP ETS-illesztő kapcsolója és a KNX-eszköz-nyilvántartás; a Bővítők oldal Ext-KNX kártyáján csak a státusz-kivonat és a link maradt (mint a DALI/DMX-nél). A tábla minden sora egy KNX-entitás: név (csak címke, a vezérlőn tárolódik), csoportcím, irány, DPT és a myIO-elem, amit névvel választasz legördülőből:
A tábla igazságforrása továbbra is a panel („Mentés a panelre”). A csoportcímet az eszköz
objektumához az ETS vagy az ETS nélküli letöltő (tools/knx_dl.py, System B) köti.
Az Ext-KNX panellel szerelt vezérlő KNX IP-illesztőként is működik: az ETS6 a helyi hálózaton át, a panel KNX-buszán programozza a KNX-eszközöket (egyedi cím, applikáció-letöltés, csoport- és buszmonitor) – külön USB-illesztő nélkül. Bekapcsolás: Bővítők oldal → KNX-csoportcímek szekció → KNXnet/IP illesztő (ETS). A kapcsoló alapból KI: a KNXnet/IP-tunnel hitelesítés nélküli (ez a szabvány tulajdonsága), ezért csak a telepítés idejére kapcsold be.
Az Ext-DALI panel egy DALI-rendszerekkel együttműködő átjáró: a buszán lévő lámpák (driverek) a Link → DALI oldalon vehetők fel, és egy-egy kimenet-csatornához (P-azonosító) csatolhatók – a csatolt lámpa a Kimenetek oldal, az app, az időzítő, a Flow és a termosztát szemével közönséges dimmer. Panelenként 64 rövidcím + 16 csoport + broadcast a lehetséges célok száma; a nyilvántartás a vezérlőn él (dali.jsn). A panel beépített, DIP-pel letiltható buszápot is ad (15 V, ~200 mA); egy buszon mindig CSAK EGY táp lehet.
Beüzemelés: 1. Busz átvizsgálása (a panel lekérdezi a 0..63 rövidcímet, ~3 s), 2. a talált címek Felvesz gombbal végpontok lesznek (a driver paramétereit a vezérlő azonnal beolvassa), 3. Kiosztás: a még csatolatlan végpontok a poolból (tól–ig) kapnak szabad csatornát – vagy a Csatorna oszlopban kézzel választasz. Csak nem-raszteres csatorna csatolható: a DALI-panel saját 16-os blokkja és az SQ fölötti virtuális csatornák (a genconfigban a PCAQ az SQ fölé emelve ad többet); a pool alapértéke a tartomány vége. Csatoláskor a csatorna PWM-je bekapcsol. Új, cím nélküli drivereknek a Felcímzés („csak a címtelen eszközök”) oszt rövidcímet; a „MINDEN eszköz” mód mindent újracímez (a régi címek elvesznek!).
Csoport és broadcast = parancs. Egy csoport- vagy broadcast-végpont csatornájának kapcsolása mindig kimegy a buszra (KI akkor is, ha a csatorna már KI volt), és a vezérlő a tag-lámpák csatorna-értékét a várt értékre írja, így a Kimenetek oldal a valós állapotot mutatja. A tagságot a rövidcím- végpontok Csoportok sorában állítod (a driverből olvasott tagsághoz képest narancs az eltérés), és az „Ír a driverbe” írja ki. Rövidcím-végpont a csatornája értékét változáskor küldi.
Paraméterek (a vezérlőn élnek, „Ír a driverbe” írja a lámpába, „Olvas” tölti be a lámpáét): fade-idő (0..15 kód = nincs…90 s), fade-ráta, power-on szint (tápvisszatérés utáni fényerő; gyárilag gyakran 254 = minden felkapcsol – ajánlott 0), buszhiba-szint (a busz kiesésekor; ajánlott 255 = marad), min/max, dimmelési görbe (LED-drivernél log/lin), csoport-tagság; olvasva: eszköztípus, fizikai minimum. Rövidcím-csere, driver-reset és Azonosítás (1,5 s teljes fény) gombbal. Egyszerre minden lámpába: a broadcast (vagy csoport) soron beállított paramétereket az „Ír a driverbe” egyetlen broadcast-paranccsal írja az összes tag-lámpába, a tag-sorok átveszik és újraolvasódnak (a driver által elutasított érték, pl. a fizikai minimum alatti MIN, narancs jelzéssel látszik).
Egészség-poll (panelenként kapcsolható): a panel körbekérdezi az ismert lámpákat. „Státusz” módban jelzi a lámpahibát, és tápvesztés után (power-cycle bit) magától visszaállítja a lámpa várt fényerejét; „státusz + szint” módban a tényleges fényerőt is olvassa (ha másik DALI-vezérlő is van a buszon). A státusz-blokk élőben mutatja a busz-feszültséget, a belső tápot, a hiccup-ot, a számlálókat, a lámpahibás és nem válaszoló címeket (a „nem válaszol” két egymás utáni kimaradt válasz után jelez).
Idegen vezérlő átvétele 4.8.7+: „státusz + szint” poll mellett a vezérlő a háttérben (5 s-enként) elkéri a paneltől a lámpák friss fényerejét – friss az, amit a panel az utolsó szint-parancs óta olvasott –, és ha az eltér a csatorna értékétől (a driver MIN/MAX-ra vágása nem számít eltérésnek), akkor azt egy másik DALI-vezérlő (nyomógomb-modul, másik mester) állította: a csatolt csatorna értéke követi, parancs nem megy vissza a buszra. Saját kapcsolás után 3 s-ig, fade közben és nem válaszoló lámpán nincs átvétel. A végpont-sorban az Érték mellett „⇐ %” mutatja a driver friss szintjét (narancs, ha eltér). A driverből olvasott paraméterek (narancs „≠” jelzés) újraindítás után is megmaradnak.
Korlátok: csak kimenetek (DALI-2 nyomógombok és szenzorok későbbi kör); a csoport-csatorna szoftveres PWM-fade-je nem megy ki a buszra (a DALI fade-idő a driveré); a panel egyetlen vezérlő a buszon (multi-master csak DALI-2 képes installációval). A „DALI” a DiiA védjegye: a panel DALI-rendszerekkel együttműködik, tanúsítás nélkül.
Az Ext-DMX panel egy DMX512-átjáró: az RS485-bővítőbuszon ül, és a saját DMX-kimenetén folyamatosan (másodpercenként ~40-szer) adja az 512 slotos univerzumot a rákötött eszközöknek (LED-dekóderek, dimmerek, színváltók, mozgófejek). A Link → DMX oldalon a lámpatesteket a DMX-kezdőcímükkel (1..512, az eszközön DIP-kapcsolóval vagy menüben beállítva) és típusukkal (dimmer 1 csatorna, RGB 3, RGBW 4, általános 1..16) vesszük fel, és minden csatornájukat egy-egy kimenet-csatornához (P-azonosító) csatoljuk – a csatolt csatorna a Kimenetek oldal, az app, az időzítő, a Flow és a termosztát szemével közönséges dimmer, az értéke a slotra megy (kezdőcím + csatorna-sorszám). A vezérlő csak a változásokat küldi a panelre; a panel tartja a képet, és mester-vesztéskor (5 s csend) beállítás szerint tartja vagy elsötétíti.
Mi a DMX512? Színpadi és építészeti világítás-vezérlő busz: RS-485 jelpár (D+/D−, gyakran árnyékolt sodrott érpár), láncolva (eszközről eszközre, nem csillagban), a lánc végén 120 Ω-os lezáróval; csatlakozó: 5- vagy 3-pólusú XLR, RJ45 vagy sorkapocs (a panelen D+ · D− · GND sorkapocs; XLR-hez: 1 = GND, 2 = D−, 3 = D+). A busz egyirányú: a vezérlő ad, az eszközök hallgatnak – nincs felderítés, nincs visszajelzés, a kezdőcímet az eszközön kell beállítani és itt beírni. Egy eszköz a kezdőcímétől annyi egymás utáni slotot használ, ahány csatornája van (RGBW-dekóder: 4). Két eszköz slotjai nem fedhetik egymást.
Beüzemelés: (1) genconfig: expanders[].type: "dmx" a panel címén →
páros M4+M7 flash (proto v11); (2) a panel online a Bővítők oldalon; (3) Link → DMX: lámpatest felvétele
(kezdőcím + típus) → „Kiosztás” vagy kézi csatolás → a csúszka mozgatja a lámpát; a Teszt gomb
1,5 s-ra teljes fényre viszi a lámpatest minden csatornáját (így azonosítható, melyik eszköz hol van);
Blackout = mind az 512 slot 0. A panel-beállítások (slot/keret, BREAK/MAB, failsafe, DE/CON
polaritás, keret-ütem) a panelen mentődnek.
Korlátok: csak kimenet (RDM-felderítés és visszaolvasás későbbi kör); a DMX-csatorna 8 bites (0..255 = 0..100 %), 16 bites finomcsatornákat nem párosít; a DMX-panel saját 16-os raszter-blokkja és az SQ fölötti virtuális csatornák csatolhatók (DALI-végpontok csatornái nem). A panel prototípusa Ext16-panelen is futtatható (J5 Nextion-fejléc + 5 V-os MAX485-modul).
Az Ext-RS485 panel (ugyanaz a vas, mint az Ext-DMX, csak más firmware-szereppel) Modbus RTU mesterként ül a saját, galvanikusan leválasztott RS-485 portjával egy Modbus-buszon, és lekérdezi a rákötött eszközöket: fogyasztásmérőket (Eastron SDM120/230/630), invertereket, hőszivattyúkat, ipari szenzorokat. A mért értékek univerzális szenzorokba kerülnek – ott látja őket a termosztát, a napló és grafikon, a Flow, a riasztó, az MQTT és az app, pontosan mint bármely más szenzort –, a vezérlő kimenetei pedig Modbus-regisztereket írhatnak (coil/holding: alapjel, üzemmód). A busz a vezérlőtől független ütemben megy: a panel kérdez, a vezérlő csak a kész értékeket kapja az RS485-bővítőbuszon.
Mi a Modbus RTU? Ipari lekérdező protokoll RS-485 jelpáron (A/B, sodrott érpár, lánc, a végeken 120 Ω): egy mester kérdez, a megcímzett szolga (1..247) válaszol. Az eszköz adatai 16 bites regiszterekben és bitekben vannak (holding/input regiszter, coil, diszkrét bemenet); a protokoll teljesen szabványos, de hogy melyik regiszterben mi van (feszültség, teljesítmény, SOC…) és milyen formában (16/32 bites egész, lebegőpontos, szó-sorrend, tízes skála), az eszközfüggő – ezt írja le a regisztertérkép. A myIO ezt a térképet adatként kezeli: a panel egy általános értelmező, új eszközhöz nem kell firmware, csak a tábla sorai (presetből vagy kézzel).
A tábla: blokkok (egy-egy Modbus-kérés: slave, funkció, 0-alapú kezdőcím, darab, periódus – több szomszédos regiszter egy kérésben), mezők (egy érték a blokkból: eltolás, típus, szó-sorrend, skála ×10^n, opcionális SunSpec skálafaktor-regiszter → cél univerzális szenzor, névvel), író-slotok (a panel saját 16-os kimenet-blokkjának k. csatornája → coil/holding: relé-bitnél ki/be → off/on érték, PCA-nál 0..255 → alsó..felső lineárisan, opcionális periodikus újraírás) és a busz-beállítások (baud, keret, timeout, újrapróbálás, kérésköz). A tábla a panel flashében él (módosítás után 8 s-cel automatikus mentés, vagy a gombbal azonnal); a nevek a vezérlőn (modbus.jsn). A preset-könyvtár (SDM120/230/630, XY-MD02 ellenőrzött; Deye, Growatt, Huawei, SunSpec kiindulás) egy kattintással tölti a sorokat a megadott slave-címmel – utána a mezőket szenzorokhoz csatolod.
Beüzemelés: (1) genconfig: expanders[].type: "modbus" a panel címén → páros M4+M7 flash;
(2) a panel online a Bővítők oldalon (Ext-RS485/Modbus); (3) Link → Modbus: busz-beállítás (a mérő kijelzőjén látható
baud/cím/paritás szerint), preset vagy kézi blokk + mezők → az élő érték a sor végén megjelenik → cél-szenzor választása;
(4) a szenzor neve/típusa a Szenzorok oldalon. Cím-keresés és nyers kérés a hibakereséshez. Ha nincs válasz:
A/B polaritás (az Eastron mérők A/B jelölése fordított a szokásoshoz képest!), baud/paritás, lezárás.
A/B polaritás panel-fw 0.2+: a busz-beállítások közt választható – normál (J12.1 = D+ / A, J12.2 = D− / B), cserélt (a panel szoftverből cseréli fel a két vezetéket, átkötés nélkül) vagy automatikus: ha egyik eszköz sem válaszol, a panel polaritást vált, és az első érvényes válasznál (kivétel-válasz is) rögzít. Rögzítés után csak akkor vált újra, ha minden blokk elnémult (3 kimaradt kör) – egy kiesett eszköz miatt vegyes buszon nem. Legalább egy olvasó blokk kell hozzá. A választó mellett az élő állapot: normál/cserélt, keresés/érzékelve, váltások száma. Szűz panelen az automatikus az alap; a meglévő beállítás frissítéskor nem változik. Eastron mérőnél (Eastron A = −) a fix bekötés: J12.1 → Eastron B, J12.2 → Eastron A.
SDM-mérő a Modbus-panelen 4.18.13+ · panel-fw 0.3+: a mező célja az univerzális szenzor mellett az SDM-mérő változója is lehet (SDM P/U/I/S/Q/PF/φ, L1–L3) – ugyanaz, amit eddig a soros SDM-olvasó töltött: az Energiamenedzser, a fogyasztás-vezérelt kimenetek (aktivátor 201–221), a PLC-motor és az MQTT innen olvas. Az SDM120/SDM630 presetnél az „az SDM-változókba” pipa ezt automatikusan beállítja. Automatikus felismerés: ha a panel táblája teljesen üres (nincs blokk, mező, író-slot) és a „SDM-mérő automatikus felismerése” be van pipálva (alapból be), a panel 5 s után Eastron-mérőt keres az 1-es címen – a mostani beállítással, majd a szokásos baud/keret-párokkal (9600, 2400, 19200, 4800, 38400, 1200 · 8N1/8E1/8N2), automatikus A/B mellett mindkét polaritással. Az azonosítás: az L1-feszültség 50–500 V és a frekvencia 40–70 Hz. Találatkor a panel maga írja és menti a táblát: egy 42 regiszteres blokk a 3 fázis P/U/I/S/Q/PF/szög értékével (a fázisszámot a mérő típuskódja dönti el, nem a pillanatnyi feszültség: az SDM630 akkor is 3 fázissal kerül be, ha induláskor csak L1 van fent – pl. lecsapott kismegszakító –, az L2/L3 a visszatéréskor magától töltődik; egyfázisú típusnál, pl. SDM120, csak L1), plusz frekvencia és import/export kWh cél nélkül; a busz-beállítás a megtalált baudra és polaritásra áll. Nincs találat: 30 s múlva újra (ártalmatlan olvasás az 1-es címre). Ha az üres táblát kézzel töltenéd, vagy az 1-es címen más eszköz van, vedd ki a pipát.
Eszköz-kártyák 4.19.1+: a Modbus oldal a panel tábláját slave-cím szerint csoportosítja. Fölül a busz-kártya (busz-beállítások, A/B polaritás, automatikus SDM-felismerés, státusz, mentés/újraolvasás/törlés, a panel-tábla exportja/importja) és a kapacitás-sáv (blokk 2/16 · mező 24/64 · író-slot 0/32 – a panel keretéhez mérve, régi panel-firmware-rel 8/32/16; 80 % fölött sárga, telinél piros). Alatta eszközönként egy összecsukható kártya: a fejlécen a név, a sablon, a sorok száma, a blokk-pipák (✓ = az utolsó kérés sikerült) és 2–3 fő élő érték; benne az eszköz blokkjai, mezői és író-slotjai (a mező blokk-választója csak az eszköz blokkjait kínálja, az új sor a slave-címmel előtöltve). Az eszköz neve (max 24 karakter) és a sablonja a vezérlőn él (modbus.jsn); az automatikusan felismert mérő „Eastron SDM (auto)” néven jelenik meg, amíg el nem nevezed. Műveletek a kártyán: Sablon betöltése erre a címre, Mentés sablonként, Cím módosítása (az eszköz minden blokkja és író-slotja az új címre kerül) és Eszköz törlése (a blokkjaival, a blokkok mezőivel, az író-slotjaival és a neveivel). A kártyák nyitottságát a lap a böngésző-fülön belül megjegyzi.
Sablon-könyvtár 4.19.1+: a sablon egy eszköz regisztertérképe adatként (blokkok, mezők névvel/egységgel/SDM-céllal, író-slotok; JSON). Egy listában három forrás: beépített (a web-felületben: SDM120/230/630, XY-MD02 ellenőrzött; Deye, Growatt, Huawei, SunSpec kiindulás), CDN (okoslak.hu/ext2/modbus/index.json + eszközönként egy JSON – új eszközhöz nem kell firmware- vagy felület-frissítés) és saját (a vezérlő /modbus/*.json fájljai). Eszköz felvétele (a sablon-kártyán): sablon + slave-cím (+ „a busz-beállításokat is”, „az SDM-változókba”) → a sorok a következő szabad helyekre kerülnek, az eszköz neve és sablonja beíródik. Mentés sablonként (az eszköz kártyáján): az eszköz sorai JSON-ba → a vezérlő /modbus/ mappájába (saját sablon, a listában „saját”) és letöltésre; az azonosító a fájlnév (a-z, 0-9, _ -, max 16). A saját sablon a listából törölhető; a letöltött fájl másik vezérlőre a fájlkezelővel (/modbus/) vihető át, vagy beküldhető a myIO CDN-könyvtárába. Panel-tábla export/import (a busz-kártyán): a teljes tábla egy JSON-ban (biztonsági mentés, panel-csere) – az import a mostani táblát törli és az importáltat tölti be, a kereten túli sorok kimaradnak.
Író-slot forrása – elem-választó 4.19.1+: az író-slot forrása a panel saját csatornája (k < 16: relé-bit k ki/be, PCA k 0..255 – a vezérlő kimenet-rasztere viszi) VAGY a vezérlő bármely eleme a nevével választva: relé / logikai kimenet, Kimenet (PCA), FET (FET-es vezérlőn). Ilyenkor a vezérlő tolja a szintet a panelnek (változásra és 10 s-onként), a leképezés választható: be/ki → ki/be érték (coil vagy regiszter), vagy szint 0..255 → alsó..felső lineárisan. Forrás nélküli push-slot nem ír. Régebbi vezérlő-firmware-en az elem-ID számmal adható meg.
Gyors blokk (×0,1 s) és eseményvezérelt frissítés 4.22+ · panel-fw 0.7+: a vezérlő teljesítmény-szabályzója (Energiamenedzser, fogyasztás-vezérelt kimenetek, 0,1 s-os ellenőrzési ütem) a lehető legfrissebb mérőadatot kapja. A blokk-sor „×0,1 s” pipájával a periódus egysége 0,1 s lesz (1..255 → 0,1..25,5 s), és a panel minden friss értéket azonnal jelez a vezérlőnek: az nem vár az 1 s-os lekérdezési ütemre, hanem rögtön lehúzza – a mérő regiszter-frissítése után ~0,1–0,15 s-cel az érték a szabályzónál van (eddig 1,5–3 s). A kijelzés (élő értékek a lapon) nem gyorsul, nem is kell. Egy kérés nem lehet rövidebb a busz átviteli idejénél: 9600 baudon a 42 regiszteres SDM-blokk ~0,16 s, ilyenkor a blokk egyszerűen hátról-hátra megy – vagy 38400 baud a mérőn, vagy egy külön kis gyors blokk (P L1–L3: FC4 12..17, 6 regiszter, ~30 ms) 0,1 s-ra, a nagy marad 1 s. A „gyors P” sablonok (SDM630 / SDM120) így vannak felépítve: a P-blokk 0,1 s, a feszültség/áram 1–2 s, az energia-számlálók 2–5 s. A gyors blokk a többi blokkot nem éhezteti (körbejárás), a teljes lánchoz a panel-firmware 0.7+ ÉS a vezérlő 4.22+ kell (páros M4+M7 flash: régi M4-gyel a gyors blokk megy, de a vezérlő 1 s-onként húz). Régi panel-firmware-en a pipa nem jelenik meg, a sablon gyors blokkja másodpercben megy.
Korlátok: 16 blokk, 64 mező és 32 író-slot panelenként (panel-fw 0.4+ és vezérlő 4.19.0+; régi panel-firmware-rel 8/32/16 – a kapacitás-sáv mutatja), max 16 nevesített eszköz; egy panel egy busz-beállítás (eltérő baudú eszközökhöz két panel); a szenzor-út tized-egységre kerekít (energia-számlálónál 4,5 értékes jegy – a pontos érték a Modbus oldalon látszik); szekvenciát kívánó eszközök (bejelentkezés, read-modify-write) a nyers kéréssel kezelhetők. A panel prototípusa Ext16-panelen is futtatható (J5 fejléc + M5 Unit RS485 modul).
A Bővítők oldal a beállítás-oldalak kártyás nyelvén beszél: bővítőnként egy kártya, cím szerint rendezve (a cím a panel DIP-kapcsolóin áll). A kártya fejlécén a cím, a típus, a panel firmware-verziója és az online/OFFLINE jelvény látszik; kattintásra lenyílnak a panel paraméterei (azonosítás, failsafe/önálló mód, AUX-lábak, program). A típust a panel maga mondja meg bejelentkezéskor (Ext16, Ext-KNX, később Ext-DALI és Ext-WiSUN), nem a vezérlő konfigja – ha a kettő eltér, a kártyán narancs „konfig: …” jelvény figyelmeztet (rossz cím-DIP vagy elavult konfig).
A vezérlő megjegyzi, amit egyszer online látott egy címen (típus, firmware, a panel egyedi
azonosítója – UID –, az utolsó látás ideje, a bejelentkezések száma), ezért egy kiesett panel offline is a
listában marad, az utolsó látás idejével. Amelyik címen még soha nem jelentkezett be semmi, az nem
jelenik meg – a lista tehát mindig azt mutatja, ami tényleg a buszon van vagy volt. Egy leszerelt panel
kártyája az Elfelejt gombbal vehető ki (csak offline panelnél; a cím failsafe/AUX beállításai
megmaradnak, és ha a panel újra bejelentkezik, ismét megjelenik). Panelcserét a vezérlő az UID-ból
ismer fel: az eseménynaplóba System,Expander,NEW/IDENT/FORGET sor kerül.
Az Ext-RS485 panel egyetlen firmware-képben hordozza mindkét szerepét: DMX512-kimenet (lámpatestek, Link → DMX) vagy Modbus RTU mester (mérők, inverterek, szenzorok, Link → Modbus). A szerep a panel flashében él, a másik szerep beállításaival együtt (DMX-beállítás, Modbus-tábla) – váltáskor ezek megmaradnak; szűz panel alapja a Modbus + automatikus SDM-felismerés. A Bővítők oldalon a panel kártyáján a Szerep szekció mutatja a mostanit, és a választó + Váltás (mentés + újraindítás) gombbal váltható: a panel menti az új szerepet, újraindul, és az új típussal jelentkezik be – a vezérlő ebből dönt futásidőben (DMX-univerzum / Modbus-tábla, a /dmx és /modbus oldal, a kimenet-jelvények); a genconfig típusa (dmx / modbus / az új rs485) csak a kiindulás, amíg a panel nem jelentkezett. A régi, egyszerepű panel-firmware-rel (DMX 0.1, Modbus ≤ 0.4) a váltó nem jelenik meg – a panelt az univerzális képre kell frissíteni (a régi DMX-beállítás és a Modbus-tábla átjön).
Az Optán a bővítők az RS-485 bővítőbuszon ülnek. A GIGA V4-nek nincs RS-485 busz-portja, ezért ott az Ext-RS485 panel J13 (AUX) kapcsa a bejárat: a J13 a panel második expbus-portja (3,3 V TTL, 115200 8N1), és a GIGA X9 sorkapcsára (D0/D1 = Serial1) köthető pont-pont: X9.9 TX → J13.3 RX, J13.2 TX → X9.8 RX, GND → GND (J13.1 3V3 és J13.5 P1+5V szabadon marad).
expanders[] listája a GIGA-eszközön is kitölthető – csak átjáró-típusok (knx / dali / dmx / modbus /
rs485), a címek folytonosan 1-től (a panel DIP-címét ehhez állítsd). A 16/16-os IO-panel a GIGA-n nem támogatott (a raszter natív).!pwm kimenet elnémul (az SDM-értékek a panel Modbus-táblájából jönnek,
lásd Modbus). Ha nem válaszol senki → a régi soros mód marad, és a vezérlő 60 másodpercenként újrapróbál, amíg a vonal
csendes (nincs SDM/dps keret) és nincs DewPoint PWM-kimenet beállítva.?m4. → explink: mode=… probes=… found addr=…; evlog System,Expander,LINK.A /expander oldalon a panel kártyáján: auto (alap) = a J13 második mester-port + híd; ki = a port nem fut (pl. ha a kapcson P1-okosmérő vagy más soros eszköz ül – ezek a módok későbbi körben jönnek). A váltás a panel flashébe ment és a panel ~0,3 s múlva újraindul. A „J13 állapot” sor: fut / mester-link él (3 s-on belül jött keret a J13-ról) / híd-forgalom / az RS-485 porton is van mester (két mester egyszerre = bekötési hiba). Ha ez a vezérlő a J13-on át beszél a panellel, a kikapcsolást elutasítja. A /modbus busz-kártyáján a „J13” jelvény ugyanezt mutatja.
Az Ext16-panel AUX1 sorkapcsára (5V_AUX – AUX1 – GND) DS18B20-családú hőmérők köthetők (a 4k7-es felhúzás a panelen van; parazita táp is megy). A panel maga keresi és olvassa a szenzorokat másodpercenként, az értékek a buszon jönnek a vezérlőre. A vezérlő minden szenzornak állandó azonosítót (ID) ad a ROM-kódja alapján – pontosan úgy, mint a GIGA/Due saját 1Wire-buszán: az ID panelcsere és a szenzor másik panelre költöztetése után is megmarad, ezért a busz-hosszak miatti „sakkozás” nem borítja a konfigot. Az ID-lista az „ID-k mentése” gombbal a sensors.bak fájlba menthető és vezérlőcserénél visszatölthető.
A hőmérő a megszokott hőmérő-slotba kerül, pontosan mint a GIGA saját 1Wire-buszán: a nevét a Bemenetek oldalon adod (ID szerint), látszik a kezelőpulton és az appban, naplózódik (t_log_ID grafikon), használható a termosztát-aktivátorban (1..100), a Flow-ban, MQTT-n és a csatolókon. Kiesett (kihúzott) szenzor a listában pirosan „nincs jelen”, a hőfoka a szokásos módon billeg (±127 °C) 255 s után; a regisztráció a „Töröl” gombbal vehető ki (az ID foglalt marad, nem csúsznak el a többiek).
Az Ext16 két AUX lába 0–10 V-os analóg kimenetként működik (keverőszelep, 0–10 V-os LED-driver, frekvenciaváltó; min. 10 kΩ terhelés). 0–10 V módban az AUX2 a panel Ki15, az AUX3 a Ki16 kimenetét tükrözi: azt a kimenet-csatornát a Kimenetek oldalon állítod be, mint bármelyik dimmert (név, PWM-jelölés, időzítő, Flow, csatoló, keverő-termosztát, fade), és a láb a kitöltést 0–9,9 V-ként adja ki (255 = 9,9 V). A Ki15/Ki16 sorkapocs ugyanezzel kapcsol, ezért oda az AUX használata alatt ne köss más terhelést. A Kimenetek oldalon az érintett csatornák mellett narancs „AUX2/AUX3” jelvény látszik. A mód (0–10 V / később ledszalag) a Bővítők oldalon váltható, és a panel saját memóriájába is elmentődik.
A Bővítők oldalon minden Ext16-panel kártyájára kattintva lenyílik a panel beállítás-szekciója. A panel failsafe-ben van, amíg boot után nem jön mester-keret, illetve ha a busz elhallgat (busz-timeout, alap 5 s). Négy failsafe-mód választható: a kimenetek tartása (HOLD), minden KI, a PRESET-kép felvétele, vagy az önálló mód, amikor a panel saját szabálytáblája veszi át a vezérlést. A mester „nincs” értéke önálló vezérlőt csinál a panelből (bootból önálló módban fut, de a buszon továbbra is válaszol).
Az önálló program az Opta beállításaiból származik, nem kell külön megírni: a bemenet-kötések (rövid/hosszú/elengedés → kimenet vagy csoport, időzítővel, késleltetéssel, dimmerrel), a kimenet-termosztátok (a panel saját 1Wire-hőmérőire), a védelem-párok, a csatolók és a csoportok közül azok kerülnek bele, amelyek forrása ÉS célja ugyanazon a panelen van (legfeljebb 48 sor). Az Opta minden mentés után újraszármaztatja és CRC-vel összeveti a panelen futóval; eltérésnél letölti. A ZÁR (program auto-frissítés kikapcsolva) megakadályozza az írást: a panel a legutóbb mentett programját futtatja – ez az Opta beállításaitól független, valódi safe-mód. A tábla a „Tábla megtekintése” gombbal olvasható formában ellenőrizhető.
Visszatéréskor (relink) az igazság-forrás dönti el a kimeneteket: alapból a panel képét veszi át az Opta (villanásmentes), átkapcsolva az Opta a saját képét kényszeríti rá. A helyi motor kapcsolódva beállítással a panel a fali gombokra az Opta mellett is azonnal kapcsol (gyorsabb, de az Opta döntése felülírhatja). Az elavult hőszenzor önálló módban alapból 50%-os billegtetéssel jár (fagy- és túlfűtés-védelem), vagy kikapcsolható. Az AUX2/AUX3 láb-módja (0–10 V vagy digitális ledszalag) is itt választható. A panel a programot és a beállításokat saját flash-memóriájában őrzi (áramszünet után visszaáll), és független watchdoggal (IWDG, ~1 s) védi magát.
Elérhetőség: ha egy bővítő leszakad a buszról, az azon lévő kimenetek, bemenetek, hőmérők és csoportok a Kimenetek/Bemenetek/Szenzorok oldalon és a főoldalon OFFLINE jelölést kapnak, a JSON-ban "off":1 mezőt, az MQTT-ben a exp/N/status téma és a Home Assistant discovery availability-listája jelzi (unavailable). Az eseménynapló System,Expander,LOST/BACK/PROG sorokat ír; a panel 1Wire-hőmérői azonnal hiba-billegtetésbe kerülnek, így az Opta termosztát-failsafe-je is indul.
Egy meglévő (vagy új) riasztóközpont két úton köthető a myIO-hoz. Az A) hardveres út minden központtal és minden myIO-vezérlővel működik, protokoll nélkül; a B) SIA DC-09 vevő a 4.5.8+ (GIGA/Opta) firmware szolgáltatása: a központ a myIO-nak jelent úgy, mint egy távfelügyeleti központnak, így zónánkénti, partíciónkénti információ is érkezik. A két út együtt is használható (állapot SIA-n, élesítés kulcsos zónán).
Minden riasztóközpontnak vannak programozható PGM-kimenetei (rendszerint nyitott kollektoros, GND-re kapcsoló tranzisztor-kimenetek, 50–100 mA) és zónabemenetei, amelyek közül egy „kulcsos kapcsoló” (keyswitch) típusra programozható. Ebből a két elemből áll a protokoll-független integráció:
A riasztóközpontok a távfelügyeletnek (ARC/CMS) IP-n a SIA DC-09 szabvány szerint jelentenek: egyszerű szöveges keretek TCP-n vagy UDP-n, amiket a vevő nyugtáz. A myIO ezt a vevő-szerepet tölti be: a központ „Távfelügyelet / Monitoring station / ARC” beállításában a myIO IP-címét és a beállított portot (alap 7080) add meg, protokollnak SIA DC-09-et (SIA-DCS vagy ADM-CID / Contact ID formátum – mindkettőt érti), titkosítás nélkül. Így minden esemény (élesítés, hatástalanítás, riasztás zónával, szabotázs, AC-/akku-hiba, kommunikációs hiba, bypass, periodikus teszt) beérkezik.
System,Alarm,<fiók>,<kód>,ri=,z=) — így az
err:1 jelű webhook-slotok is elsülnek —, az élesítés/hatástalanítás/
bypass/hiba I szinten; a periodikus teszt és az életjel csak számlálódik. Riasztásnál a
menüsorban értesítés jelenik meg; a felügyelet-vesztésnél szintén.?alarm., szimuláció: !siasim*Nri1/BA01.Gyártói beállítás-példák (a menünevek típus- és verziófüggők, a lényeg mindenütt ugyanaz: vevő IP + port, SIA DC-09, titkosítás ki):
A Network oldalon (4.x vezérlőkön) a hálózati kapcsolat állítható – a módosítások újraindítás nélkül életbe léptethetők:
myio-nappali →
http://myio-nappali.local.myIO-<név> hálóra csatlakozva (alap jelszó myio12345 – cseréld!)
a vezérlő a 192.168.3.1 címen elérhető, kábel nélküli üzembe helyezéshez. Alapból BE;
a USER gomb 5 mp-es nyomása (hálózat + felhasználók alapra) is visszakapcsolja.!ethernet init. soros parancs vagy az újraindítás). A Kimenő HTTP sorok a
Shelly- és Link-alrendszer közös kimenő kérés-slotját mutatják: normál esetben „–”, tartósan
HDRS/BODY állapot beragadt kérést jelez. Frissítés a ↻ gombbal.myio.local névfeloldás. Alapból KI; fix IP-vel
vagy IP-cím ismeretében nincs rá szükség.net.jsn sem tud kárt tenni).A vezérlő beállításai slotokba (rekeszekbe) menthetők – a slot lehet teljes biztonsági mentés vagy jelenet (pl. „Film-mód”, „Nyaralás”). A Save oldalon (vagy a menüsor gyorsmentőjével) választhatod ki, mit mentesz: mindent, vagy csak egy kategóriát (kimenetek, bemenetek, csoportok, általános beállítások…).
Az Evlog oldalon a vezérlő eseménynaplója látható napokra bontva: kapcsolások (ki kapcsolta: gomb, web, időzítő, termosztát…), hálózati események, hibák. A napló SD-kártyára íródik; kártya nélkül a belső tárolót kímélő, szűkített naplózás fut. A naplófájlok a fájlkezelőből le is tölthetők.
4.x A 4.x firmware naplójában minden sor egy szintjelzővel kezdődik: E (Hiba), I (Infó), D (Debug). A dátumválasztó alatt megjelenő Hiba / Infó / Debug jelölőnégyzetekkel szintenként ki-be kapcsolható az adott sorok megjelenítése. A szűrő csak a látszatra hat (a fájl változatlan marad), és csak az új, szintezett naplókra érvényes – a régi, dátummal kezdődő naplókat nem szűri, ott a szűrősáv meg sem jelenik.
Keresés és sor-kijelölés: a dátumválasztó alatti kereső mező a táblázatot a beírt szöveget tartalmazó sorokra szűri gépelés közben (a szint-szűrővel együtt érvényesül); a ✕ gomb törli a keresést. Egy sorra kattintva kijelölheted: a kijelölt sor a szűrők törlése vagy módosítása után is látható marad, és az oldal odagörget, így a környező naplósorok könnyen ellenőrizhetők. A soron újra kattintva a kijelölés megszűnik.
A /fm oldalon (admin) a vezérlő két tárolója kezelhető: a belső flash (Q) és az SD-kártya (S). Fájlok fel-/letöltése, törlés, átnevezés, másolás a két tároló közt. A 3.12-es (DUE) vezérlőn csak az SD-kártya panel él (azon nincs belső QSPI-tároló). Az Opta-vezérlőn4.5.9 nincs SD-foglalat: ott mindkét panel a belső tárolót mutatja, SD-kötet nem választható (a recovery-fájlkezelőben sem). Itt élnek a felület fájljai, a beállítás-mentések és a naplók. Csak akkor módosíts itt, ha tudod, mit csinálsz – a felület fájljainak törlése után a weboldal nem tölt be.
Recovery-fájlkezelő (/forcefm): a /forcefm címen mindig a firmware-be égetett, egyszerű fájlkezelő nyílik meg – a tárolón lévő felület-fájloktól függetlenül. Ez a mentőöv, ha a webes felület nem tölt be (üres, sérült vagy törölt tároló): róla feltölthetők a felület fájljai. Ugyanez az oldal jelenik meg a sima /fm címen is, ha a vezérlő nem találja a fájlkezelő felület-fájljait.
Kijelölés: egy sorra kattintva csak az az elem lesz kijelölve (a korábbi kijelölés törlődik). A sor eleji jelölőnégyzet-oszlopra kattintva – vagy Ctrl/⌘+kattintással a sor bármely pontján – a meglévő kijelölés megtartása mellett adhatsz hozzá elemet vagy veheted ki. Shift+kattintással az utoljára kattintott elemtől tartomány jelölhető ki (Ctrl+Shift a meglévő kijelöléshez adja hozzá a tartományt). A fejléc jelölőnégyzete mindent ki/be kapcsol. Dupla kattintás mappába belép, fájlt megnyit megtekintésre. Almappában a lista első sora a szokásos .. sor: egy kattintásra a szülő mappába lép (ugyanaz, mint a panel fejlécének ⇧ gombja).
Műveleti ablak: a hosszabb műveletek (másolás, mozgatás, feltöltés, törlés, zip) középre nyíló felugró ablakban futnak, folyamatjelző sávval és Mégse gombbal. Az ablak kerete jelzi az állapotot: kék keret = a művelet dolgozik, narancs keret = a művelet rád vár (megerősítés vagy felülírási kérdés). Ha a célhelyen már létezik azonos nevű fájl, a művelet fájlonként rákérdez: Felülír / Mindet felülír / Kihagy / Mégse. Amíg egy mappa listája töltődik, a panel fejlécében ⏳ jelzés látszik, és a panel nem kattintható – várd meg a lista megérkezését.
Letöltés zip-ben: egy kijelölt fájl közvetlenül töltődik le; ha több fájlt vagy mappát jelölsz ki, a 📥 zip gomb egyetlen zip-fájlba csomagolva tölti le őket. A kijelölt mappák a teljes tartalmukkal (almappákkal együtt) kerülnek a zip-be. A csomagolás a böngészőben történik, a vezérlőt csak a fájlok soros letöltése terheli.
Törlés: a kijelölt elemek rákérdezés után törlődnek. A mappák a teljes tartalmukkal együtt törölhetők (a megerősítő ablak külön figyelmeztet erre). A védett QSPI-slotokat (slot_0, boot-slot, illetve időzítő/gomb által hivatkozott slot) a vezérlő ilyenkor is elutasítja.
Feltöltés húzással: fájlokat a gépről a panelre húzva tölthetsz fel. Ha a fájlokat egy mappasorra húzod, abba a mappába kerülnek. Elengedés után egy felugró ablak mutatja, hány fájl hova kerül – a feltöltés csak az OK után indul.
Dátumoszlop: a fájlok módosítási ideje (a méret oszlop után, a sor végén). Az SD-kártyán mindig látszik; a QSPI-flash-en a korábbi firmware-ek nem tárolták, ezért az ott régebben írt fájloknál a dátum üres marad, amíg a fájl egyszer újra nem íródik. Szűkebb (tablet) nézetben a dátum és az idő két sorba törik, hogy a fájlnévnek több hely maradjon; kis (telefon) nézetben az oszlop rejtve van.
CSV-grafikon: ha pontosan egy .csv fájl van kijelölve, a műveletsávban megjelenik a 📈 grafikon gomb. Rákattintva a fájl egy felugró grafikon-nézetben nyílik meg (nagyítás egérrel/húzással, alul időtartomány-csúszka). Idősoros számadatokat tartalmazó CSV-k ábrázolhatók – ilyenek a szenzor- és fogyasztás-naplók (t_log, h_log, c_log, sdm_log); az eseménynapló (ev_log) szöveges, azt a Log oldalon érdemes nézni. Fejléces CSV-nél az oszlopnevek a fejlécből jönnek, fejléc nélkül C1, C2… néven jelennek meg a görbék.
Szinkron-menü (🔄 sync)4.4.3: két funkciót fog össze. (1) QSPI → SD tükör: a vezérlő a konfigurációt (slot-mappák + gyökér xml/csv/jsn/bak) – és a jelölő pipájával a htm/js webfájlokat is – átmásolja az SD-kártyára, így egy esetleges helyreállításnál (szűz QSPI, öngyógyító újraformázás) a friss állapot jön vissza, nem egy régi mentés. A tükör automatikusan is fut (6 óránként, csak konfig), a menüből azonnal indítható. Kártya nélkül (pl. Opta, ahol nincs SD-foglalat) a tükör-szakasz és a letöltés utáni „tükrözzük most?” kérdés nem jelenik meg4.5. Idegen kártyát (amin config van, de nincs mirror.tag) a tükör védelemből nem bánt – a menü ilyenkor felajánlja az örökbefogadást. Titkok (cloud/licenc-fájlok) soha nem kerülnek a kártyára. (2) Frissítés HTTP-ről: a webfájlok (js/htm) letöltése egy megadott CDN-fáról (pl. https://okoslak.hu/ext2/) és feltöltése az eszközre – a böngésző végzi. Elég a sima fa-URL-t megadni: a letöltő magától kipróbálja a közvetlen elérést, majd a cors.php segédproxyt (ha a tárhely a statikus fájlokon nem ad CORS-fejlécet), http-nél a https-t is. Ha a fán van files.jsn manifest (a tools/gen_web_manifest.py készíti), az új fájlok is települnek; manifest nélkül csak a meglévő fájlok frissülnek, méret-összevetés alapján. A manifestben szereplő méretnek egyeznie kell a letöltött fájléval: ha a fán egy fájlt a files.jsn újragenerálása nélkül cseréltek (elavult manifest), a letöltő azt hibaként jelzi és nem írja az eszközre; a mindent letölt pipa a méret-ellenőrzést kihagyva elfogadja. A letöltés után a menü felajánlja az SD-tükrözést, hogy a kártya is naprakész legyen.
A /sysdiag oldal (a 3.12-es DUE-n és minden 4.x/GIGA vezérlőn) a vezérlő belső állapotát mutatja élőben, másodpercenként frissülő grafikonokkal – a soros socket-monitor webes, áttekinthető változata. Panelek: W5500 socket-monitor (mind a 8 hardveres socket állapota + 60 másodperces történet-grafikon socketenként, a színek az állapotot jelölik: zöld = ESTABLISHED, kék = LISTEN, türkiz = UDP, sárga = beragadt CLOSE_WAIT/TIME_WAIT, szürke = szabad), memória (szabad SRAM gyűrű + min. watermark + trend), tárhely (QSPI-flash és SD-kártya kihasználtsága), M4 társmag (életjel + gombszkenner-hibaszámlálók), hálózat (link, RSSI, kimenő kérés-sorok) és boot & futásidő (reset oka, crash-fázis, uptime, loop/mp). A 3.12-es (DUE) vezérlőn a panelek szűkebb készlete él (socket-monitor, memória, boot & futásidő, I2C-diagnosztika); az M4-, QSPI- és WiFi-panel a 4.x vezérlők sajátja.
Erőforrás-kímélés: az oldal csak addig terheli a vezérlőt, amíg nyitva van és látszik. A grafikonok történetét a böngésző építi (nincs háttér-mintavételezés a firmware-ben), és ha az oldal háttérbe kerül (másik fül) vagy kikapcsolod az Auto-frissítést, a lekérdezés leáll – a vezérlő pár másodperc múlva „elengedi”. Ha több böngészőben is nyitva hagyod, a fejlécben figyelmeztetés jelenik meg, mert az mind terheli a vezérlőt: zárd be a feleslegeseket.
A mozgásérzékelő kontaktusát kösd egy bemenetre, a rövid eseményéhez rendeld a lámpa reléjét. A relén: Csak-be + időzítő (pl. 90 s). Minden mozgás újraindítja az időt.
FEL-relé és LE-relé, mindkettőn futásidőnyi időzítő (pl. 25 s), védelem-pár a kettőre. FEL-gomb rövid eseménye: FEL-relé váltás; LE-gomb: LE-relé váltás. Menet közben a másik irány nyomása biztonságosan irányt vált (a védelem előbb leállítja az ellenirányt).
A távoli (Shelly H&T vagy másik myIO) hőmérőt kösd egy univerzális szenzorba. A fűtés reléjén aktivátor = 300+ID, BE=18,0, KI=19,0. Állíts ±2,0 hibaértéket: ha a szenzor kiesik, a fűtés 50%-os ütemben, fagyvédelmi módban jár tovább.
A kapumotor indító-bemenetét relére kötve: a relé időzítője 1 s, Csak-be móddal. Bármilyen forrásból (gomb, app, időzítő) indítva a relé 1 másodperces impulzust ad.
Két időzítés: minden nap napnyugtakor „Kültéri fények” csoport BE; minden nap 00:00-kor ugyanez KI. Vagy: a kimenet aktivátora legyen a „nap” (255), művelete napnyugta – ekkor időzítés sem kell.
Az Emanager oldalon az 1. fázisra FEL-küszöb 5000 W, LE-küszöb 3500 W, a szinthez rendelt kimenet a bojler reléje. Főzés idején a bojler automatikusan kikapcsol, majd visszakapcsol, ha felszabadul a teljesítmény.
Nem találom az eszközt a hálózaton. Próbáld a http://<név>.local címet,
vagy nézd meg a routered eszközlistáját. Végszükségben az eszköz Wi-Fi AP módban
(myIO-… hálózat) közvetlenül is elérhető.
Egy elem nem látszik a főoldalon. Vagy nincs elnevezve (kapcsold be a SuperVisor-t és adj nevet), vagy a bejelentkezett felhasználónak nincs hozzá joga (22. fejezet).
Az időzítők rossz időben futnak. Ellenőrizd a General oldalon az időzóna-beállítást és az NTP-szinkron állapotát; napkelte/napnyugta esetén a földrajzi koordinátákat is. Pontosan egy óra eltérésnél az automatikus nyári időszámítás pipáját és a téli eltolást (Magyarország: 1) nézd meg.
A szenzorom „HIBA” állapotú és a relé kapcsolgat. Ez a failsafe: a szenzor nem küldött időben adatot. Ellenőrizd a küldő eszközt; a kapcsolgatás szándékos (fagyvédelem), a szenzor visszatértekor magától megszűnik.
Módosítottam valamit és elromlott. Töltsd vissza az utolsó jó mentést a Load oldalon (ezért érdemes minden nagyobb átállítás előtt menteni).
A vezérlő teljes funkcionalitása HTTP-n keresztül, programból is elérhető – saját alkalmazás, okosotthon-központ vagy script írható rá. A részletes, géppel is feldolgozható leírás külön dokumentumban található: myIO API-referencia letöltése (API_REFERENCE.md).