Sonoff NSPanel v Home Assistantu: eWeLink, ESPHome a NSPanel Easy
NSPanel EU od společnosti Sonoff představuje chytrý ovládací panel s integrovaným dotykovým displejem za velmi rozumnou cenu.
Sonoff NSPanel EU, šedý
WiFi
Bluetooth
Specifikace
- Displej: 3,5" Nextion Discovery NX4832F035, 480x320, kapacitní dotyk
- Tlačítka: 2x fyzické tlačítko pod displejem
- Relé: 2x relé na 240V (oficiálně 2 A na kanál)
- Senzory: Teplotní NTC senzor
- Připojení: Wi-Fi 2,4GHz
- Čip: ESP32-D0WD-V3, 4 MB flash
- Rozměry: 8,6 x 8,6 x 4,2 cm
- Barva: Šedá / Bílá
Aplikace eWeLink
Od výrobce zařízení obsahuje firmware, který používá cloudovou službu eWeLink. Přidání NSPanelu se provádí přes aplikaci eWeLink v mobilním telefonu. Po spárování naskočí na samotném panelu Uživatelské rozhraní, které vypadá jako na obrázku výše.
S výchozím firmware lze spodními tlačítky ovládat přímo relé, je k dispozici informace o vnitřní teplotě z teplotního senzoru panelu a počasí venku, které je však aktualizováno velmi sporadicky (přišlo mi to tak 4x denně).
Lze přidat dále ovládání dalších zařízení přidaných do eWeLinku, ale zařízení mimo tento cloud ovládat nelze, což je za mě největší mínus.
eWeLink
eWeLink lze dále integrovat do Google Assistanta, Alexy, SmartThings či Philips Hue, tedy skutečný základ dnešních systémů. Kromě toho existuje i integrace do Home Assistanta SonoffLAN, kterou si můžete nainstalovat z HACS.
Díky této integraci budete mít v Home Assistantovi možnost ovládat obě relé, číst informaci o teplotě a vidět pár dalších informací.
Co můžete dělat s eWeLink
- ✅ Ovládat relé přímo z panelu
- ✅ Zobrazit teplotu z interního senzoru
- ✅ Vidět základní informace o počasí
- ✅ Přidat další eWeLink zařízení
Co NEMŮŽETE dělat
- ❌ Ovládat zařízení mimo eWeLink cloud
- ❌ Hluboká integrace do Home Assistant
- ❌ Vlastní UI nebo scény
- ❌ Offline funkčnost při výpadku internetu
Alternativní firmware
Vzhledem k tomu, že NSPanel obsahuje čip ESP32, vzniklo několik alternativních firmware, které rozšiřují jeho možnosti a překonávají omezení původního firmware eWeLink. Podívejme se na ty nejvýznamnější.
Tenhle článek doteď učil instalaci projektu NSPanel_HA_Blueprint. Jeho hlavní vývojář ale vývoj přesunul do vlastního projektu NSPanel Easy a v původním repozitáři se řeší už jen kritické opravy. Návod jsem proto přepsal na NSPanel Easy - a níž vysvětluji, proč to není hazard s neznámým forkem.
Máte panel na starém projektu? Jak přejít bez rozebírání panelu, popisuju v migraci na NSPanel Easy.
Aktualizováno 27. 7. 2026. Postup instalace z 25. 7. platí dál - hardware, sériový flash a bootloader režim se mezi projekty nemění. Co přesně se změnilo
NSPanelManager
url: github.com/NSPManager/NSPanelManager
Hlavní vlastnosti
- Umožňuje načítání entit z Home Assistanta a OpenHAB, což rozšiřuje možnosti ovládání chytré domácnosti.
- Dokáže fungovat i samostatně bez nutnosti propojení s dalšími systémy.
- Velký důraz je kladen na snadnou konfiguraci přes webové rozhraní, které umožňuje intuitivní nastavení funkcí panelu.
- Podpora propojení více NSPanelů dohromady pro synchronizované ovládání.
Pro koho je určen
- Ideální pro uživatele, kteří nepotřebují komplexní integraci s Home Assistant nebo jinými systémy chytré domácnosti.
- Vhodné pro ty, kteří preferují jednoduché řešení s možností základního přizpůsobení.

