
A Nanoleaf egy Wi-Fi LED világítástermék-család — moduláris fali panelek, LED szalagok, izzók, állólámpák és ünnepi fényfüzérek — amelyek mindegyike ugyanazt a helyi REST API-t használja a TCP 16021 porton. Egyetlen TapHome sablon lefedi minden WiFi-n elérhető Nanoleaf terméket: a TapHome HTTP-n keresztül lekérdezi a vezérlőt a LAN-on, és az egész elrendezést egyetlen HSB lámpaként teszi elérhetővé színhőmérséklettel.
Támogatott modellek
| Termék | Modellkód | Megjegyzések |
|---|---|---|
| Light Panels (korábban Aurora) | NL22 | Érintés nélkül |
| Shapes Hexagons | NL42 | Érintésérzékeny |
| Shapes Triangles | NL47 | Érintésérzékeny |
| Shapes Mini Triangles | NL48 | Érintésérzékeny |
| Canvas (négyzetek) | NL29 | Érintésérzékeny |
| Elements Hexagons (fa hatású) | NL52 | Szűkebb CCT tartomány (1500–4000 K) |
| Lines | NL59 | Érintésérzékeny |
| Matter WiFi Essentials (izzók, LED szalagok, ünnepi fényfüzérek, állólámpa, A19) | — | Csak 3.0.10+ firmware; szigorúbb fényerő alsó határ és szűkebb CCT tartomány (2127–6535 K) |
A kizárólag Thread protokollos Nanoleaf Essentials változatok és a Nanoleaf Skylight nem támogatottak — a sablon olyan WiFi-n elérhető vezérlőt igényel, amely az Open API-t a 16021 porton beszéli.
Eszközfunkciók
Lámpa (HSB + színhőmérséklet)
A sablon egyetlen HSB lámpát tesz elérhetővé be/ki kapcsolás, fényerő, színárnyalat, telítettség és színhőmérséklet funkciókkal. Minden lekérdezési ciklusban (500 ms) a modul a következőt küldi:
| |
és a teljes eszköz-JSON-t a StatusJson egyéni változóban tárolja. Az egyes tulajdonságokhoz tartozó olvasási szkriptek ezután a gyorsítótárazott objektumból olvassák ki a mezőket:
- Be/ki —
state.on.value - Fényerő —
state.brightness.value(0–100), a TapHome 0,0–1,0 tartományára normalizálva - Színárnyalat —
state.hue.value(0–360°) — csak akkor olvasható, hastate.colorMode == "hs" - Telítettség —
state.sat.value(0–100) — csak akkor olvasható, hastate.colorMode == "hs" - Színhőmérséklet —
state.ct.value(Kelvinben) — csak akkor olvasható, hastate.colorMode == "ct"
Minden írás a PUT /api/v1/{authToken}/state végpontra megy, tulajdonságonkénti JSON törzzsel:
| |
A sablon 1800–6500 K tartományt deklarál a színhőmérsékletre — ez gyakorlati részhalmaza annak, amit a hardver valóban támogat. Az eszköz fizikai tartományán kívüli értékeket a Nanoleaf firmware csendben levágja (lásd Megjegyzések és korlátozások).
Színmód-kapuzás
A Nanoleaf vezérlők mindig pontosan a három színmód egyikében vannak:
colorMode | Jelentés |
|---|---|
hs | Színárnyalat/telítettség mód — a színárnyalat és telítettség értékek aktívak |
ct | Színhőmérséklet mód — a CCT érték aktív |
effect | Dinamikus jelenet fut |
A TapHome olvasási szkriptjei figyelembe veszik ezt: a színárnyalat és telítettség olvasások NULL értéket adnak vissza, ha a vezérlő ct vagy effect módban van, a színhőmérséklet olvasás pedig NaN értéket ad vissza, ha hs vagy effect módban van. Ez megakadályozza, hogy elavult, más módból származó értékek kerüljenek a dashboard-ra. Bármely színárnyalat vagy telítettség érték írása a vezérlőt hs módba kapcsolja, CCT érték írása pedig ct módba — mindkettő leállítja a futó effektet.
Konfiguráció
1. A vezérlő párosítása a Nanoleaf alkalmazásban
Szerelje fel a paneleket / izzót / szalagot, telepítse a Nanoleaf mobilalkalmazást, és csatlakoztassa a vezérlőt a helyi Wi-Fi hálózathoz az alkalmazás párosítási folyamatán keresztül. Jegyezze fel a vezérlő IPv4 címét — az alkalmazás az eszközbeállítások → Info alatt mutatja, vagy kiolvasható a router DHCP bérleti tábláján.
Rendeljen a Nanoleaf vezérlőhöz DHCP foglalást (vagy statikus IP-t), hogy a cím ne változzon a bérlet megújítása után. A TapHome sablon az IP-t az importparaméterekben tárolja, és nem fedezi fel automatikusan.
2. Open API token generálása
A Nanoleaf Open API egyszeri párosítást igényel a TapHome és a vezérlő között. A párosítás létrehoz egy állandó 32 karakteres auth_token-t, amely túléli az újraindításokat és firmware frissítéseket.
A Nanoleaf vezérlőn (a panelek esetén a kis inline egység, izzók / szalagok esetén maga az eszköz) tartsa lenyomva a be-/kikapcsoló gombot 5–7 másodpercig, amíg a fehér LED mintázatban villogni nem kezd. Az eszköz 30 másodpercig párosítási módban van.
A 30 másodperces ablakon belül küldjön egy üres
POSTkérést a párosítási végpontra — példáulcurl, PowerShell vagy Postman segítségével:1curl -X POST http://{controller-ip}:16021/api/v1/newA vezérlő így válaszol:
1{ "auth_token": "xxxKJISJCjY2hfAyilpyIOfGixxxx" }Másolja ki a 32 karakteres
auth_tokenkarakterláncot.
Ha az ablak a POST megérkezése előtt lejár, a végpont 403 Forbidden választ ad — tartsa lenyomva újra a be-/kikapcsoló gombot, és próbálja meg ismét.
Egyes Essentials kivitelek (izzók, szalagok) nem rendelkeznek fizikai gombbal. Ebben az esetben indítsa el a párosítást a Nanoleaf alkalmazás eszközbeállításaiból — az alkalmazás aktiválja a 30 másodperces ablakot Ön helyett.
3. A sablon importálása a TapHome-ba
- A TapHome-ban hozzon létre egy új PacketParser eszközt a Nanoleaf RGB light sablonból.
- Adja meg a vezérlő IPv4 címét az
ipAddressimportparaméterként. A port rögzítve 16021, nem kell módosítani. - Nyissa meg az eszköz tulajdonságait, keresse meg az
authTokenegyéni változót, és illessze be a 2. lépésben generált 32 karakteres tokent. - Mentés. A modul 500 ms-onként lekérdezi a
/api/v1/{authToken}/végpontot, és feltölti a HSB lámpát az aktuális állapottal.
Ha a token hibás vagy lejárt, minden olvasás 401 Unauthorized hibával végződik a TapHome naplóban.
Hálózati követelmények
- Csak kimenő TCP 16021 a TapHome CCU-tól a Nanoleaf vezérlőig. Nincsenek felhőhívások, MQTT bróker, HTTPS tanúsítványok.
- A CCU-nak és a vezérlőnek ugyanazon a LAN / VLAN hálózaton kell lennie. Ha a Wi-Fi és a vezetékes hálózat szegregált, adjon hozzá tűzfalszabályt, amely engedélyezi a TCP 16021-et közöttük.
- A Nanoleaf vezérlők a
_nanoleafapi._tcpszolgáltatást hirdetik mDNS-en keresztül. A sablon közvetlen IP-t igényel, de az mDNS felderítésre használható azavahi-browse -r _nanoleafapi._tcp(Linux) vagydns-sd -B _nanoleafapi._tcp(macOS) paranccsal.
A Nanoleaf Open API csak HTTP — nincs HTTPS és nincs átviteli titkosítás. LAN-on belül biztonságos, de soha nem szabad kitenni a nyilvános internetre. Ne továbbítsa a 16021 portot a routeren keresztül.
Megjegyzések és korlátozások
A színhőmérséklet tartománya a modellcsaládtól függ
A TapHome sablon 1800–6500 K értéket deklarál írható CCT tartományként. A mögöttes hardveres sáv családonként eltérő:
| Család | Hardveres CCT tartomány | Viselkedés a tartományon kívül |
|---|---|---|
| Light Panels, Shapes, Canvas, Lines | 1200–6500 K | Firmware által levágva |
| Elements Hexagons | 1500–4000 K | Firmware által levágva |
| Matter WiFi Essentials | 2127–6535 K | Firmware által levágva; 1800 K az alsó 2127 K határ alatt van, tehát az Essentials 2127 K-ra vág |
Az eszköz fizikai sávján kívüli érték írása nem okoz hibát — a vezérlő csendben a saját határértékét használja. Az Essentials-t célzó dashboard-ok tervezésekor részesítse előnyben a közös 2127–6500 K ablakba eső CCT értékeket.
Az Essentials elutasítja a fényerő = 0 értéket
A klasszikus vezérlők (Light Panels, Shapes, Canvas, Elements, Lines) elfogadják a brightness: 0 értéket. A Matter WiFi Essentials minimum 1 értéket vár el, és a 0-t HTTP 400-zal utasítja el. Egy Essentials izzó vagy szalag kikapcsolásához használja a be/ki csatornát ahelyett, hogy a fényerőt nullára állítaná.
A színárnyalat / telítettség / CCT olvasások NULL vagy NaN értéket adhatnak vissza
Mivel a hs és ct módok kölcsönösen kizárják egymást, és mindkettő inaktív futó effekt alatt, a rossz módból történő olvasások szándékosan NULL (színárnyalat / telítettség) vagy NaN (ct) értéket adnak vissza. Ez várt viselkedés, nem hiba. A színárnyalat / telítettség / ct írása visszaállítja a vezérlőt hs vagy ct módba, és az olvasások folytatódnak.
Egy token vezérlőnként, nem panelként
Egy többpaneles Shapes vagy Canvas elrendezés egyetlen TapHome eszköz. Az auth token vezérlő szinten kerül kiadásra, és lefedi az ahhoz csatlakoztatott minden panelt.
IPv6 mDNS instabilitás 8.5.2+ firmware-en
Az openHAB közösség jelentette, hogy az IPv6 mDNS rekordok ONLINE és OFFLINE állapotok között váltakoznak egyes 8.5.2+ firmware-ű vezérlőkön. Ha az mDNS felderítés instabil, állítson be fix IPv4 DHCP foglalást, és használja közvetlenül az IP-t — a TapHome sablon amúgy sem támaszkodik mDNS-re.
Hibaelhárítás
401 Unauthorized minden olvasásnál
Az authToken hibás, lejárt vagy visszavonásra került. Hozzon létre új tokent (tartsa lenyomva a be-/kikapcsoló gombot 5–7 másodpercig, és küldjön POST kérést a /api/v1/new végpontra), és illessze be az authToken egyéni változóba.
403 Forbidden token generálásakor
A 30 másodperces párosítási ablak bezárult. Tartsa lenyomva újra a be-/kikapcsoló gombot, amíg a LED mintázatban villogni nem kezd, majd azonnal küldjön POST /api/v1/new kérést.
A színárnyalat / telítettség NULL értéket mutat a dashboard-on
A vezérlő ct módban van, vagy effekt fut. Írjon be bármilyen színárnyalat vagy telítettség értéket, hogy a vezérlő visszaváltson hs módba, vagy állítsa be a színt a HSB választóval. A sablon nem tud színárnyalat / telítettség értéket leolvasni, ha az eszköz nem állít elő ilyet.
A színhőmérséklet NaN értéket olvas
A vezérlő hs módban van, vagy effekt fut. Írjon be CCT értéket a ct módra váltáshoz, vagy állítson be színhőmérsékletet a dashboard-ról. Ha effekt fut, állítsa le a Nanoleaf alkalmazásból (vagy írjon be bármilyen HSB / CCT értéket — ez is leállítja az effektet).
A fényerő-írás meghiúsul az Essentials-en
A Matter WiFi Essentials elutasítja a brightness: 0 értéket. Kikapcsoláshoz vezérelje a be/ki csatornát, ne a fényerőt írja 0-ra. Az 1–100 értékek minden modellen elfogadottak.
A vezérlő lekapcsolódik a 8.5.2+ firmware-en
Ha a TapHome CCU ismételten elveszíti a vezérlőt, rendeljen statikus IPv4 DHCP foglalást, és használja az IP-t az ipAddress importparaméterben — az IPv6 mDNS réteg instabil lehet ezen a firmware-ágon.
