Features Wishlist

Screens that talk over Home Assistant events (no ESPHome device needed)

DevFlorianSuggested this wish Β·

Today a screen has to be an ESPHome device: Tessera finds it by its Tile settings text entity and the Screen firmware / Device name / Screen layout / Screen features sensors, and sends it pages through the screen_message action, reading the answer as the action's response. I'd like a second transport for the same page protocol, over Home Assistant's event bus, so that anything with a Home Assistant connection can be a Tessera screen: an Android wall tablet or kiosk app, a small desktop app, a smart clock. The editor, the protocol messages and the answers would stay exactly as they are. Only the way they travel changes. A possible shape:

  1. Hello: the screen fires tessera_screen_hello with what the sensors say today: {screen: , name, firmware, layout: "800x480 4x2 standard", features: [...]}. The screen fires it again on start and whenever its grid changes. Tessera lists it with the other screens.

  2. Messages: Tessera fires tessera_screen_message with {screen, message} (the same JSON it hands to screen_message now).

  3. Answers: the screen fires tessera_screen_answer with {screen, answer} (the same object screen_message returns now). Session and sequence are inside the messages already, so Tessera can match an answer to its message. A missing answer within a few seconds counts as a failed delivery, like an action that times out.

  4. Taps: the screen calls Home Assistant actions itself, with its own token, as ESP screens do today. Why this would help:

  5. Many people already have Android tablets or old smart displays on the wall. Some of them can't show Home Assistant dashboards well any more (old WebView), but they can run a native app or a kiosk plugin. With this, Tessera's editor could lay out their screens too.

  6. It needs no ESPHome emulation, no extra service and no second device per screen. I've tried this end to end. A Kiosk Satellite plugin draws Tessera layouts natively on a Lenovo Smart Clock 2 (800Γ—480, WebView 74), with cover buttons, light sliders and presets, and a TV remote keypad, and it works well. But today it needs a small bridge that poses as an ESPHome device for Tessera, because the kiosk app doesn't let plugins register an action with a response or a text entity. Its developer declined that, and pointed out that plugins can already receive Home Assistant events (subscribe_events) and fire their own. That is exactly what this transport would use. I'm happy to test a beta on that device.

Discussion 0

Add a comment

Start the conversation

Share an example, ask a question or explain how you would use this.

Add your thoughts, a screenshot or a useful link.

Markdown & basic HTML
Paste or drop images Β· URLs on their own line become previews0 / 10,000
Create your account to join in

We need a verified email address to reach you about your contribution. Your address stays private.

Continue with GitHub

Your draft stays in this tab. Return here after verification.