nspanel-lovelace-ui (Tasmota)
url: github.com/joBr99/nspanel-lovelace-ui
Hlavní vlastnosti
- Využívá Tasmota jako základní firmware, což zajišťuje stabilitu a flexibilitu při komunikaci přes MQTT.
- Nabízí uživatelské rozhraní inspirované Lovelace UI z Home Assistant – umožňuje zobrazovat a ovládat širokou škálu zařízení (světla, senzory, termostaty, alarmy).
- Konfigurace probíhá pomocí YAML souborů, což poskytuje vysokou míru přizpůsobení bez nutnosti úprav zdrojového kódu.
- Podpora lokalizace do více než 30 jazyků zajišťuje dostupnost pro uživatele po celém světě.
Pro koho je určen
- Pro pokročilé uživatele Home Assistanta, kteří chtějí plně přizpůsobit vzhled a funkce NSPanelu.
- Ideální pro ty, kteří mají zkušenosti s konfigurací YAML a hledají flexibilní řešení.
NSPanel Easy (ESPHome)
url: github.com/edwardtfn/NSPanel-Easy · dokumentace: edwardtfn.github.io/NSPanel-Easy
Hlavní vlastnosti
- Postavený na ESPHome, který je nyní součástí týmu Home Assistant – zaručuje hlubokou integraci a dlouhodobou podporu.
- Nabízí přímou integraci do Home Assistanta bez potřeby externích nástrojů nebo služeb.
- Jednoduché nastavení přes Blueprint v Home Assistant – konfigurace probíhá přímo v uživatelském rozhraní systému.
- Jazyk panelu (včetně češtiny) se nastavuje jednou substitucí v ESPHome YAML a do firmwaru se zakompilují jen texty toho jednoho jazyka.
- Firmware si umí nahrát TFT do displeje sám, když při startu zjistí, že verze nesedí.
- Paměť u startu řeší projekt aktivně - API akce, které většina lidí nepoužívá, nejsou defaultně registrované.
- Bluetooth Proxy pro BLE senzory je technicky možný, ale na tomhle panelu ho nedoporučuji - proč, rozebírám v Pokročilých funkcích.
Pro koho je určen
- Pro uživatele Home Assistanta hledající jednoduché nastavení a hlubokou integraci NSPanelu do svého systému.
- Pro každého, kdo dnes NSPanel rozjíždí od nuly - tady jde vývoj dál.
- Pro ty, kdo mají panel na
Blackymas/NSPanel_HA_Blueprinta chtějí zůstat u projektu, který dostává nové funkce.
NSPanel_HA_Blueprint - původní projekt, dnes v režimu jen kritických oprav
url: github.com/Blackymas/NSPanel_HA_Blueprint
Tohle je projekt, na kterém tenhle článek stál několik let, a chci ho vysvětlit pořádně - protože na první pohled to vypadá jako „autor webu vás posílá na neznámý fork" a tak to není.
NSPanel Easy napsal ten samý člověk, který napsal většinu NSPanel_HA_Blueprintu. V repozitáři Blackymas/NSPanel_HA_Blueprint má edwardtfn 3113 commitů, zatímco Blackymas 494. Byl to tedy hlavní vývojář, ne příležitostný přispěvatel, a v lednu 2026 si vývoj odnesl do vlastního repozitáře, kde má kontrolu nad architekturou projektu.
V původním repu to sám oznámil v issue #3277 „Transitioning Development to NSPanel Easy" ze 17. dubna 2026:
I'll continue fixing showstoppers here — things like compilation failures from upstream ESPHome or Home Assistant changes that would completely break the build.
Čtěte to prosím přesně tak, jak to je: nové funkce, běžné bugy a vylepšení jdou do NSPanel Easy, v původním repu se řeší už jen to, co by úplně rozbilo kompilaci. Formální datum ukončení podpory oznámené není, projekt „neumřel" a nikdo neřekl, že k nějakému datu skončí. Poslední commit do kódu (ne do README) je ale ze 17. dubna 2026 a poslední vydaná verze je v2026041 - přesně ta, na kterou byl tenhle článek doteď připnutý.
Co to znamená pro vás:
- Máte panel na
NSPanel_HA_Blueprinta funguje? Nemusíte nikam spěchat. Kritické opravy dostanete a panel vám nepřestane fungovat ze dne na den. - Rozjíždíte panel dnes od nuly? Jděte rovnou do NSPanel Easy, ať to nemusíte dělat dvakrát.
- Chcete nové funkce nebo řešíte bug? Ten se opraví v NSPanel Easy, tady už ne.
Migrace je mimochodem překvapivě nenásilná - je to OTA aktualizace, panel se neotvírá a nastavení automatizací zůstává. Celý postup mám v samostatném článku Z NSPanel_HA_Blueprint na NSPanel Easy.
Kterou variantu zvolit?
Každý z těchto firmware má své výhody. Pokud si nejste jisti, zde je rychlé shrnutí:
- NSPanelManager - jednoduchá instalace, funguje i bez Home Assistant
- nspanel-lovelace-ui - maximální kontrola přes YAML, vyžaduje pokročilé znalosti
- NSPanel Easy - nejlepší integrace s Home Assistant, sem se přesunul vývoj původního NSPanel_HA_Blueprintu
- NSPanel_HA_Blueprint - původní projekt, ze kterého NSPanel Easy vychází; dnes už jen kritické opravy
V tomto článku se zaměříme na NSPanel Easy (ESPHome), který dnes považuji za nejlepší řešení pro většinu uživatelů Home Assistant. Nabízí snadnou instalaci, hlubokou integraci a hlavně to je místo, kam se přesunul vývoj původního NSPanel_HA_Blueprintu - se stejným hlavním vývojářem a stejnou strukturou konfigurace.
Do dubna 2026 tady byl doporučený Blackymas/NSPanel_HA_Blueprint. Pokud ho máte, panel vám dál funguje a nemusíte hned nic dělat - jen vězte, že novinky už přicházejí jinam.
Sonoff NSPanel EU, šedý
WiFi
Bluetooth
Sonoff NSPanel EU, bílý
WiFi
Bluetooth
CP2102 USB 2.0 to TTL UART Module
USB
Co je uvnitř - hardware a pinout GPIO
Než se pustíme do flashování, hodí se vědět, co v panelu vlastně je. Následující přehled vychází z podrobného teardownu od blakaddera a oceníte ho hlavně tehdy, pokud si chcete psát vlastní konfiguraci v ESPHome nebo Tasmotě.
Pokud vás hardware nezajímá, přeskočte rovnou na Co budete potřebovat.
Hlavní komponenty
- ESP32-D0WD-V3 - dvoujádrový čip s Wi-Fi a Bluetooth, 4 MB flash paměti (na mém kusu od GigaDevice, teardown uvádí Winbond - liší se to podle výrobní série)
- Nextion Discovery NX4832F035 - 3,5" displej s rozlišením 480x320 a kapacitním dotykem (řadič CST340)
- STM32G031G8 - samostatný mikrokontrolér, který se stará o grafiku displeje
- NTC termistor MF52A - 10 kΩ ±1 %, B = 3950 - teplotní senzor panelu
- 2x relé na samostatné desce
Displej má vlastní procesor (STM32G031G8) a celé grafické rozhraní si drží ve své paměti. ESP32 s ním komunikuje pouze po sériové lince a posílá mu události typu „bylo stisknuto tlačítko" nebo „změň tenhle text". Právě proto se firmware nahrává ve dvou etapách - jednou do ESP32 (ESPHome) a podruhé do displeje (soubor .tft).
Pinout a mapování GPIO
| Funkce | GPIO | Označení na desce |
|---|---|---|
| Tlačítko 1 (levé) | GPIO14 | K1 |
| Tlačítko 2 (pravé) | GPIO27 | K2 |
| Relé 1 | GPIO22 | RY1 |
| Relé 2 | GPIO19 | RY2 |
| Relé 3 | GPIO23 | RY3 - neosazeno |
| Displej - RX na straně ESP32 | GPIO17 | TF_RX |
| Displej - TX na straně ESP32 | GPIO16 | TF_TX |
| Reset displeje | GPIO4 | T_RST |
| Teplotní senzor | GPIO38 | NTC |
| Senzor osvětlení | GPIO37 | ALS - neosazeno |
| Bzučák | GPIO21 | BZ |
| Sériová linka (flashování) | GPIO3 / GPIO1 | U0RXD / U0TXD |
Označení TF_RX a TF_TX na desce jsou z pohledu ESP32. V ESPHome tomu odpovídá tx_pin: 16, rx_pin: 17 a rychlost 115200 baud.
Pokud používáte hotové řešení (NSPanel Easy nebo Tasmota šablonu), piny má projekt nastavené za vás a tabulku potřebovat nebudete. Ocení ji ti z vás, kdo si píše vlastní YAML konfiguraci od nuly nebo ladí, proč něco nereaguje. Nezapomeňte také, že GPIO5, GPIO9 a GPIO18 jsou obsazené pamětí PSRAM - pro vlastní periferie je nepoužívejte.
ESPHome ji při startu vypíše přímo: [C][psram:020]: Size: 2048 KB, tedy 2 MB, a využité z ní bývají jen jednotky procent. Teardown na blakadder.com uvádí „16MB PSRAM" — a nejspíš jde o 16 Mbit, což jsou právě 2 MB, takže si ta dvě čísla neodporují.
Pozor na jednu past: kompilace vypisuje SPI DRAM ... from 4194304 bytes, což je velikost adresního okna, ne čipu. Autoritativní je ten runtime údaj.
Důležitější než velikost je ale jedno omezení: pufry pro Wi-Fi musí být DMA-schopné a na ESP32 se do PSRAM odložit nedají. Volná PSRAM vám tedy nepomůže, když se panelu nedostává vnitřní DRAM. Proč to má praktický dopad, rozebírám v článku Když NSPanel po aktualizaci nenaběhne.
Možná vám ESPHome při startu vypíše tenhle řádek:
[W][app:198]: Bootloader supports SRAM1 as IRAM (+40KB). Set sram1_as_iram: true under esp32 > framework > advanced
Pak si můžete jednou volbou v Kroku 2 přidat 40 kB IRAM:
esp32:
framework:
advanced:
sram1_as_iram: true
Je to paměť, kterou si rezervoval bootloader jako DRAM a která se dá místo toho dát aplikaci jako IRAM. Volnou heap ani DRAM to nic nestojí, protože ta paměť v heapu nikdy nebyla. Navíc se tím rozšíří okno flash cache pro XIP, takže je méně cache miss a všechen kód běžící z flash - Wi-Fi, BLE i API server - jede lépe. Pomáhá to i proti chybě „IRAM overflow" při kompilaci (section '.iram0.text' will not fit in region 'iram0_0_seg'). Jestli tuhle druhou věc vůbec potřebujete, si ověřte v souhrnu na konci buildu - najděte si v něm řádek IRAM. Můj panel hlásí IRAM 84 263 B (48,98 %), zbývá 87 769 B z 172 032 B, tedy do stropu ještě půlku místa, takže z celého přínosu mu zůstává jen to širší okno flash cache. Platí to jen pro původní ESP32 a jen s frameworkem ESP-IDF - NSPanel s ESP32-D0WD-V3 a esp-idf obojí splňuje a výchozí hodnota je false.
Jedna věc ale nesmí zapadnout: je to IRAM, ne DRAM. Na tu tíseň ve vnitřní DRAM, o které je řeč hned výš a podrobně v post-mortemu, tohle nesahá.
A riziko je tady stejně velké jako přínos. Volba vyžaduje bootloader z ESP-IDF v5.1 nebo novějšího a OTA aktualizace bootloader nemění - ten se přepisuje jedině flashováním přes USB nebo sériovou linku. Se starým bootloaderem zařízení vůbec nenaběhne a zachrání ho jen sériové přeflashování. To u panelu zavřeného ve zdi znamená sundat ho a rozebrat.
Proto se držte pravidla, které se ověří samo: zapněte to jen tehdy, když ten řádek [W][app:198] opravdu máte ve svém logu. ESPHome ho vypisuje právě tehdy, když u vás kompatibilní bootloader detekuje. Když ho tam nevidíte, sram1_as_iram nechte být.
Na desce jsou osazená relé dimenzovaná na 10 A, Sonoff ale panel oficiálně specifikuje na 2 A na kanál a 4 A celkem. U LED svítidel je limit ještě přísnější - 300 W na kanál a 600 W celkem (při 230 V). Na vině je nejspíš návrh plošného spoje a odvod tepla v uzavřené instalační krabici. Držte se 2 A (zhruba 460 W odporové zátěže při 230 V) a pro větší spotřebiče použijte stykač nebo samostatné relé.
Co v NSPanelu chybí a proč vlhkost nefunguje
Při návrhu panelu Sonoff zjevně počítal s více funkcemi, než nakonec do sériové výroby osadil:
- Vlhkost je smyšlená. Panel v eWeLinku hlásí vlhkost, ale senzor v něm vůbec není - pozice H2 na desce zůstala prázdná a firmware posílá napevno 50 %. Pokud vám ta hodnota přišla podezřele stabilní, teď víte proč.
- Bzučák (BZ, GPIO21) osazený naopak je. Blakadderův teardown ho uvádí jako chybějící, ale na běžně prodávaných kusech ho najdete u potisku
B1(je vidět i na fotce desky níže). Počítá s ním i Tasmota šablona a v ESPHome ho rozezvučíte přes komponenturtttl- panel pak umí pípnout při stisku tlačítka nebo přehrát jednoduchou melodii jako notifikaci. - Třetí relé (RY3, GPIO23) chybí. Deska relé má připravenou pozici pro třetí kus řízený z GPIO23. Jde nejspíš o pozůstatek starší revize návrhu.
- Senzor okolního osvětlení (ALS, GPIO37) zůstal jen na papíře. Pin je na desce takto označený, ale žádná světlocitlivá součástka osazená není a nepracuje s ním originální firmware, Tasmota ani žádný z ESPHome projektů. Automatické stmívání displeje podle okolního světla proto musíte řešit jiným senzorem v Home Assistantu nebo pozicí slunce. Skutečný senzor osvětlení dostal až vyšší model NSPanel Pro, kde ho Sonoff inzeruje jako jednu z novinek.
Dopájení třetího relé znamená zásah do zařízení připojeného k síti 230 V a samozřejmě ztrátu záruky. Pokud si nejste stoprocentně jistí tím, co děláte, nechte to být. A pokud do toho jdete, mějte panel po celou dobu odpojený od sítě.
Co budete potřebovat
Než se pustíme do instalace, připravte si následující:
Hardware
- Sonoff NSPanel (samozřejmě 😊)
- USB-TTL adaptér s čipem CP2102 nebo CH340 (viz níže)
- Propojovací kabely typu Female-to-Female (minimálně 5 kusů)
- Nic dalšího - napájení vezmete přímo z převodníku, externí zdroj není potřeba
Software
- Nainstalovaný Home Assistant s doplňkem ESPHome
- Počítač s webovým prohlížečem (Chrome nebo Edge - kvůli Web Serial API)
Sonoff NSPanel EU, šedý
WiFi
Bluetooth
CP2102 USB 2.0 to TTL UART Module
USB
Dupont kabely 10cm / 20cm / 30cm - male / female
Pokud ještě nemáte ESPHome nainstalovaný, podívejte se na můj článek o ESPHome.
Před jakoukoliv manipulací s panelem odpojte napájení 230V! Pracujeme s 3,3V logikou, ale bezpečnost především.
Příprava NSPanelu na flashování
Než nahrajeme nový firmware, musíme NSPanel otevřít a připojit USB-TTL adaptér. Nebojte se, není to tak složité, jak to zní.
Otevření panelu
- Odklapněte panel z montážní základny
- Odšroubujte 2 šrouby ve spodní části plastového krytu
- Zvedněte plastový kryt
- Najdete 5pinový header pro sériovou komunikaci označený 3V3, RX, TX, GND, IO0
Pro samotný přenos dat vám stačí 3 piny (RX, TX, GND). Pin IO0 (GPIO0) budete potřebovat na přepnutí do boot módu - spojíte ho s GND a až potom připojíte napájení (viz krok níže). Potvrzuje to i dokumentace NSPanel Manageru.
Napájení berte z pinu +5V, ne z 3V3. Oba fungují pro samotné flashování - to velký proud nekreslí. Rozdíl přijde až potom: z +5V panel po nahrání firmwaru normálně naběhne, kdežto na 3V3 se bude restartovat, protože ten pin je za drobným stabilizátorem převodníku a na startující Wi-Fi nestačí. Externí zdroj k tomu nepotřebujete.
Propojení s USB-TTL adaptérem

