TRMNL už u mě není jen displej na počasí a další informace z Internetu. Když jsem narazil na self-hosted projekt Tesserae, napadlo mě zkusit něco, co běžný TRMNL sám nenabízí: poskládat si vlastní Home Assistant obrazovku přesně pro 800×480 e-ink. Tesserae a TRMNL se nakonec ukázaly jako překvapivě silná dvojice — a přitom jsem nemusel opustit oficiální TRMNL cloud, playlist ani Tempest plugin. Cesta ale nebyla úplně bezbolestná.
V původní recenzi TRMNL jsem psal, že se z původně jednoduchého externího displeje pro meteostanici Tempest díky Home Assistantu postupně stal mnohem univerzálnější Smart Home informační panel.
Tehdy jsem ale zároveň narazil na jednu praktickou hranici: běžný Home Assistant dashboard je primárně určený pro monitor, tablet nebo telefon. Na 7,5″ černobílém e-ink displeji s rozlišením 800×480 bodů už tak dobře nefunguje. Některé prvky jsou zbytečně velké, jiné příliš jemné a část obrazovky zabírá něco, co na pasivním informačním displeji vůbec nepotřebuji.
A právě tady začal být zajímavý projekt Tesserae.

Co je Tesserae?
Tesserae je open-source self-hosted server pro tvorbu dashboardů určených přímo pro e-ink displeje. Dashboard se skládá v běžném browseru z jednotlivých buněk a widgetů, server jej vyrenderuje v přesném rozlišení cílového panelu a výsledný obraz připraví pro konkrétní typ e-paperu.
Projekt lze provozovat například v Dockeru, ale existuje také integrace pro Home Assistant, takže Tesserae může běžet přímo jako Home Assistant App. Právě tuto variantu používám na Home Assistantu Bleiberg.
Důležitý rozdíl proti obyčejnému screenshotu Lovelace dashboardu je v tom, že obrazovka vzniká od začátku jako samostatný e-ink dashboard. Není to tedy „zmenšený Home Assistant“, ale vlastní kompozice navržená přesně pro 800×480 bodů, vysoký kontrast a omezenou barevnost.
Tesserae přitom renderuje stejnou kompozici, kterou vidíte v editoru, serverově přes headless Chromium. Výsledný obrázek pak umí podle cílového panelu převést například do 1bitového monochromatického formátu.

Home Assistant jako zdroj dat
Tesserae umí pracovat přímo s Home Assistantem. V editoru lze vybírat entity a zobrazit například stav senzoru, hodnotu spotřeby, alarm, vlhkost půdy nebo čas posledního renderu.
V mém případě tak Home Assistant zůstává hlavním zdrojem dat i logiky. Tesserae řeší především prezentaci: vezme vybrané entity, sestaví je do jednoduchého dashboardu a vytvoří výsledný e-ink obraz.
To se ukázalo jako velmi praktické. Home Assistant může dál dělat všechno složité — počítat a řídit zavlažování, sledovat dynamický tarif elektřiny, vyhodnocovat stav vrtu, sledovat stav připojení k internetu – zatímco na TRMNL se zobrazí jen krátký lidsky čitelný výsledek.
Tesserae a TRMNL bez opuštění oficiálního cloudu
Tesserae umí TRMNL OG a TRMNL X obsluhovat také přímo. V takovém případě se displej místo oficiální služby TRMNL připojuje k vlastnímu serveru – tedy do režimu BYOS (Bring Your Own Server), bez využití oficiálního TRMNL cloudu.
Já se ale rozhodl jinak.
Nechtěl jsem přijít o oficiální trmnl.app, playlist ani nativní plugin pro WeatherFlow Tempest, který používám od začátku. Fyzický TRMNL tedy zůstal připojený k oficiálnímu TRMNL cloudu a Tesserae u mě funguje pouze jako renderer.
Cesta proto vypadá přibližně takto:
Home Assistant → Tesserae → 800×480 render → 1bit PNG → TRMNL Webhook Image → oficiální playlist → fyzický TRMNL
Home Assistant každých 15 minut vyvolá nový render v Tesserae. Výsledný obrázek vezme náš bridge, převede jej na skutečný 1bit monochromatický PNG a odešle do Webhook Image pluginu v TRMNL cloudu.
Samotný TRMNL se přitom z pohledu běžného provozu nezměnil. Dál používá svůj běžný playlist a vlastní Home Assistant obrazovka se u mě střídá s Tempest pluginem.

