Skip to content

Support button and touch events over WiFi for mains-powered devices #125

Description

@GourmetGit

What I'm running

Seeed reTerminal E1003, firmware 2.26.2, integration 3.0.2, HA 2026.8.1.
The device is mains powered and permanently on WiFi.

What I expected

I moved this device to WiFi mode specifically for responsiveness. It's plugged in,
always awake, and on the same network as Home Assistant, so I expected its three
buttons and the touchscreen to register in HA immediately — the way any always-on
WiFi device does. Fast image delivery was a nice bonus, but instant input was the
actual reason I switched.

What happens instead

Button and touch events only arrive over Bluetooth, no matter which transport the
device is using. And once the device is on WiFi it goes quiet on BLE — it drops to
roughly one beacon a minute, which makes sense for a device that's moved to WiFi,
but it means a button press has to happen to coincide with that beacon to be seen
at all. In practice the buttons and touch events are unusable.

So switching to WiFi actually made input worse than staying on BLE, which was the
opposite of what I was going for.

The request

Please consider delivering button and touch events over WiFi when a device is
connected that way. For a mains-powered device with a touchscreen, the inputs are
arguably the main reason to have it on the network at all — right now the WiFi
connection carries images to the device but nothing back from it.

I'd guess this matters most for exactly the devices the E1003 represents: plugged
in, always on, screen you're meant to touch. Battery tags on BLE are working
perfectly for me and I wouldn't want that changed.

One note that might help

I had a look at whether the data is even reachable over WiFi, and it seems to be —
the device answers a read of its button/touch state over the existing WiFi
connection in well under 100ms, which is about the same rate the touchscreen itself
scans at. So the responsiveness looks achievable in principle. I don't know what
that implies for how the integration is structured, but happy to test any branch
against real hardware if that's useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions