Big update β the integration has come a long way
Hi all
it's been a while since I last posted here. When this thread started, the integration was a very rough proof-of-concept: basic command sending, no cards, no docs, no backups, no IR blob support, no Wifi Commands β most of the protocol was educated guesswork. A lot has changed, so I wanted to give a proper status update for anyone still following along (or considering trying it).
Repo: https://github.com/m3tac0de/home-assistant-sofabaton-x1s
Current version: 0.6.0 (HACS default)
Supports: X1, X1S, and X2 (X2 discovery is opt-in via configuration.yaml)
What's new since the first post
Proper protocol implementation, not guesswork
The hub protocol is now formally implemented with a full schema layer β Activities, Devices, Commands, Macros, Buttons, Favorites, Inputs and Power sequences are all modeled, parsed and serialized through a single code path. This made everything downstream (backup, restore, blobs, Wifi Commands) actually possible.
Fully local backup & restore
Back up an entire hub, restore it whole, or pick individual devices out of a backup and add them to another hub. Restore works across hub versions (X1 β X1S β X2) where the protocol allows it. Done entirely locally β no cloud round-trips.
IR Blobs
You can now capture the hub's real IR payloads, test them, save them, share them, and build new commands from them. There's also an experimental exporter to IrScrutinizer for analysis.
Wifi Commands (receive key presses from the remote)
Configure up to 5 Wifi Devices per hub (10 slots each) and bind physical remote presses to Home Assistant Actions. Actions can be edited any time without re-syncing the hub.
Two dashboard cards, auto-deployed
- Sofabaton Virtual Remote β full on-screen remote, with Key Capture mode that drops ready-to-use YAML straight into your sidebar.
- Sofabaton Control Panel β the central management UI: Wifi Commands, Backup, Blobs, Cache navigation, Settings, and a live Logs tab for real-time diagnostics.
Real networking documentation
VLANs, firewalls, container/host-network setups, mDNS quirks, the iOS app discovery weirdness β it's all written up now in docs/networking.md. The proxy architecture (which lets the official app keep working alongside HA) is also documented.
Persistent cache
Once enabled, hub data survives HA restarts. Traffic between the hub and integration drops to near-zero in steady state, making the integration noticeably faster and more reliable.
A proper entity surface
remote, activity select, connection binary_sensors, current-activity sensor, recorded-keypress sensor, dynamic volume/mute/etc. buttons, find-remote buzzer, resync button, proxy enable switch, hex-logging switch, editable IP text entity. Enough to build any custom UI or automation you want.
If you're on an older version, HACS will pick up 0.6.0. If you're new, the README quickstart should get you going in a few minutes β and please make sure the official Sofabaton app is not connected to the hub during initial setup.
Always happy to take bug reports β please use GitHub Issues with logs from docs/logging.md so I can actually act on them.
Thanks to everyone who filed issues, sent captures, and tested weird network setups β none of this would have shipped without you. Feedback very welcome ![]()