Fixes
- Fixed an issue where sometimes, on an X1 hub, Activities would show as having a trailing space in their name.
- Fixed an issue where a device's power settings were not properly backed up and restored. Users are required to create a fresh backup to benefit from the fix.
- Fixed an issue where when using Backup -> Edit to change the order of favorites/macros, startup/shutdown sequences would be lost in the backup.
- Fixed an issue where Activities would not restore, if that Activity contained a macro bound to a button.
- Fixed an issue where the Control Panel card would sometimes show Mojibake in logs and status updates.
- Fixed an issue where the integration was under certain conditions incorrectly ignoring a message from the hub containing the hub's name and version.
- Fixed an issue where sensor._activity would not correctly update while the app is connected to the proxy.
- Fixed an issue that impacted users with multiple hubs: disabling or removing a hub while leaving another hub enabled in the integration would not make the disabled/removed hub available for connecting with the Sofabaton app. It's this issue.
New
- Significantly extended the UI for editing backups. Add/remove favorites. Create macros etc. The internal model is fully enforced (for example: when removing a device, its references in macros, favorites, button bindings etc are removed automatically)
- Added support for the Home Assistant 2026.6 card picker. Both the Virtual Remote and the Control Panel are now recommended cards whenever that makes sense.
- Released the core protocol implementation as a standalone Python library. Likely not relevant to most people, but this enables other developers to create their own integrations, potentially for other platforms. It also includes a fairly well-featured command line interface, replicating important functionality from the HA integration
pip install sofabaton-x
using the CLI
sofabaton discover # scan the LAN for hubs
sofabaton run --hub-ip 192.168.1.50 # proxy + interactive shell
x> status
x> activities
x> send 101 POWER_ON
Note that discovery will not find hubs that are already proxied.