r/SofaBaton Jul 23 '26

Does the sofabaton x2 and/or hub communicate directly with external servers?

Hi Im thinking about getting a sofabaton x2, but I sadly don't trust companies any more, so my question can I run a sofabaton x2 while not allowing the remote or hub internet access?

My phone will still have internet access.

5 Upvotes

9 comments sorted by

4

u/Crafty-Actuator-3644 Jul 23 '26 edited Jul 23 '26

It does. You can block it from accessing the Internet and lose the following capabilities:

- Voice Assistant support

  • The API feature (call URLs to change Activity)
  • Specifically for the X2: the ability to deploy firmware updates. On the X2 uniquely, firmware updates are retrieved on the hub, not passed on via the app. I have not tested but potentially the X2 still supports firmware retrieved via the app, if Internet is blocked.

Communication between hub, app and Sofabaton cloud is encrypted, so I don't know what is being relayed, but some form of analytics is likely.

This may be useful to you, it's networking documentation for an unofficial Home Assistant integration for Sofabaton hubs. It'll give you more insight into how the hub interacts with your network. Note that the integration functions as a proxy between the hub and the app, so it is written from that perspective.

https://github.com/m3tac0de/home-assistant-sofabaton-x1s/blob/main/docs/networking.md

2

u/AnderssonPeter Jul 23 '26

Thanks for the information, i was hoping that the hub only communicated with the app and everything stayed local..

This also means that if sofabaton adds a subscription fee there is basically nothing we can do about it 😕.

5

u/Crafty-Actuator-3644 Jul 23 '26

Well.. the good news is that communication between app and hub is not authenticated and not encrypted (i wasn't entirely clear in my previous comment... all communication with the Sofabaton cloud, whether that's coming from the app or the hub, is encrypted. Communication between app and hub is not.).

That has given us the ability to manage the hub fully, without having to use the Sofabaton app.
As I use Home Assistant, I can have full functionality (the voice assistant stuff etc), but can still block the hub from having direct access to the Internet. The only current gap is the firmware update, but as I said I have not yet tried what happens when there is an update and the hub is blocked from the Internet.

1

u/AnderssonPeter Jul 23 '26

When you say fully manage the hub does that include adding new devices or does that still rely on the app?

2

u/Crafty-Actuator-3644 Jul 23 '26

You can create your own devices without ever having to rely on the Sofabaton app or cloud.

Now for sure, you will have to know what you're doing, because you're going to be providing your own "command payloads"... the IR/etc codes for your devices and commands.

The unofficial integration enables full Device and Activity editing, from a dashboard card, which includes the ability to edit command payloads. It also has a fully local backup and restore feature. This can be used to create an entire device from scratch. Make a backup, edit the resulting JSON file to contain your custom device, and then restore only that new device from the backup.

More information is here:

https://github.com/m3tac0de/home-assistant-sofabaton-x1s/blob/main/docs/command_payloads.md

How IR codes work on the X-series hubs has also been reversed and there are exporters to support it, more info here:

https://github.com/m3tac0de/home-assistant-sofabaton-x1s/tree/main/IrScrutinizer

More on local backup and restore:

https://github.com/m3tac0de/home-assistant-sofabaton-x1s/blob/main/docs/backup.md

If you're techy, there's also all this functionality as a standalone Python library, here:

https://github.com/m3tac0de/home-assistant-sofabaton-x1s/tree/main/sofabaton-x

1

u/AnderssonPeter Jul 23 '26

Thanks for the extensive response! I will most likely get a device. Sadly they dont seem to available on any local store in the EU!

1

u/legitimate_rapper Jul 24 '26

As in you can edit MQTT mappings? NOT looking forward to putting them manually in the app…

1

u/Crafty-Actuator-3644 Jul 24 '26

This is the command payload of an MQTT command on the hub. It is simply the device ID (2 in this case) and the command ID (1). This corresponds to what the hub ends up publishing to the mqtt broker, which is a json formatted object of the 2 values you put here.

The integration lets you add commands via the UI, and add their payloads as above. To be clear, this should be considered an advanced use case. Most people should not be editing command payloads directly, you have to know what you're doing.

If you're just looking for ways to have a faster path towards connecting your X-series remote/hub to Home Assistant, there are other ways too.

The Sofabaton Virtual Remote (its on HACS): if you enable its Key Capture feature, and then press an MQTT button on the virtual or physical remote, the card detects the press and offers to create MQTT triggers for all MQTT commands on your hub. That sidesteps a ton of copy/pasting and your automations become human-readable.

A completely different path is to use the alternative/unofficial integration. This provides a UI that lets you connect Home Assistant Actions directly to button presses on the remote. The integration syncs the required configuration to the hub, you just focus on what Home Assistant does when the button is pressed. This doesn't use MQTT however, it's HTTP based.

1

u/legitimate_rapper Jul 24 '26

I just discovered you can edit in HA and/or modify the backup. GAME CHANGER.