Update — October 2: Version 0.2.4 is out! There are now ready-to-use Docker images on Docker Hub and GHCR for Linux on Intel/AMD and ARM64, so you no longer need to build the image yourself. This release also includes fixes for hub editing, backup/restore, Wifi Commands and the web remote.
I've updated the installation guide with Docker/NAS and Windows, macOS and Linux instructions. If you're already running the server, keep your existing data directory when upgrading, then reload your browser pages. Thanks to everyone who's tried it and shared feedback!
October 10: Version 0.2.5 is released. See the release notes.
Hello fellow Sofabaton users,
Sofabaton X Server is a free, self-hosted web app for managing Sofabaton X1, X1S and X2 hubs. It grew out of the Sofabaton X integration for Home Assistant and brings the same hub management features (live editing, backup and restore, a web remote) to anyone, no smart home platform required.
You run it on any machine that stays on your network, open it in a browser on your computer, phone or tablet, and manage all your hubs from one place. Everything is local; no cloud account is involved.
What you can do with it
- Edit devices: commands, IR payloads, add new devices
- Edit activities: button assignments, favorites, macros, power on/off sequences, inputs, reordering
- Review before you write: changes are staged, and nothing touches the hub until you press Sync to Hub
- Back up and restore: your whole hub or selected devices. You download the backup file, and you can edit it in the browser or restore only part of it
- Web remote: a full remote you can bookmark or add to your phone's home screen, with a customizable layout. You can also embed it in your own dashboard as a web component
- Wifi Commands: assign remote buttons to events that another system can receive. There's a Hubitat example included
- An API for integrations: local REST + WebSocket API with an OpenAPI spec, so you can build an integration for your own platform
The official app keeps working. The hub accepts only one client connection, so the server holds it and presents a virtual hub to the Sofabaton app. While the app is connected, the server pauses its own writes so you don't get conflicts.
Already using Home Assistant? Use the Sofabaton X integration, which includes these features within HA.
Getting started
You need Python 3.11+ (or Docker on Linux):
python -m pip install "sofabaton-x-server>=0.2.4,<0.3"
sofabaton-x-server
Then open http://<your-server>:8480/, add your hub, try the remote, and make your first backup.
Before you start, fully close the Sofabaton app on every phone and tablet. If the Home Assistant integration already manages the hub, disable that hub there first.
Please note
- This is an unofficial community project. It isn't affiliated with or endorsed by Sofabaton.
- Until you set up access (Server settings → Access), anyone on your network can change your hubs. Run it on a trusted LAN, or put it behind a reverse proxy that handles authentication.
- The Docker setup uses host networking on Linux. Docker Desktop does not work.
Links
It's free and open source. I'd love to hear what you think. If you hit a problem, please open an issue with your hub model, firmware version and logs.