Propojte kabely následovně:
| NSPanel | USB-TTL adaptér |
|---|---|
| TX | RX |
| RX | TX |
| GND | GND |
| 5V | +5V |
Napájení berte z pinu +5V na převodníku. Pin 3V3 na flashování taky stačí, ale panel s ním potom nenaběhne - viz výš.
TX z panelu jde na RX adaptéru a naopak!
Hned vedle sériového headeru je kovové stínění displeje a piny se o něj mohou snadno zkratovat. Pokud si do panelu pájíte trvalý header, přelepte jeho spodní stranu izolepou. U dočasně přidržených dupont konektorů si aspoň pohlídejte, aby se stínění nedotýkaly.
Přepnutí do bootloader režimu
ESP32 se do režimu pro nahrávání firmwaru dostane tak, že má při zapnutí napájení pin GPIO0 stažený na zem. Na desce NSPanelu je vyvedený jako IO0, hned na tom pětipinovém headeru.
- Odpojte NSPanel od napájení (230 V i USB-TTL adaptéru)
- Propojte
IO0sGND- drátkem, propojkou, nebo prostě přidržte - Připojte napájení (USB-TTL adaptér do počítače)
- Zkratku můžete rozpojit
Panel je nyní v bootloader režimu a připravený na nahrání firmware. Že jste uspěl, poznáte tak, že se k němu esptool nebo webový flashovací nástroj připojí.
Řada návodů (a dřívější verze tohoto článku) tvrdí, že stačí při zapnutí držet levé tlačítko pod displejem. Nevěřte tomu. Tlačítka NSPanelu jsou na GPIO14 a GPIO27, takže s GPIO0 nemají nic společného a do boot módu čip nepřepnou. Sám jsem si na tom vylámal zuby, než jsem sáhl po IO0.
Opraveno 25. 7. 2026, viz změny na webu. Potvrzuje to i dokumentace NSPanel Manageru.
Instalace ESPHome firmware
Ověřeno 27. 7. 2026 s ESPHome 2026.7.2 (ESP-IDF v5.5.5) a NSPanel Easy v2026.7.1.
Buď v tom poctivý: tuhle kombinaci mám odzkoušenou z migrace z Blackymas/NSPanel_HA_Blueprint, ne z čisté instalace od nuly na nedotčeném panelu. Sériový flash, bootloader režim a hardwarová část postupu se ale mezi projekty nemění vůbec - ta je ověřená z původní instalace 25. 7. 2026. Co se mění, je obsah YAML konfigurace a názvy pár ovládacích prvků v Home Assistantovi.
Minimální verzi ESPHome si NSPanel Easy hlídá sám: je deklarovaná ve firmwaru a kontrolovaná při kompilaci, takže s moc starým ESPHome dostanete jasnou chybu a ne záhadné hlášení. Pro v2026.7.1 je to 2026.5.0. Obecné pravidlo projektu je, že cílí na Home Assistant a ESPHome vydané ne dříve než dva měsíce před daným vydáním NSPanel Easy.
Projekt doporučuje 4 GB RAM pro ESPHome jako doplněk Home Assistanta - u Raspberry Pi tedy minimálně Pi 4 se 4 GB. Při manuální instalaci ESPHome na počítači stačí 2 GB plus 500 MB swapu. S méně pamětí kompilátor spadne. Pokud vám kompilace padá bez zjevné příčiny, hledejte problém tady, ne v konfiguraci.
Pořadí kroků je tady důležité. Nejdřív si připravíte konfiguraci, teprve pak flashujete - jinak byste panel flashoval dvakrát.
Celé to jsou čtyři kroky plus složení panelu:
- Vytvořit zařízení v ESPHome (firmware zatím neinstalovat)
- Vložit YAML konfiguraci s balíčkem NSPanel Easy
- Zkompilovat a stáhnout
.factory.bin - Nahrát přes sériovou linku
- Složit panel, připojit na 230 V a přidat do Home Assistanta
Krok 1: Vytvoření zařízení v ESPHome
- V Home Assistantovi otevřete doplněk ESPHome Device Builder
- Klikněte na + New Device → Continue
- Pojmenujte zařízení, například
nspanel01 - Vyberte ESP32 a klikněte na Skip - firmware zatím instalovat nebudeme
- Klikněte na nově vytvořené zařízení a dejte Edit
Krok 2: YAML konfigurace s balíčkem NSPanel Easy
Obsah editoru celý smažte a vložte tohle. Je to ta část, kterou většina návodů (včetně dřívější verze téhle) neuvádí - a bez ní panel žádné ovládací prvky pro displej ani entity Blueprintu mít nebude:
api:
encryption:
key: !secret api_encryption_key
substitutions:
device_name: "nspanel01"
friendly_name: "NS Panel"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
ota_password: !secret ota_password
language: cs # cestina - seznam kodu v dokumentaci projektu
boot_sound: false
upload_tft_automatically: true
# Pocitadlo safe mode do RTC pameti - odpojeni od proudu ho vymaze
safe_mode:
storage: rtc
packages:
remote_package:
url: https://github.com/edwardtfn/NSPanel-Easy
ref: v2026.7.1 # pripnuty tag, ne 'latest'
refresh: never
files:
- nspanel_esphome.yaml
Substituce language: cs je novinka NSPanel Easy - u NSPanel_HA_Blueprint se jazyk vybíral v Blueprintu. Do firmwaru se zakompilují jen texty toho jednoho jazyka, což šetří paměť a panel umí správné texty i offline. Když substituci vynecháte, panel spadne zpátky na angličtinu. Kompletní seznam kódů je v dokumentaci Localization.
Po změně jazyka je potřeba znovu zkompilovat a nahrát firmware - nestačí uložit.
Tohle je minimální funkční konfigurace. Projekt k ní nabízí přídavné moduly, které se přidávají jako další soubory do files:. Pozor: add-ony jsou v podsložce esphome/, základní balíček nspanel_esphome.yaml naopak zůstává v rootu - to je nejčastější zdroj chyb při přechodu ze staršího projektu.
files:
- nspanel_esphome.yaml # zakladni balicek - BEZ prefixu esphome/
# Displej jako svetlo v HA (jde stmivat automatizaci)
- esphome/nspanel_esphome_addon_display_light.yaml
# Termostat s vytapenim pres rele
# - esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
# - esphome/nspanel_esphome_addon_cover.yaml
Sám používám ten první. Climate add-ony k tomu chtějí ještě substituce heater_relay: "1" a cooler_relay: "2" (kterým relé se topí a kterým chladí). Kompletní seznam je v dokumentaci projektu - ale každý add-on zvětší firmware, takže po přidání zkontrolujte využití paměti při kompilaci.
Hodnoty s !secret musíte mít v secrets.yaml (v ESPHome vlevo dole Secrets). api_encryption_key si vygenerujete v ESPHome docs nebo jakýmkoli generátorem 32bajtového base64 klíče.
Blok api: encryption: a safe_mode: storage: rtc jsou moje vlastní doplňky, v oficiálním vzoru je nenajdete. První šifruje komunikaci s Home Assistantem, druhý vám ušetří sériový kabel, kdyby se panel někdy zakousl v safe mode - proč, rozebírám dole v sekci NSPanel je černý, není na Wi-Fi a přeflešování nepomáhá. Doporučuju obojí nechat.
Naopak ota_password je v NSPanel Easy samostatné a volitelné. U NSPanel_HA_Blueprint se odvozovalo z Wi-Fi hesla, takže pokud panel migrujete bezdrátově, musíte si tam pro první OTA dát ota_password: ${wifi_password}. U čisté instalace přes sériovou linku si zvolíte, co chcete.
ref: latestTady se vědomě odchyluji od oficiální dokumentace NSPanel Easy, která doporučuje ref: latest a refresh: 300s. Vysvětlím proč.
latest je posouvající se tag - ukazuje vždy na poslední vydání. Spolu s refresh: 300s to znamená, že se vám balíček stáhne znovu při každé rekompilaci, a když mezitím vyšla nová verze, dostanete ji, aniž byste o to požádal. Je to přesně ten vzorec, který mi jednou položil panel na 42 hodin (tehdy ve variantě ref: main). Rozdíl mezi „nová verze vyšla" a „nová verze je na mém panelu" má být vaše rozhodnutí, ne náhoda v tom, kdy jste ťukl na Install.
S ref: v2026.7.1 a refresh: never aktualizujete vědomě: podíváte se, co je nového, změníte jedno číslo. Aktuální vydání najdete na stránce releasů - projekt vydává často, v posledních měsících přibližně měsíčně. Od nového repozitáře používá schéma v2026.7.1 (dřív to bylo v2026041).
A ještě jedno vysvětlení k tomu schématu, protože se v něm dá snadno splést: poslední číslo není patch, ale pořadí vydání v daném měsíci. v2026.5.15 je tedy patnácté májové vydání, ne „patch 15" k nějaké verzi 2026.5. Že projekt na začátku vydával opravdu hodně často, je vidět právě na tom - v dubnu 2026 vyšlo 28 vydání, v červnu už jen dvě.
Jedna výjimka: pokud panel migrujete ze Blackymas/NSPanel_HA_Blueprint, migrační dokumentace projektu chce ref: latest při první instalaci během migrace. Konkrétní tag jde použít až potom. U čisté instalace od nuly tenhle problém nemáte a můžete verzi připnout hned.
Pokud máte SSID skrytou, doplňte ještě tohle, jinak se panel bude připojovat dlouho nebo vůbec:
wifi:
fast_connect: true
Krok 3: Kompilace a stažení factory.bin
- Klikněte na Save a pak na Install
- Zvolte Manual download
- Nechte to zkompilovat - poprvé to trvá i deset minut
- Až budete vyzván, stáhněte
.factory.bin(ne obyčejný.bin, ten je pro OTA a sériově nenaběhne)
Na konci kompilace se vypíše využití paměti. Když jste u Flash nad 90 % nebo máte pod ~50 kB volné DRAM, jste na hraně a příští aktualizace vás může přehodit. Nejčastější příčinou je bluetooth_proxy - proč ho na panelu nedoporučuji, rozebírám níž.
Krok 4: Nahrání přes sériovou linku
Panel musí být v bootloader režimu a napájený z pinu +5V převodníku. Na 3V3 by se flash povedl taky, ale panel by po něm nenaběhl.
- Otevřete v Chrome nebo Edge web.esphome.io
- Connect → vyberte svůj USB-TTL adaptér
- Install → vyberte stažený
.factory.bin - Nechte to nahrát, trvá to asi minutu
Kdo dá přednost příkazové řádce, může použít esptool:
esptool --port /dev/cu.usbserial-0001 --baud 460800 write-flash 0x0 nspanel01.factory.bin
Zkontrolujte, že je panel v bootloader režimu (IO0 na GND před zapnutím napájení) a že máte prohozené TX a RX. Prohlížeč musí být Chrome nebo Edge, kvůli Web Serial API.
Krok 5: První spuštění
- Odpojte USB-TTL adaptér, všechny vodiče
- Sestavte NSPanel zpět
- Připojte k napájení 230 V
- Panel naběhne a připojí se k Wi-Fi