Co se na dashboardu nakonec osvědčilo
Po několika pokusech jsem skončil u velmi jednoduchého rozložení 2×2. Čtyři logické bloky mají vždy jen několik opravdu užitečných údajů.
ELBI
ELBI je naše nádrž pro vodu čerpanou z vrtu – našeho zdroje vody. Do Tesserae jde hladina vody, její použitelná zásoba, kolik vody dnes do nádrže z vrtu bylo načerpáno a stav vrtu (senzor nízkého stavu vody).
DŮM
Stav zabezpečení, denní spotřeba elektřiny, aktuální dynamický tarif elektřiny a stav nočního infračerveného přísvitu kamer.
SYSTÉM
Rychlost internetu, hlavní UPS, stav bridge mezi Home Assistantem a TRMNL a dostupnost Gardena Smart Connect cloudu.
ZAVLAŽOVÁNÍ
Zde zobrazuji stav speciálních zavlažovacích režimů Seed Repair a Syringace a také vlhkost a teplotu půdy.
U některých numerických hodnot jsem zkusil zapnout i malé „sparkliny“. Na e-inku fungují překvapivě dobře: u hladiny vody nebo rychlosti internetu člověk na první pohled vidí trend, aniž by dashboard začal připomínat klasický grafický panel.
Naopak jsem odstranil věci, které sice vypadaly efektně, ale na e-inku nedávaly moc smysl. Typickým příkladem byl aktuální čas v horní liště. Displej se probouzí v intervalech, takže „hodiny“ na něm stejně rychle zastarávají.

Drobné pomocné senzory dělají velký rozdíl
Jedna z nejzajímavějších zkušeností byla, že není vždy ideální posílat do Tesserae surovou Home Assistant entitu.
Například dynamický tarif ČEZu (řídí se podle něj např. elektrický bojler) měl hodnotu 10 %, ale je zde zásadní to znaménko. Rozdíl mezi +10 % a −10 % samozřejmě není kosmetika. Proto jsem vytvořil jednoduchý pomocný template sensor, který pro e-ink vrací přímo text +10%, −10%, +25% nebo −50%.
Podobně jsem upravil i dva speciální zavlažovací režimy Lawn Maestro (můj velký HA projekt chytrého zavlažování, brzy bude také recenze). Namísto obyčejného on/off dnes TRMNL „lidštěji“ ukazuje:
povoleno / vypnuto / běží
To je na první pohled mnohem užitečnější. Stav „povoleno“ znamená, že je funkce připravená pro další automatický běh, zatímco „běží“ říká, že se právě skutečně něco děje.
Stejný princip používá i řádek TRMNL bridge, který zobrazuje například:
ON · 22:00
Jedním krátkým údajem tak současně vidím, že je automatický bridge zapnutý, a také kdy byl obraz naposledy vytvořen..
Co mě při testování potrápilo
Tesserae se vyvíjí velmi rychle a je fér říct, že cesta nebyla úplně hladká.
Během jednoho upgradu jsem narazil na poměrně nepříjemnou regresi. Home Assistant widgety přestaly fungovat tak, jak měly, následovala diagnostika, čistá reinstalace Tesserae a obnova konfigurace. Nakonec jsem vše dostal zpět, ale stálo to podstatně více času, než jsem čekal. Naštěstí to byla stále testovací fáze, tak to moc nebolelo.
Od té chvíle používám jednoduché pravidlo: pokud současná verze funguje, neinstaluji nový release jen proto, že právě vyšel. Před větším upgradem má smysl udělat export Tesserae, případně i snapshot celé VM s Home Assistantem, běžící na NAS Synology.
Na druhou stranu je dobře vidět, že projekt žije. Nové funkce přibývají rychle a dokumentace je na open-source hobby projekt překvapivě podrobná. Aktuální stav a možnosti lze sledovat na GitHubu Tesserae a v oficiální dokumentaci.
Co bych ještě změnil
Finální dashboard je už velmi blízko tomu, co jsem chtěl, ale jedna drobnost mě stále trochu irituje: Home Assistant Sensor widget v Tesserae u názvu skupiny zobrazuje počet vybraných entit. Proto jsou vedle názvů ELBI, DŮM, SYSTÉM a ZAVLAŽOVÁNÍ malé čtyřky.
Funkčně ničemu nevadí, ale informační hodnotu nemají. V současném editoru jsem dosud nenašel jednoduchý přepínač, kterým to vypnout.
Je to ale kosmetika. V tuto chvíli je pro mě podstatnější, že samotný obsah je čitelný a na fyzickém e-inku vypadá prakticky stejně jako serverový render.

Výsledek: přesně ten typ obrazovky, který e-ink potřebuje
V první recenzi TRMNL jsem psal, že Home Assistant z TRMNL udělal podstatně univerzálnější informační panel. Tesserae tenhle koncept posunulo ještě dál.
Home Assistant dál obstarává data a logiku. Tesserae z nich vytvoří jednoduchou obrazovku navrženou přímo pro e-paper. A TRMNL ji zobrazí stejně nenápadně jako kterýkoli jiný plugin v playlistu.
V mém případě to navíc funguje bez nutnosti opustit oficiální TRMNL cloud, takže mohu dál používat i jiné TRMNL pluginy.
Po poměrně intenzivním laborování tak mám přesně to, co jsem od podobného zařízení chtěl: ne další trvale svítící tablet na stěně, ale klidný, úsporný displej se stavem vody, domu, energie, systému a zahrady, na který se stačí na pár sekund podívat.
A právě v tom podle mě e-ink v chytré domácnosti dává největší smysl.
Pokud jste článek dočetli až sem a zaujal vás, budu moc rád za hodnocení na konci. Komentáře či otázky vítám. Vše rád zodpovím. Pro pokročilé dotazy či spolupráci použijte náš kontaktní formulář.