
Nanoleaf je rodina Wi-Fi LED svietidiel — modulárne nástenné panely, LED pásiky, žiarovky, stojanové lampy a vianočné reťaze — ktoré všetky hovoria rovnakým lokálnym REST API na TCP porte 16021. Jediná TapHome šablóna pokrýva každý WiFi dosiahnuteľný produkt Nanoleaf: TapHome dotazuje ovládač cez HTTP v LAN sieti a vystavuje celú zostavu ako jedno HSB svetlo s farebnou teplotou.
Podporované modely
| Produkt | Kód modelu | Poznámky |
|---|---|---|
| Light Panels (pôvodne Aurora) | NL22 | Bez dotyku |
| Shapes Hexagons | NL42 | S dotykom |
| Shapes Triangles | NL47 | S dotykom |
| Shapes Mini Triangles | NL48 | S dotykom |
| Canvas (štvorce) | NL29 | S dotykom |
| Elements Hexagons (drevený dizajn) | NL52 | Užší rozsah CCT (1500–4000 K) |
| Lines | NL59 | S dotykom |
| Matter WiFi Essentials (žiarovky, LED pásiky, vianočné reťaze, stojanová lampa, A19) | — | Iba firmvér 3.0.10+; prísnejší dolný limit jasu a užší rozsah CCT (2127–6535 K) |
Verzie Nanoleaf Essentials s výlučne Thread protokolom a Nanoleaf Skylight nie sú podporované — šablóna vyžaduje WiFi dosiahnuteľný ovládač komunikujúci cez Open API na porte 16021.
Funkcie zariadenia
Svetlo (HSB + farebná teplota)
Šablóna vystavuje jedno HSB svetlo s funkciami zapnutie/vypnutie, jas, odtieň, sýtosť a farebná teplota. V každom cykle dotazovania (500 ms) modul posiela
| |
a ukladá kompletný JSON zariadenia do vlastnej premennej StatusJson. Čítacie skripty pre jednotlivé vlastnosti potom parsujú polia z tohto uloženého záznamu:
- Zapnutie/vypnutie —
state.on.value - Jas —
state.brightness.value(0–100), normalizované do rozsahu TapHome 0,0–1,0 - Odtieň —
state.hue.value(0–360°) — čítané iba pristate.colorMode == "hs" - Sýtosť —
state.sat.value(0–100) — čítané iba pristate.colorMode == "hs" - Farebná teplota —
state.ct.value(v Kelvinoch) — čítané iba pristate.colorMode == "ct"
Všetky zápisy idú na PUT /api/v1/{authToken}/state s JSON telom pre každú vlastnosť:
| |
Šablóna deklaruje 1800–6500 K ako rozsah farebnej teploty — praktickú podmnožinu toho, čo hardvér skutočne podporuje. Hodnoty mimo fyzického pásma zariadenia sú ticho orezané firmvérom Nanoleaf (pozri Poznámky a obmedzenia).
Rozlišovanie farebných režimov
Ovládače Nanoleaf sú vždy v jednom z troch farebných režimov:
colorMode | Význam |
|---|---|
hs | Režim odtieňa/sýtosti — hodnoty odtieňa a sýtosti sú aktívne |
ct | Režim farebnej teploty — hodnota CCT je aktívna |
effect | Beží dynamická scéna |
Čítacie skripty TapHome tento stav rešpektujú: čítanie odtieňa a sýtosti vráti NULL, keď je ovládač v režime ct alebo effect, a čítanie farebnej teploty vráti NaN, keď je v režime hs alebo effect. Tým sa zabráni, aby sa do dashboardu dostávali zastarané hodnoty z iného režimu. Zápis akejkoľvek hodnoty odtieňa alebo sýtosti prepne ovládač do režimu hs, zápis hodnoty CCT ho prepne do ct — oba zápisy zastavia bežiaci efekt.
Konfigurácia
1. Spárovanie ovládača v aplikácii Nanoleaf
Namontujte panely / žiarovku / pásik, nainštalujte mobilnú aplikáciu Nanoleaf a pripojte ovládač k lokálnej Wi-Fi sieti cez párovací proces v aplikácii. Poznačte si IPv4 adresu ovládača — aplikácia ju zobrazí v nastaveniach zariadenia → Info, alebo ju možno prečítať z tabuľky DHCP záznamov routera.
Priraďte ovládaču Nanoleaf DHCP rezerváciu (alebo statickú IP), aby sa adresa po obnovení nájmu nemenila. TapHome šablóna ukladá IP v parametroch importu a neaktualizuje ju automaticky.
2. Vygenerovanie Open API tokenu
Nanoleaf Open API vyžaduje jednorazové spárovanie medzi TapHome a ovládačom. Toto spárovanie vygeneruje permanentný 32-znakový auth_token, ktorý prežije reštarty a aktualizácie firmvéru.
Na ovládači Nanoleaf (malá jednotka v linke pre panely, alebo samotné zariadenie pri žiarovkách / pásikoch) podržte tlačidlo zapnutia/vypnutia 5–7 sekúnd, kým biela LED nezačne blikať vzorom. Zariadenie je teraz v párovacom režime na 30 sekúnd.
Do 30-sekundového okna pošlite prázdny
POSTna párovací endpoint — napríklad pomocoucurl, PowerShell alebo Postman:1curl -X POST http://{controller-ip}:16021/api/v1/newOvládač odpovie:
1{ "auth_token": "xxxKJISJCjY2hfAyilpyIOfGixxxx" }Skopírujte 32-znakový reťazec
auth_token.
Ak okno uplynie pred prijatím POST, endpoint vráti 403 Forbidden — znovu podržte tlačidlo zapnutia/vypnutia a skúste znova.
Niektoré formáty Essentials (žiarovky, pásiky) nemajú fyzické tlačidlo. V tom prípade spustite párovanie z nastavení zariadenia v aplikácii Nanoleaf — aplikácia aktivuje 30-sekundové okno za vás.
3. Import šablóny v TapHome
- V TapHome vytvorte nové PacketParser zariadenie zo šablóny Nanoleaf RGB light.
- Zadajte IPv4 adresu ovládača ako parameter importu
ipAddress. Port je pevný 16021 a netreba ho meniť. - Otvorte vlastnosti zariadenia, nájdite vlastnú premennú
authTokena vložte 32-znakový token vygenerovaný v kroku 2. - Uložte. Modul bude dotazovať
/api/v1/{authToken}/každých 500 ms a naplní HSB svetlo aktuálnym stavom.
Ak je token nesprávny alebo vypršal, každé čítanie zlyhá s 401 Unauthorized v TapHome logu.
Sieťové požiadavky
- Iba odchádzajúci TCP 16021 z TapHome CCU k ovládaču Nanoleaf. Žiadne cloudové volania, žiadny MQTT broker, žiadne HTTPS certifikáty.
- CCU a ovládač musia byť v rovnakej LAN / VLAN sieti. Ak sú Wi-Fi a drôtové siete oddelené, pridajte pravidlo firewallu povoľujúce TCP 16021 medzi nimi.
- Ovládače Nanoleaf inzerujú službu
_nanoleafapi._tcpcez mDNS. Šablóna vyžaduje priamu IP, ale mDNS možno použiť pri objavovaní pomocouavahi-browse -r _nanoleafapi._tcp(Linux) alebodns-sd -B _nanoleafapi._tcp(macOS).
Nanoleaf Open API je iba HTTP — neexistuje HTTPS ani šifrovanie prenosu. Je bezpečné v rámci LAN siete, ale nikdy nesmie byť vystavené verejnému internetu. Neforwardujte port 16021 cez router.
Poznámky a obmedzenia
Rozsah farebnej teploty závisí od rodiny modelu
TapHome šablóna deklaruje 1800–6500 K ako zapisovateľný rozsah CCT. Hardvérové pásmo sa líši podľa rodiny:
| Rodina | Hardvérový rozsah CCT | Správanie mimo rozsahu |
|---|---|---|
| Light Panels, Shapes, Canvas, Lines | 1200–6500 K | Orezané firmvérom |
| Elements Hexagons | 1500–4000 K | Orezané firmvérom |
| Matter WiFi Essentials | 2127–6535 K | Orezané firmvérom; 1800 K je pod dolnou hranicou 2127 K, takže Essentials orezú na 2127 K |
Zápis hodnoty mimo fyzického pásma zariadenia nevyvolá chybu — ovládač ticho použije vlastný limit. Pri návrhu dashboardov zameraných na Essentials preferujte hodnoty CCT v spoločnom okne 2127–6500 K.
Essentials odmietajú jas = 0
Klasické ovládače (Light Panels, Shapes, Canvas, Elements, Lines) akceptujú brightness: 0. Matter WiFi Essentials vynucujú minimum 1 a odmietajú 0 s HTTP 400. Na vypnutie Essentials žiarovky alebo pásika použite kanál zapnutie/vypnutie namiesto nastavenia jasu na nulu.
Čítanie odtieňa / sýtosti / CCT môže vrátiť NULL alebo NaN
Keďže režimy hs a ct sú vzájomne exkluzívne a oba sú neaktívne počas bežiaceho efektu, čítania z nesprávneho režimu zámerne vracajú NULL (odtieň / sýtosť) alebo NaN (ct). Je to očakávané správanie, nie chyba. Zápis hodnoty odtieňa / sýtosti / ct vráti ovládač do režimu hs alebo ct a čítania sa obnovia.
Jeden token na ovládač, nie na panel
Viac-panelové zostavy Shapes alebo Canvas sú jedným TapHome zariadením. Auth token je vydaný na úrovni ovládača a pokrýva každý pripojený panel.
Nestabilita IPv6 mDNS na firmvéri 8.5.2+
Komunita openHAB hlásila, že IPv6 mDNS záznamy striedajú stavy ONLINE a OFFLINE na niektorých ovládačoch s firmvérom 8.5.2+. Ak je mDNS objavovanie nestabilné, nastavte pevnú IPv4 DHCP rezerváciu a použite IP priamo — TapHome šablóna sa na mDNS aj tak nespolieha.
Riešenie problémov
401 Unauthorized pri každom čítaní
authToken je nesprávny, vypršal alebo bol zrušený. Vygenerujte nový token (podržte tlačidlo zapnutia/vypnutia 5–7 s a pošlite POST na /api/v1/new) a vložte ho do vlastnej premennej authToken.
403 Forbidden pri generovaní tokenu
30-sekundové párovacie okno sa zavrelo. Znovu podržte tlačidlo zapnutia/vypnutia, kým LED nezačne blikať vzorom, a potom ihneď pošlite POST /api/v1/new.
Odtieň / sýtosť zobrazujú NULL v dashboarde
Ovládač je v režime ct alebo beží efekt. Zapíšte akúkoľvek hodnotu odtieňa alebo sýtosti, aby sa ovládač prepol späť do režimu hs, alebo nastavte farbu cez HSB výber. Šablóna nevie odvodiť čítanie odtieňa / sýtosti, keď zariadenie takú hodnotu neprodukuje.
Farebná teplota sa číta ako NaN
Ovládač je v režime hs alebo beží efekt. Zapíšte hodnotu CCT, aby sa prepol do režimu ct, alebo nastavte farebnú teplotu z dashboardu. Ak beží efekt, zastavte ho z aplikácie Nanoleaf (alebo zapíšte akúkoľvek HSB / CCT hodnotu — tiež zastaví efekt).
Zápis jasu zlyhá na Essentials
Matter WiFi Essentials odmietajú brightness: 0. Na vypnutie použite kanál zapnutia/vypnutia namiesto zápisu 0 do jasu. Hodnoty 1–100 sú akceptované na všetkých modeloch.
Ovládač sa odpája na firmvéri 8.5.2+
Ak TapHome CCU opakovane stráca ovládač, priraďte statickú IPv4 DHCP rezerváciu a použite IP v parametri importu ipAddress — vrstva IPv6 mDNS môže byť na tomto vetvovaní firmvéru nestabilná.
