AI News HubLIVE
サイト内リライト4 分で読了

翻訳待ち:Show HN: Tesserae, self-hosted dashboards for e-ink panels

AI サービスが一時的に利用できないため、復旧後に翻訳を補完します。ソース概要:Tesserae · Self-hosted dashboards for e-ink displays Free, open-source dashboard server Self-hosted dashboards for e-ink displays. Compose a dashboard in the browser; Tesserae renders it, dithers it to your panel's bit…

ソースHacker News AI著者: xDaftTurtle

AI サービスが一時的に利用できないため、復旧後に翻訳を補完します。

Tesserae · Self-hosted dashboards for e-ink displays Free, open-source dashboard server Self-hosted dashboards for e-ink displays. Compose a dashboard in the browser; Tesserae renders it, dithers it to your panel's bit depth, and pushes the frame over MQTT or REST. Thirteen panels verified on real hardware, twenty-nine supported. One server, no accounts, no cloud. View on GitHubRead the docs AGPL-3.0no trackingno accountsMelbourne Morning board800×480 One shelf · one server · one houseWeather · now playing · F1 · calendar No glow. No notifications. No refresh until something changes. 0.4W average per panel · weeks per charge Two ways to compose Cards editor · MCP canvas · 35 widgets, 18 community 01 · Place it yourself The cards editor: split the panel with a layout, drop a widget into each cell, and tune it in the form. The preview re-renders after every change; 14 themes bundled, then bind to a panel and hit Push. Widget editor Place it yourself. Cell by cell. Split the panel with a layout, drop a widget into each cell, and tune it in the form. The live preview re-renders after every change. No code, no agent. Click a cell in the preview to configure it. HTML viewPanel view Weather 14° Light rain · feels 12° Now14°3pm16°9pm11° Clock 09:41 Thursday 12 June Week24Sunrise06:58 Calendar 09:30Team standup 12:00Lunch — Ada 15:301:1 with Sam Climate 21.5° Target 22° · 48% RH 800 × 480 · reTerminal E1001 A faithful mock of the built-in dashboard editor. The self-hosted app carries 35 bundled widgets, 18 more in the community catalog, a theme builder, per-cell overrides, scheduling and rotations.Read the source 02 · Or describe it Prefer to describe it? The same freeform editor, driven by an MCP agent: it runs the real tool loop — create the canvas, add a code element, append each source — and composes the panel while you watch. Entirely optional. Canvas editor · MCP Or just describe it. Watch it build. The same freeform editor, driven by an MCP agent. Ask in plain language and it runs the real tool loop, composing the panel in the canvas while you watch. Daily Briefexperimental Save Choose device… Send to panels THURSDAY 12 JUNE 09:41 87% 14° Partly cloudy Feels 12° · Melbourne 3PM 16°6PM 14°9PM 11°12A 9° Up next Team standup 9:30 AM · Zoom 12:00 · Lunch with Ada Now playing Avril 14th Aphex Twin 0:472:03 Daily Brief 600 × 400 tesserae · mcp agent you▋ A faithful mock of the editor being driven over MCP. The real tool loop (create_canvas_page → bind_devices → add_element → append_code → render_preview → push) composes the panel exactly like this. Read the source Dashboard examples Real renders · 16 dashboards · four panel sizes Install Yours, on yourown hardware. One container, a one-line script, a Home Assistant app, an LXC container, or straight from source. Open the UI, set a password, start composing. Nothing leaves the house. 01 Run the server One container on the box you already own. Open the UI, set a password. No account, no cloud. 02 Pair a panel Flash Seeed/Waveshare from the browser, or install the Pi, Kindle or TRMNL client. It appears under Discovered. 03 Compose a dashboard Drag widgets onto the grid — or ask the agent — then bind the page to a panel and hit Push. 04 Put it on a cadence Every N minutes, or daily at a set time. Battery panels render just before each wake with smart sync. $ mkdir ~/tesserae && cd ~/tesserae $ curl -fsSLO tesserae.ink/docker-compose.yml $ docker compose up -d → localhost:8765 · set a password Full docker guide → # Settings → Apps → app store → ⋮ → Repositories # Add repo: github.com/dmellok/homeassistant-tesserae-addon $ Install Tesserae, then Start → Open Web UI (no password; HA's own auth gates it) Full home assistant guide → $ curl -fsSL tesserae.ink/install.sh | bash $ cd ~/tesserae && ./run.sh → localhost:8765 · set a password Full shell guide → # In an unprivileged Debian/Ubuntu container: $ apt update && apt install -y git python3 python3.13-venv $ curl -fsSL tesserae.ink/install.sh | bash → :8765 · set a password Full lxc guide → $ git clone https://github.com/dmellok/tesserae.git $ cd tesserae && python3 -m venv .venv $ .venv/bin/pip install -e ".[dev]" $ .venv/bin/python -m app.main --dev → localhost:8765 · hot-reload dev server Full source guide → No accountNo cloudNo trackingRuns anywhere 13 Panels verified 2,680 Passing tests 0 Accounts One server, many panels renderers/ · transports/ · devices/ BROWSEREDITOR compose ↓ TESSERAESERVER render → dither → fan out ↓ Most e-paper projects are one firmware pinned to one panel. Tesserae splits rendering from transport from hardware. MQTT Raspberry Pi Always-on. The server pushes a new frame the moment a page changes. Inky Impression, every size. pi-png / pi-bin client REST ESP32 Wakes, pulls its frame over HTTP, sleeps again. Smart sync renders just before each wake. tesserae-device-firmware MQTT Kindle A jailbroken Paperwhite becomes a panel via the KOReader plugin. 758×1024, 1-bit. koreader plugin HTTP TRMNL & custom BYOS firmware points at your server. Anything else: a small adapter and a custom panel size. openapi 3.0 · drop-a-folder plugins 13 panels, verified on real hardware 29 supported · report yours PANELRESOLUTIONSTATUS Seeed Studio tesserae-firmware reTerminal E1001 800×480 VERIFIEDreTerminal E1002 800×480 VERIFIEDreTerminal E1003 1872×1404 VERIFIEDreTerminal E1004 1200×1600 VERIFIEDXIAO 13.3" ePaper (EE02) 1200×1600 VERIFIEDTRMNL 7.5" OG DIY Kit 800×480 VERIFIED Pimoroni Inky pi-png / pi-bin Inky Impression 4" 640×400 VERIFIEDInky Impression 5.7" 600×448 VERIFIEDInky Impression 7.3" 800×480 VERIFIEDInky Impression 13.3" 1600×1200 VERIFIEDInky pHAT / wHAT various PENDING Waveshare ESP32 Waveshare 13.3" Spectra 6 1200×1600 VERIFIEDWaveshare 7.3" PhotoPainter 800×480 VERIFIEDWaveshare 4.2" B/W 400×300 PENDING Xteink ESP32 · crossink Xteink X3 528×792 VERIFIEDXteink X4 480×800 VERIFIED TRMNL-compatible HTTP pull TRMNL OG 800×480 PENDINGTRMNL X 1872×1404 VERIFIEDKindle Paperwhite 2 (jailbroken) 758×1024 VERIFIED PicPak ESP32-C3 · community PicPak 4.2" photo frame 400×300 VERIFIED CircuitPython REST Generic CircuitPython client (400+ boards) per-panel PLANNED Anything else: Settings → Panel → custom, set the dimensions. Report a working panel and it joins the table. Shortest path The Seeed reTerminal E-Series Four pre-assembled, battery-powered ePaper devices sharing one Tesserae-native firmware you flash from the browser. No assembly, no soldering, no toolchain. E1001 7.5" mono · 800×480 E1002 7.3" Spectra 6 · 800×480 E1003 10.3" 16-grey · 1872×1404 E1004 13.3" Spectra 6 · 1200×1600 Firmware flasher Flash your panel from this page. Web Serial writes the firmware over USB. Every image checked against its SHA-256 before a byte lands. Open the flasherCHROME OR EDGE Open all the way down No accounts · no black boxes Design Drag-resize cells, live preview14 themes bundled, 60+ communityLayout presets per panelSchedules and rotations Devices Pi: Inky, every sizeESP32: Waveshare, PhotoPainterKindle via KOReaderTRMNL-compatible BYOS Integrations Home Assistant + MQTT discoveryOpen-Meteo, bundledCalDAV, Google, iCloudSpotify, GitHub, OctoPrint, F1 Developer Drop-a-folder pluginsOpenAPI 3.0 REST APIAGPL-3.0-or-later2,680 passing tests Built in the open. PRs welcome. Every feature, bug and design decision lives in the issue tracker. Pick one and send a PR — or run it on a panel nobody has tried yet and file the report. Good first issues labels/good first issue Discussions setup · ideas · show-and-tell Roadmap milestones/ Sponsor github/sponsors/dmellok Why AGPL, and what your server sends The AGPL keeps the server free even when run as a service. No accounts. Online features are off by default — nothing is sent unless you enable them under Settings → System → Online features. With them on, the app contacts api.tesserae.ink for update checks and an anonymous count of which marketplace widgets are in use; a coarse country is derived from the IP, then discarded. Read the source Read the privacy page Security policy Why I built it Beautiful ambient displays, tied to nobody's cloud. Tesserae grew from a weekend project into a plugin platform spanning several hardware families and rendering pipelines. A solo project, built in Melbourne. If it earns a place on your wall, sponsor the work — or just send a panel report. View on GitHubRead the docs Self-hosted dashboards for e-ink displays. Compose, render, push. Your pixels, your walls. AGPL-3.0-or-later · no tracking · no subscriptions · Melbourne PRODUCT ComposePanelsInstallHardware DOCS DocumentationWidgetsClientsPrivacy PROJECT GitHubIssuesReleasesLicense