Panel na 230 V a zároveň připojený USB-TTL adaptér v počítači je kombinace, po které přijdete o adaptér, o USB port, nebo o víc. Vždy jen jedno.
Integrace do Home Assistant
Automatická detekce
Home Assistant by měl NSPanel po prvním startu sám najít:
- Otevřete Nastavení → Zařízení a služby
- V sekci Objeveno by měl být
nspanel01 - Klikněte na Konfigurovat
- Vložte
api_encryption_keyze svéhosecrets.yaml - Potvrďte přidání
Manuální přidání
Pokud automatická detekce nefunguje:
- Nastavení → Zařízení a služby → Přidat integraci
- Vyhledejte ESPHome
- Zadejte IP adresu panelu a port
6053
Nejrychleji v DHCP tabulce routeru. Případně v logu panelu v ESPHome - řádek [C][wifi:1259]: IP Address:.
V Home Assistantovi nejsou entity Blueprintu
Tohle si zkontrolujte, protože na tom závisí všechny další kroky. Na stránce zařízení musíte vidět diagnostické entity Version - ESPHome, Version - Blueprint a Version - TFT a v sekci Konfigurace ovládací prvky Display model a Update TFT display.
Když tam nejsou, na panelu neběží konfigurace NSPanel Easy - nejčastěji proto, že se nahrál obecný „prepare for first use" firmware místo té z kroku 3. V logu si to potvrdíte řádkem, který musí uvádět projekt:
[I][app:153]: Project edwardtfn.NSPanel-Easy version "2026.7.1"
U NSPanel_HA_Blueprint se selektor modelu jmenoval Update TFT display - Model, v NSPanel Easy je to prostě Display model. Pokud podle staršího návodu hledáte původní název, nenajdete ho - a přitom je všechno v pořádku.
Nahrání TFT firmware pro displej
Displej NSPanelu (Nextion) má vlastní firmware, který je potřeba nahrát samostatně. V NSPanel Easy je tento proces výrazně jednodušší - a při první instalaci se o něj většinou nemusíte starat vůbec.
Automatické nahrání (doporučeno)
Se substitucí upload_tft_automatically: true z Kroku 2 si firmware TFT nahraje sám: po startu porovná verzi TFT v displeji s tím, co očekává, a když nesedí, přenos si spustí. Stačí tedy vybrat správný model a čekat.
- Otevřete stránku vašeho NSPanelu v Home Assistant (Settings → Devices & Services → ESPHome)
- V sekci Configuration najdete dva ovládací prvky:
- "Display model" - rozbalte a vyberte váš model. Pozor, v rozbalovátku je pět voleb, ne tři:
- NSpanel EU - pro evropský model (výchozí volba)
- NSpanel US - pro americký model (portrait)
- NSpanel US Landscape - pro americký model na šířku
- NSpanel Blank - minimální TFT s QR kódem, který není pro běžné použití; slouží k vyčištění displeje před nahráním toho pravého (viz řešení problémů)
- NSpanel Easy EU (Under construction) - rozpracovaný nový design, na běžné použití ho nevybírejte
- "Update TFT display" - pokud nechcete čekat na automatiku, stiskněte toto tlačítko
- "Display model" - rozbalte a vyberte váš model. Pozor, v rozbalovátku je pět voleb, ne tři:
- ESPHome automaticky stáhne správný TFT soubor z GitHubu a začne nahrávat do displeje
- Na displeji se zobrazí progress bar s černým pozadím
- Transfer trvá 10-20 minut
Selektor Display model dělá mimochodem dvě věci najednou - kromě volby souboru nastavuje i chování panelu za běhu (kalibrace dotyku, rozložení tlačítek, orientace displeje). Držte ho proto vždy na tom, co máte fyzicky na stěně.
Tohle je past, do které je snadné spadnout právě proto, že instalujete NSPanel Easy: v rozbalovátku je volba doslova pojmenovaná NSpanel Easy EU a člověk po ní logicky sáhne. Je to ale rozpracovaný nový design displeje, ne „TFT pro NSPanel Easy" - proto to „(Under construction)". Nahrálo by se nspanel_easy_landscape.tft, který má 3,3 MB proti 13 MB hotového souboru, a panel by nebyl použitelný.
Pro evropský panel vyberte NSpanel EU, i když instalujete NSPanel Easy.
U NSPanel_HA_Blueprint byly pro čínštinu, japonštinu a korejštinu samostatné TFT soubory s označením (CJK languages). V NSPanel Easy jsou tyto znakové sady zabudované ve standardních TFT souborech a zvláštní varianty zmizely - vyberte prostě model odpovídající vašemu hardwaru bez ohledu na jazyk.
ESPHome automaticky volí správnou verzi TFT souboru podle vámi vybraného modelu a stahuje ji přímo z repozitáře projektu. Nemusíte nic stahovat ručně!
Na prvním startu je normální, že se v logu chvíli opakuje [W][nextion:xxx]: Not connected - firmware si nejdřív hledá správnou přenosovou rychlost na sériové lince k displeji, a originální firmware Sonoffu ji má jinou. Může to trvat pár minut.
Pak se ESPHome automaticky pokusí několikrát s různými parametry. Pokud ani poté nefunguje — nebo pokud přenos nejde ani z lokální složky — mám na to samostatnou sekci s postupem podle příčin.
Ruční nahrání (pouze pokud automatické selže)
Pokud automatické nahrání opakovaně selhává, můžete si TFT hostovat sám. NSPanel Easy na to nabízí dvě substituce a dost záleží na tom, kterou zvolíte:
nextion_update_base_url- přepíše jen adresu serveru, ze kterého se soubory berou. Automatická volba modelu i verze zůstává v platnosti, což je pro ruční hostování obvykle to, co chcete.nextion_update_url- plný override. Když je nastavená, obchází selektor modelu i celou verzovací logiku a použije se přesně ta jedna URL. Za to, že za ní leží kompatibilní a aktuální soubor, ručíte vy.
Postup s plným overridem:
- Stáhněte správný TFT soubor ze složky
hmi/v repozitáři na značce verze, kterou máte připnutou- Pro EU model:
nspanel_landscape.tft - Pro US model (portrait):
nspanel_portrait.tft
- Pro EU model:
- Nahrajte soubor na lokální HTTP server (např. do složky
/config/www/v Home Assistant) - V ESPHome konfiguraci doplňte do bloku
substitutions:(ne na root, je to substituce):substitutions:# ... ostatni hodnoty z Kroku 2nextion_update_url: "http://homeassistant.local:8123/local/nspanel_landscape.tft" - Zkompilujte, nahrajte OTA a stiskněte tlačítko "Update TFT display"
nextion_update_url" v selektoru už neníU NSPanel_HA_Blueprint se nextion_update_url aktivovala tím, že jste v selektoru modelu vybral zvláštní volbu „Use nextion_update_url". Ta v NSPanel Easy není - substituce se uplatní automaticky, jakmile je neprázdná. Selektor Display model proto nechte na svém skutečném modelu, protože se z něj dál řídí kalibrace dotyku a rozložení tlačítek.
A pokud jste nextion_update_url používal jen k volbě modelu (což u starého projektu šlo), odeberte ji - model si dnes selektor pořeší sám.
Konfigurace pomocí Blueprint
Teď přichází ta nejlepší část - nastavení toho, co se bude na panelu zobrazovat!
Instalace Blueprint
Blueprint se v NSPanel Easy jmenuje nspanel_easy_blueprint.yaml (u starého projektu to byl nspanel_blueprint.yaml) a importuje se z jiné adresy.
- Otevřete tento odkaz: NSPanel Easy Blueprint
- Nebo použijte tlačítko:
latest, když jsem vás před ním v Kroku 2 varovalVšiml jste si toho? V té adrese je refs/tags/latest, tedy ten samý posouvající se tag, kterému jsem se u ESPHome konfigurace vyhýbal. Není to nedůslednost, je v tom rozdíl.
U firmwaru je problém v tom, že se balíček stáhne znovu při každé rekompilaci - novou verzi tedy dostanete jako vedlejší efekt toho, že jste ťukl na Install kvůli něčemu úplně jinému. Blueprint se naopak sám neaktualizuje. Když ho v Home Assistantovi chcete přeimportovat, musíte si o to výslovně říct - je to vždycky vědomý krok, takže posouvající se tag tady nic nekazí. Odpovídá to i tomu, jak má sám projekt nastavené source_url v Blueprintu.
Nesoulad verzí navíc nezůstane utajený: firmware má v sobě min_blueprint_version (v v2026.7.1 je to 2026.5.15) a verzi Blueprintu z Home Assistanta si při startu ověřuje. Když bude Blueprint moc starý, dozvíte se to - a stav uvidíte v entitě Version - Blueprint.
Nejnápadnější změna proti NSPanel_HA_Blueprint: v Blueprintu už není volba jazyka. Nastavuje se substitucí language: cs v ESPHome YAML, viz Krok 2. Sekce Localization v Blueprintu zůstala, ale řeší v ní jen formát datumu, času a jednotek (jednotka teploty, desetinný oddělovač a kompaktní zobrazení jednotek).
Pokud vám panel po migraci mluví anglicky, tohle je ten důvod - a nespraví se to v Blueprintu, ale rekompilací firmwaru.
Vytvoření automatizace
- Jděte do Nastavení → Automatizace a scény → Blueprinty
- Najděte NSPanel Easy Configuration a klikněte na něj
- Vyplňte:
- NSPanel device (REQUIRED): vyberte ESPHome zařízení vašeho panelu
- Weather and temperature: entita počasí a teploty (interní senzor panelu nebo externí)
- Uložte a automatizaci si pojmenujte, ať v ní později najdete správný panel
Nikdy nepřiřazujte tentýž panel do dvou automatizací. Home Assistant tomu nijak nebrání, ale panel se pak chová nepředvídatelně a zbytečně to zatěžuje Wi-Fi i samotný Home Assistant. Máte-li panelů víc, vytvořte pro každý samostatnou automatizaci.
Přidání stránek a ovládacích prvků
Zbytek Blueprintu je dlouhý seznam sbalených sekcí a v nich se nastaví celý panel. Nejdůležitější:
- Home page - Entities states a Home page - Custom buttons - co je vidět na hlavní obrazovce
- Button pages 01-04 - až čtyři stránky s tlačítky; u každého tlačítka vyberete entitu, název, ikonu, barvu, případně potvrzovací dialog nebo vlastní akci
- Entities pages 01-04 - až čtyři stránky se seznamem entit
- Chips - malé stavové ikony v horní liště
- Climate page, Water heater page, Utilities page, QR code
- Hardware buttons - co mají dělat ta dvě fyzická tlačítka pod displejem
- Screensaver, Media player, Notifications, Localization (formát datumu, času a jednotek), Advanced settings
Všechno se vyklikává v uživatelském rozhraní, YAML psát nemusíte.

