
Nanoleaf je rodina Wi-Fi LED svítidel — modulární nástěnné panely, LED pásky, žárovky, stojanové lampy a vánoční řetězy — které všechny mluví stejným lokálním REST API na TCP portu 16021. Jediná šablona TapHome pokrývá každý WiFi dostupný produkt Nanoleaf: TapHome dotazuje ovladač přes HTTP v LAN síti a vystavuje celou sestavu jako jedno HSB světlo s teplotou barvy.
Podporované modely
| Produkt | Kód modelu | Poznámky |
|---|---|---|
| Light Panels (původně Aurora) | NL22 | Bez dotyku |
| Shapes Hexagons | NL42 | S dotykem |
| Shapes Triangles | NL47 | S dotykem |
| Shapes Mini Triangles | NL48 | S dotykem |
| Canvas (čtverce) | NL29 | S dotykem |
| Elements Hexagons (dřevěný design) | NL52 | Užší rozsah CCT (1500–4000 K) |
| Lines | NL59 | S dotykem |
| Matter WiFi Essentials (žárovky, LED pásky, vánoční řetězy, stojanová lampa, A19) | — | Pouze firmware 3.0.10+; přísnější dolní limit jasu a užší rozsah CCT (2127–6535 K) |
Verze Nanoleaf Essentials s výlučně protokolem Thread a Nanoleaf Skylight nejsou podporovány — šablona vyžaduje WiFi dostupný ovladač komunikující přes Open API na portu 16021.
Funkce zařízení
Světlo (HSB + teplota barvy)
Šablona vystavuje jedno HSB světlo s funkcemi zapnutí/vypnutí, jas, odstín, sytost a teplota barvy. V každém dotazovacím cyklu (500 ms) modul posílá
| |
a ukládá kompletní JSON zařízení do vlastní proměnné StatusJson. Čtecí skripty pro jednotlivé vlastnosti poté parsují pole z tohoto uloženého záznamu:
- Zapnutí/vypnutí —
state.on.value - Jas —
state.brightness.value(0–100), normalizováno do rozsahu TapHome 0,0–1,0 - Odstín —
state.hue.value(0–360°) — čteno pouze přistate.colorMode == "hs" - Sytost —
state.sat.value(0–100) — čteno pouze přistate.colorMode == "hs" - Teplota barvy —
state.ct.value(v Kelvinech) — čteno pouze přistate.colorMode == "ct"
Všechny zápisy jdou na PUT /api/v1/{authToken}/state s JSON tělem pro každou vlastnost:
| |
Šablona deklaruje 1800–6500 K jako rozsah teploty barvy — praktickou podmnožinu toho, co hardware skutečně podporuje. Hodnoty mimo fyzické pásmo zařízení jsou tiše oříznuty firmwarem Nanoleaf (viz Poznámky a omezení).
Rozlišování barevných režimů
Ovladače Nanoleaf jsou vždy v jednom ze tří barevných režimů:
colorMode | Význam |
|---|---|
hs | Režim odstínu/sytosti — hodnoty odstínu a sytosti jsou aktivní |
ct | Režim teploty barvy — hodnota CCT je aktivní |
effect | Běží dynamická scéna |
Čtecí skripty TapHome tento stav respektují: čtení odstínu a sytosti vrátí NULL, když je ovladač v režimu ct nebo effect, a čtení teploty barvy vrátí NaN, když je v režimu hs nebo effect. Tím se zabrání, aby se do dashboardu dostávaly zastaralé hodnoty z jiného režimu. Zápis jakékoliv hodnoty odstínu nebo sytosti přepne ovladač do režimu hs, zápis hodnoty CCT ho přepne do ct — oba zápisy zastaví běžící efekt.
Konfigurace
1. Spárování ovladače v aplikaci Nanoleaf
Namontujte panely / žárovku / pásek, nainstalujte mobilní aplikaci Nanoleaf a připojte ovladač k lokální Wi-Fi síti pomocí párovacího procesu v aplikaci. Poznamenejte si IPv4 adresu ovladače — aplikace ji zobrazí v nastavení zařízení → Info, nebo ji lze přečíst z tabulky DHCP záznamů routeru.
Přiřaďte ovladači Nanoleaf DHCP rezervaci (nebo statickou IP), aby se adresa po obnovení nájmu neměnila. Šablona TapHome ukládá IP v parametrech importu a neaktualizuje ji automaticky.
2. Vygenerování Open API tokenu
Nanoleaf Open API vyžaduje jednorázové spárování mezi TapHome a ovladačem. Toto párování vygeneruje permanentní 32znakový auth_token, který přežije restarty a aktualizace firmwaru.
Na ovladači Nanoleaf (malá jednotka v lince pro panely, nebo samotné zařízení u žárovek / pásků) podržte tlačítko zapnutí/vypnutí 5–7 sekund, dokud bílá LED nezačne blikat vzorem. Zařízení je nyní v párovacím režimu po dobu 30 sekund.
Do 30sekundového okna odešlete prázdný
POSTna párovací endpoint — například pomocícurl, PowerShell nebo Postman:1curl -X POST http://{controller-ip}:16021/api/v1/newOvladač odpoví:
1{ "auth_token": "xxxKJISJCjY2hfAyilpyIOfGixxxx" }Zkopírujte 32znakový řetězec
auth_token.
Pokud okno vyprší před přijetím POST, endpoint vrátí 403 Forbidden — znovu podržte tlačítko zapnutí/vypnutí a zkuste znovu.
Některé formáty Essentials (žárovky, pásky) nemají fyzické tlačítko. V takovém případě spusťte párování z nastavení zařízení v aplikaci Nanoleaf — aplikace aktivuje 30sekundové okno za vás.
3. Import šablony v TapHome
- V TapHome vytvořte nové PacketParser zařízení ze šablony Nanoleaf RGB light.
- Zadejte IPv4 adresu ovladače jako parametr importu
ipAddress. Port je pevný 16021 a není třeba ho měnit. - Otevřete vlastnosti zařízení, najděte vlastní proměnnou
authTokena vložte 32znakový token vygenerovaný v kroku 2. - Uložte. Modul bude dotazovat
/api/v1/{authToken}/každých 500 ms a naplní HSB světlo aktuálním stavem.
Pokud je token nesprávný nebo vypršel, každé čtení selže s 401 Unauthorized v logu TapHome.
Síťové požadavky
- Pouze odchozí TCP 16021 z TapHome CCU k ovladači Nanoleaf. Žádné cloudové volání, žádný MQTT broker, žádné HTTPS certifikáty.
- CCU a ovladač musí být ve stejné LAN / VLAN síti. Pokud jsou Wi-Fi a drátové sítě oddělené, přidejte pravidlo firewallu povolující TCP 16021 mezi nimi.
- Ovladače Nanoleaf inzerují službu
_nanoleafapi._tcppřes mDNS. Šablona vyžaduje přímou IP, ale mDNS lze použít při objevování pomocíavahi-browse -r _nanoleafapi._tcp(Linux) nebodns-sd -B _nanoleafapi._tcp(macOS).
Nanoleaf Open API je pouze HTTP — neexistuje HTTPS ani šifrování přenosu. Je bezpečné v rámci LAN sítě, ale nikdy nesmí být vystaveno veřejnému internetu. Nepřesměrovávejte port 16021 přes router.
Poznámky a omezení
Rozsah teploty barvy závisí na rodině modelu
Šablona TapHome deklaruje 1800–6500 K jako zapisovatelný rozsah CCT. Hardwarové pásmo se liší podle rodiny:
| Rodina | Hardwarový rozsah CCT | Chování mimo rozsah |
|---|---|---|
| Light Panels, Shapes, Canvas, Lines | 1200–6500 K | Oříznuto firmwarem |
| Elements Hexagons | 1500–4000 K | Oříznuto firmwarem |
| Matter WiFi Essentials | 2127–6535 K | Oříznuto firmwarem; 1800 K je pod dolní hranicí 2127 K, takže Essentials oříznou na 2127 K |
Zápis hodnoty mimo fyzické pásmo zařízení nevyvolá chybu — ovladač tiše použije vlastní limit. Při návrhu dashboardů zaměřených na Essentials preferujte hodnoty CCT ve společném okně 2127–6500 K.
Essentials odmítají jas = 0
Klasické ovladače (Light Panels, Shapes, Canvas, Elements, Lines) akceptují brightness: 0. Matter WiFi Essentials vynucují minimum 1 a odmítají 0 s HTTP 400. Pro vypnutí žárovky nebo pásku Essentials použijte kanál zapnutí/vypnutí místo nastavení jasu na nulu.
Čtení odstínu / sytosti / CCT může vrátit NULL nebo NaN
Protože režimy hs a ct jsou vzájemně exkluzivní a oba jsou neaktivní během běžícího efektu, čtení z nesprávného režimu záměrně vrací NULL (odstín / sytost) nebo NaN (ct). Jde o očekávané chování, ne o chybu. Zápis hodnoty odstínu / sytosti / ct vrátí ovladač do režimu hs nebo ct a čtení se obnoví.
Jeden token na ovladač, ne na panel
Vícepanelové sestavy Shapes nebo Canvas jsou jedním zařízením TapHome. Auth token je vydán na úrovni ovladače a pokrývá každý připojený panel.
Nestabilita IPv6 mDNS na firmwaru 8.5.2+
Komunita openHAB hlásila, že IPv6 mDNS záznamy střídají stavy ONLINE a OFFLINE na některých ovladačích s firmwarem 8.5.2+. Pokud je mDNS objevování nestabilní, nastavte pevnou IPv4 DHCP rezervaci a použijte IP přímo — šablona TapHome na mDNS stejně nespoléhá.
Řešení problémů
401 Unauthorized při každém čtení
authToken je nesprávný, vypršel nebo byl zrušen. Vygenerujte nový token (podržte tlačítko zapnutí/vypnutí 5–7 s a pošlete POST na /api/v1/new) a vložte ho do vlastní proměnné authToken.
403 Forbidden při generování tokenu
30sekundové párovací okno se zavřelo. Znovu podržte tlačítko zapnutí/vypnutí, dokud LED nezačne blikat vzorem, a poté ihned pošlete POST /api/v1/new.
Odstín / sytost zobrazují NULL v dashboardu
Ovladač je v režimu ct nebo běží efekt. Zapište jakoukoliv hodnotu odstínu nebo sytosti, aby se ovladač přepnul zpět do režimu hs, nebo nastavte barvu pomocí HSB výběru. Šablona neumí odvodit čtení odstínu / sytosti, když zařízení takovou hodnotu neprodukuje.
Teplota barvy se čte jako NaN
Ovladač je v režimu hs nebo běží efekt. Zapište hodnotu CCT, aby se přepnul do režimu ct, nebo nastavte teplotu barvy z dashboardu. Pokud běží efekt, zastavte ho z aplikace Nanoleaf (nebo zapište jakoukoliv hodnotu HSB / CCT — také zastaví efekt).
Zápis jasu selhává na Essentials
Matter WiFi Essentials odmítají brightness: 0. Pro vypnutí použijte kanál zapnutí/vypnutí místo zápisu 0 do jasu. Hodnoty 1–100 jsou akceptovány na všech modelech.
Ovladač se odpojuje na firmwaru 8.5.2+
Pokud TapHome CCU opakovaně ztrácí ovladač, přiřaďte statickou IPv4 DHCP rezervaci a použijte IP v parametru importu ipAddress — vrstva IPv6 mDNS může být na tomto větvení firmwaru nestabilní.
