Sofabaton X1/X1S - calling any users

siclark
Posts: 2355
Joined: Tue Jun 13, 2017 5:08 am
Location: UK

Sofabaton X1/X1S - calling any users

Post by siclark »

Hi all,
I’ve been working on expanding the Sofabaton plugin to support the X1 and X1S hubs alongside the existing X2 support. The X1/X1S uses a completely different protocol to the X2 (proprietary binary TCP instead of MQTT), so this was a significant piece of work.
What’s new:
∙ X1/X1S hub support — connects directly to the hub via TCP using the same reverse-connection protocol that Home Assistant uses
∙ Unified discovery — “Discover Hubs” menu item finds both X2 (MQTT) and X1/X1S (TCP) hubs on your network via mDNS and auto-creates the correct device type
∙ Activity control — same as X2: activities appear as relay devices you can turn on/off
∙ Device command catalog — the X1/X1S exposes every IR/BT command for every device. A new “Send Device Command” action lets you pick activity → device → command from dynamic menus
∙ Dual-hub support — you can run both an X2 and X1/X1S hub simultaneously from the same plugin
How it works (X1/X1S):
The plugin opens a TCP listener, sends UDP “CALL_ME” packets to the hub, and the hub connects back. Once connected, it fetches the full device and activity catalog. The connection is persistent with auto-reconnect.
Important limitation: The X1/X1S hub only supports one TCP connection at a time. If the Indigo plugin is connected, the Sofabaton app won’t be able to connect (and vice versa). If you need to use the app to program your remote, disable the plugin first in Indigo, then re-enable when you’re done. Proxy mode to allow both simultaneously is planned for a future release.
Prerequisites (X1/X1S):
∙ Sofabaton X1 or X1S hub on the same network as your Indigo server
∙ No MQTT broker needed — the X1/X1S connects directly

Getting started:
1. Install the plugin (double-click the .indigoPlugin bundle)
2. Go to Plugins → Sofabaton → Discover Hubs
3. Your hub should be found automatically and a device created
4. Activities will appear as relay devices within a few seconds

Looking for testers:
I have this working with an X2 hub but I don’t have an X1 or X1S to test with. If you have one and are willing to give this a try, I’d really appreciate it. The protocol implementation is based on the excellent Home Assistant integration by m3tac0de, but there may be firmware-specific quirks I haven’t encountered.

Things I’d especially like tested:
∙ Does mDNS discovery find your X1/X1S?
∙ Does the hub connect back successfully?
∙ Are all your activities and devices listed correctly?
∙ Do activity on/off commands work?
∙ Does the “Send Device Command” action work with your device catalog?
The plugin is available on GitHub: https://github.com/simons-plugins/indigo-sofabaton
PR with all changes: https://github.com/simons-plugins/indig ... ton/pull/5
Any
feedback, logs, or bug reports would be very helpful.

Thanks!

Return to “Sofabaton”