Blueprint automaticky detekuje typ entity (světlo, spínač, žaluzie) a zobrazí správné ovládací prvky.
Pokročilé funkce
Bluetooth Proxy - a proč ho nedoporučuji
Technicky NSPanel jako Bluetooth proxy fungovat umí. Stačí do konfigurace přidat bluetooth_proxy: a BLE zařízení v dosahu panelu se objeví v Home Assistantovi.
Jenže tohle je funkce, u které jsem po vlastní zkušenosti změnil názor.
Zkompiloval jsem tutéž konfiguraci dvakrát, jediný rozdíl byl bluetooth_proxy:. Výsledek:
s bluetooth_proxy | bez | |
|---|---|---|
| Flash | 1 529 391 B (83,3 %) | 1 110 539 B (60,5 %) |
| Celkový pool interní DRAM | 124 580 B | 180 736 B |
| Volná interní DRAM | 55 228 B | 123 352 B |
Ta prostřední řádka je podstatná. BLE controller si svoji paměť vyřízne z celkového poolu už při linkování - není to tedy jen otázka spotřeby. Volná vnitřní DRAM padá na méně než polovinu a PSRAM to nezachrání, protože pufry pro Wi-Fi musí být DMA-schopné.
Panel mi na těch 55 kB běžel půl roku. Pak jedna aktualizace ESPHome firmware o kousek nafoukla, rezerva zmizela a panel skončil černý a nedostupný. Celý průběh té diagnostiky rozebírám v článku Když NSPanel po aktualizaci nenaběhne.
Dokumentace projektu na to upozorňuje také, a to poměrně přesně:
During Startup: If your device runs out of memory at startup, it may not load the firmware, resulting in a black screen and an unresponsive device.
Původní projekt navíc Bluetooth Proxy add-on odstranil jako breaking change (issue #2669) a jeho stránka v dokumentaci dnes obsahuje jednu větu: „This add-on has been removed." Historie souvisejících problémů je dlouhá - #2168 „Enabled active bluetooth proxy bricks devices", #1815 „TFT Update Fails if Bluetooth Proxy is enabled" a další.
Tohle mě potěšilo, protože je to nezávislé potvrzení toho, na co jsem přišel při vlastní diagnostice. NSPanel Easy má v dokumentaci celou sekci Reducing Registered API Actions a v ní tuhle větu:
Each API action registered by ESPHome consumes heap memory at boot. On memory-constrained configurations — such as those running Bluetooth Proxy — this can cause boot instability or crashes.
Proto jsou API akce upload_tft a wake_up defaultně vypnuté - většina lidí je z automatizací nevolá a jejich registrace zbytečně ubírá heap při startu. Zapnete si je substitucemi include_action_upload_tft: true a include_action_wake_up: true.
Je to správný krok a pár kilobajtů to vrátí. Na mém doporučení to ale nic nemění, a to z jednoduchého důvodu: BLE controller si svoji paměť vyřízne z celkového poolu už při linkování, tedy dávno předtím, než se vůbec začne řešit, kolik akcí je registrovaných. Těch 56 kB z tabulky výš neušetříte ani nulovým počtem API akcí. Šetření na straně firmwaru vám pomůže vedle Bluetoothe, ne místo něj.
Doporučení: dejte Bluetooth proxy na samostatnou ESP32. Deska za necelou stovku do USB nabíječky má celou paměť pro sebe a hotový firmware nahrajete přes webový instalátor ESPHome bez psaní YAML. Navíc si proxy umístíte podle pokrytí BLE, ne podle toho, kde máte vypínač. Podrobněji v článku o Bluetooth Proxy.
ESP32-WROOM
WiFi
Bluetooth
Vlastní TFT design
Pokud vás baví úpravy, můžete vytvořit vlastní design displeje:
- Stáhněte Nextion Editor
- Upravte HMI soubor podle svých představ
- Zkompilujte do TFT
- Nahrajte na panel
Vyžaduje znalost Nextion platformy, není pro začátečníky.
Sledování komunikace s displejem
Na desce najdete testovací pady označené TF_RX a TF_TX. Logickým analyzátorem nebo druhým USB-TTL adaptérem si na nich můžete odposlechnout komunikaci mezi ESP32 a displejem. Využijete to při ladění vlastního TFT designu, kdy potřebujete vidět, jaké příkazy displej skutečně dostává.
Řešení problémů
Během instalace jsem narazil na několik problémů, které se vám také můžou stát:
Kompilace padá na chybu
Pár chybových hlášení, na která se dá narazit, a co za nimi bývá:
| Hlášení | Příčina |
|---|---|
region 'dram0_0_seg' overflowed by N bytes.dram0.bss will not fit in region | Nevejdete se do paměti. Nejčastěji kvůli bluetooth_proxy - viz varování níž. Ubírejte komponenty, dokud to neprojde |
Component not found: nextion_update_url | Vložil jste ho na root konfigurace, ale je to substituce - patří do bloku substitutions: |
Couldn't find ID 'wifi_component' a podobné odkazy na neznámá ID | Chybí vám balíček projektu, nebo jste ho stáhl z jiné verze. Zkontrolujte blok packages: z Kroku 2 |
| Chyby, které se objevily „samy" po rekompilaci | Táhnete balíček z posouvajícího se tagu (ref: latest, případně ref: main), takže se vám verze změnila pod rukama. Připněte konkrétní tag, jak je v Kroku 2 |
Soubor v packages: nejde najít (404, Failed to load, prázdný balíček) | Klasika při přechodu na NSPanel Easy: add-ony patří do podsložky esphome/, ale základní nspanel_esphome.yaml do rootu. Zkontrolujte, že máte esphome/nspanel_esphome_addon_...yaml s prefixem a nspanel_esphome.yaml bez něj |
ESPHome version too old / požadavek na vyšší min_version | NSPanel Easy si minimální verzi ESPHome hlídá sám a řekne vám ji. Pro v2026.7.1 je to 2026.5.0. Aktualizujte doplněk ESPHome |
NSPanel Easy má minimální verzi ESPHome deklarovanou ve firmwaru a kontrolovanou při kompilaci - pro v2026.7.1 je to 2026.5.0 a s nižší dostanete jasnou chybu, ne záhadné hlášení. Obecné pravidlo projektu je, že cílí na Home Assistant a ESPHome vydané ne dříve než dva měsíce před daným vydáním NSPanel Easy.
Horní hranici ale nikdo nehlídá, takže s výrazně novější verzí ESPHome, než na jakou byl firmware testovaný, se můžete dostat do kombinace, kterou nikdo nezkoušel — přesně to je popsané tady.
NSPanel nejde přepnout do bootloader režimu
- Spojte
IO0sGNDa až potom připojte napájení. Držení levého tlačítka nefunguje - tlačítka jsou na GPIO14 a GPIO27, ne na GPIO0 - Ověřte, že zkratka drží po celou dobu zapínání, ne až po něm
- Zkuste jiný USB-TTL adaptér nebo jiný USB port
NSPanel se v boot loopu restartuje každou sekundu a v logu je rst:0x1
Kód rst:0x1 (POWERON_RESET) znamená, že čip skutečně ztratil napájení, ne že by spadl software. U pádu firmwaru byste viděl rst:0xc (SW_CPU_RESET) a Guru Meditation Error.
Nejčastější příčina je napájení panelu z pinu 3V3 na USB-TTL převodníku. Ten pin jde z drobného stabilizátoru na desce převodníku, který dá tak 50–100 mA. Na flashování to stačí, ale startující Wi-Fi si řekne o mnohonásobek a napájení se složí - proto flash proběhne a panel se pak restartuje.
- Přepojte napájení na pin
+5Vpřevodníku, ten jde prakticky z USB VBUS - Panel si těch 5 V převede vlastním stabilizátorem, který na to dimenzovaný je
- U 500mA USB portu to může být těsné - pomůže port USB 3.0
Tuhle past jsem si vyzkoušel na vlastní kůži - vyrobila mi falešnou diagnózu, viz post-mortem.
NSPanel je černý, není na Wi-Fi a přeflešování nepomáhá
Podívejte se do sériového logu, jestli tam není tohle:
[C][safe_mode:189]: Unsuccessful boot attempts: 10
[E][safe_mode:201]: Boot loop detected
Panel se zakousl v safe mode, kde ESPHome nespustí displej ani nic z konfigurace panelu - černá obrazovka je v tomhle stavu očekávaná. A je to past, protože počítadlo neúspěšných startů se na ESP32 ukládá do flash (NVS), takže přežije odpojení od proudu.
Zákeřné je, že factory.bin ho nepřepíše. NVS oddíl sedí na 0x390000, factory image se zapisuje od 0x0 a pokrývá jen bootloader, tabulku oddílů a app0. Přeflešování tedy počítadlo nechá být.
Řešení je smazat celý flash:
esptool --port /dev/cu.usbserial-0001 erase-flash
esptool --port /dev/cu.usbserial-0001 --baud 460800 write-flash 0x0 nspanel01.factory.bin
Port si dohledejte podle systému: na macOS /dev/cu.usbserial-* (ne tty., ten umí čekat na signál DCD a esptool se zasekne), na Linuxu /dev/ttyUSB0, na Windows COM3. Se starší instalací esptool použijte esptool.py a erase_flash s podtržítkem.
Wi-Fi údaje jsou zakompilované ve firmwaru, takže o nic nepřijdete.
Proč to factory image nezvládne a jak jsem na to přišel, rozebírám v post-mortemu.
Přidejte si do konfigurace tohle:
safe_mode:
storage: rtc
Počítadlo se přesune do RTC paměti, kterou odpojení od proudu vymaže. Safe mode vám zůstane jako záchranná síť, ale panel se v něm už nikdy nezamkne natrvalo a vystačíte si s vypnutím a zapnutím místo sériovky.
Panel se dlouho připojuje k Wi-Fi nebo se nepřipojí vůbec
Pokud máte skrytou SSID, hledejte v logu tyhle dva řádky:
[W][wifi:1603]: 'moje-iot-sit' should be marked hidden
[W][wifi:1480]: No networks found
Skrytou síť ESPHome scanem nenajde a musí přes záložní větev pro skryté sítě. Řešením je scan úplně vynechat:
wifi:
fast_connect: true
Panel se pak připojí přímo na první nakonfigurovanou síť. U pevné instalace, která se celý život hlásí na stejný AP, tím nic neztrácíte. Souvislost se skrytou SSID a pádem ESPHome rozebírám v post-mortemu.
hidden: trueVolba hidden v ESPHome existuje, ale je platná jen uvnitř networks:, ne v top-level wifi:. A u NSPanel Easy (stejně jako u NSPanel_HA_Blueprint, odkud tenhle mechanismus pochází) ji nastavit nejde - ESPHome slučuje seznamy z balíčků zřetězením (old + new), takže by vznikla druhá síťová položka bez SSID a konfigurace by spadla na validaci. Použijte fast_connect.
NSPanel se při flashování náhodně restartuje nebo se vůbec nepřipojí
- Nejčastější příčinou je zkrat o kovové stínění displeje, které je hned vedle sériového headeru - zkontrolujte, že se ho žádný pin nedotýká, a případně ho přelepte izolepou
- Ověřte, že máte TX a RX prohozené (TX panelu do RX adaptéru a naopak)
Nahrávání TFT displeje se nespustí, nedokončí, nebo nejde ani z lokální složky
Tohle je nejčastější potíž celého NSPanelu a stojí za ní překvapivě málo příčin. Důležité vodítko: pokud to nejde ani z lokální složky, problém není ve stahování — a pak vám nepomůže hledat jiný webserver.
Nejdřív zkuste prázdný TFT soubor
Za většinou problémů stojí Active Reparse Mode displeje Nextion. Ten je zapnutý na panelech, kde jezdil originální firmware Sonoffu nebo nspanel-lovelace-ui, a v tomhle režimu displej běžný upload odmítne bez ohledu na to, odkud soubor jde.
Vypne ho nahrání jakéhokoli TFT z tohoto projektu — jenže běžný soubor má přes 13 MB a s tím se ESP32 nadře. Projekt proto nabízí nspanel_blank.tft, který má necelých 700 kB a jehož jediným účelem je Reparse Mode vypnout. V NSPanel Easy ho nemusíte nikde stahovat, je to volba přímo v selektoru modelu:
- V selektoru Display model vyberte NSpanel Blank
- Stiskněte Update TFT display a nechte to dojet - je to malý soubor, netrvá to dlouho
- Teprve potom přepněte selektor na svůj skutečný model (NSpanel EU) a nahrajte ten pravý TFT
Případně si nspanel_blank.tft můžete vzít ze složky hmi/ v repozitáři a hostovat lokálně.
Pokud jste na panelu měl nspanel-lovelace-ui, bez tohoto mezikroku nenahrajete vůbec nic. Dokumentace projektu to uvádí jako podmínku, ne jako tip.
Když to nepomůže, projděte tohle v tomto pořadí
| Co zkontrolovat | Proč |
|---|---|
Máte v konfiguraci bluetooth_proxy nebo esp32_ble_tracker? Dočasně je odstraňte | Nahrávání TFT potřebuje kus RAM a s BLE ho nedostane. Viz varování o paměti a issue #1815 |
Hostujete z /config/www/? Restartovali jste Home Assistant? | Bez restartu se ta složka na adrese /local/ neservíruje. Tohle je nejčastější důvod, proč „lokální složka nefunguje" |
Používáte http://, ne https://? | HTTPS je pro ESP problematické a přenos na něm padá |
Máte v URL IP adresu místo homeassistant.local? | DNS a mDNS jsou častý zdroj potíží. Použijte http://192.168.x.x:8123/local/… |
| Nastavil jste panelu manuální IP? Doplňte DNS server | Bez DNS nejde stahovat z GitHubu. Buď DNS doplňte, nebo hostujte lokálně |
| Nespustil jste přenos moc brzy po startu? | Displej se k ESPHome nepřipojí okamžitě. Počkejte až dvě minuty, než dojede boot skript |
Velikost souboru — stáhněte .tft tou samou URL do počítače a porovnejte s GitHubem | Snadno se stane, že se místo souboru uloží HTML stránka. Ta se „nahraje" a selže |
| Odpojte panel od proudu, počkejte 30 sekund, zapněte | Vrátí displej i ESP do čistého stavu |
Používáte framework esp-idf? | arduino je dlouhodobě deprecated a nepodporovaný (v původním projektu od verze v4.3.22). NSPanel Easy staví na esp-idf a jiný framework nepodporuje - přepnout na arduino sice technicky jde, ale dokumentace to sama označuje za neudržované. Přenosový engine se na něm chová jinak a HTTPS na něm bývá nestabilní |
Nedostáváte se dál než k opakovanému [W][nextion:xxx]: Not connected? | Firmware si hledá přenosovou rychlost k displeji a na prvním startu to chvíli trvá. Když to nepřejde, přidejte substituci include_button_scan_baud_rate: true - dostanete v Home Assistantovi diagnostické tlačítko Scan baud rate, které projde všechny podporované rychlosti a na té funkční pak spustí přenos |
Když už se přenos rozjel, panel často neposlechne tlačítko Restart v Home Assistantovi ani patnáctisekundové držení tlačítka. Pomůže odpojení od proudu, nebo hardwarové resetovací tlačítko v malé dírce na zadní straně panelu — dosáhnete na něj špendlíkem.
Vypadá to hrozivě, občas i vzhůru nohama, ale znamená to jen neúplný nebo neplatný TFT soubor. Úspěšné nahrání to spraví, panel není poškozený. U „Model does not match" někdy stačí i restart, který vrátí předchozí TFT.
To je jiný problém — na panelu neběží konfigurace NSPanel Easy. Viz samostatná sekce. Pokud tam konfiguraci máte a prvky přesto chybí, odeberte integraci ESPHome, restartujte Home Assistant a přidejte zařízení znovu.
NSPanel se po flashování neobjevil v Home Assistantu
- Zkontrolujte, že je integrace ESPHome aktivní
- Restartujte Home Assistant
- Zkuste manuální přidání přes IP adresu a port
6053
NSPanel má bílý displej a nic se nezobrazuje
- Během nahrávání TFT je to normální, buďte trpěliví
- Pokud to trvá déle než 20 minut, zkuste panel restartovat
Zhodnocení
Po několika měsících používání NSPanelu s ESPHome můžu říct, že jsem velmi spokojený. Instalace sice vyžaduje trochu technických znalostí a trpělivosti, ale výsledek za to stojí.
✅ Hlavní výhody
- Úplná kontrola - žádná závislost na cloudu
- Hluboká integrace - vše z Home Assistant na dosah
- Aktivní komunita - pravidelné aktualizace a podpora
- Skvělý poměr cena/výkon - za necelé dva tisíce úžasné řešení
- Bez cloudu - funguje i kdyby eWeLink servery zmizely
⚠️ Co by mohlo být lepší
- Kvalita displeje - průměrná viditelnost z úhlu, vybledlejší barvy
- Složitější instalace - není pro naprosté začátečníky
- TFT nahrávání - občas je to loterie
Doporučení
NSPanel s ESPHome doporučuji pokud:
- ✅ Používáte Home Assistant
- ✅ Máte základní technické znalosti
- ✅ Nechcete cloudová řešení
- ✅ Oceníte dobrou cenu
Nedoporučuji pokud:
- ❌ Jste úplný začátečník
- ❌ Chcete plug-and-play řešení
- ❌ Vyžadujete prémiový displej
Pokud hledáte inteligentní ovládací panel s dobrým poměrem ceny a výkonu a nechcete být závislí na cloudu, NSPanel s ESPHome je skvělá volba. Instalace není triviální, ale díky tomuto návodu by to měl zvládnout každý s trochou technických znalostí.
Sonoff NSPanel EU, šedý
WiFi
Bluetooth
Sonoff NSPanel EU, bílý
WiFi
Bluetooth
CP2102 USB 2.0 to TTL UART Module
USB
Související články
- Z NSPanel_HA_Blueprint na NSPanel Easy - migrace krok za krokem
- Když NSPanel po aktualizaci nenaběhne - rozbor jednoho výpadku
- ESPHome - Úvod a instalace
- Bluetooth Proxy v Home Assistant
- Tasmota - Alternativa k ESPHome
Zdroje
- Dokumentace NSPanel Easy - oficiální dokumentace projektu, včetně seznamu jazyků a průvodce přechodem z původního projektu (anglicky)
- NSPanel Easy na GitHubu - zdrojové kódy, vydané verze a hlášení chyb
- Discord komunity NSPanel Easy - tady se řeší dotazy a problémy nejrychleji (anglicky)
- Issue #3277 - Transitioning Development to NSPanel Easy - oznámení přesunu vývoje z původního repozitáře (anglicky)
- NSPanel teardown na blakadder.com - detailní rozbor hardwaru včetně fotek desky a kompletního pinoutu (anglicky)
Pomohl vám tenhle návod?
Návody tu píšu ve volném čase a udržuju je aktuální. Když vám některý ušetřil čas, můžete přispět.
Jednorázově, kartou nebo Apple Pay. Částku lze na další stránce změnit.
Nechcete posílat peníze? Kupujte podle návodů přes moje odkazy na produkty. Cena je pro vás stejná a pomůže to taky.