-
-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Background
The app became way too large and disconnected, having multiple different codebases, multiple languages etc.
The aim of this is to consolidate as much as possible and make the app as performant using a purely compiled language, which is very familiar.
I recently built go-automate which is very simple and allows a simple way to interface with home assistant or notifications in linux using a CLI tool. I also internally made another tool called go-reminders
which I call go-automate
to send myself reminders on a CRON like schedule to my desktop. This is where the inspiration came from for rebuilding the app.
Moving away from rust
The rust system was purely an interface between a frontend and a python backend previously. The main goal now is to not do that and keep the app simple and easy to maintain.
Goals
The final goal will be to iterate and make changes fast using go and interfacing with system commands or other tools
The first step is to get Home Assistant to connect and control the system using the current features
I am also introducing MacOS support here which previously I didn't. I don't have any apple devices so these will be untested, so any community contributions will be the driving forces here.
Linux and Windows will be the supported systems, where mac will become a "You can compile and try it" platform. If the community supports the mac side, we can release and unofficially support it.
This is not a like-for-like replacement. There will be some missing features. These parts should be left as stubs or set to the default, what home assistant expects, so there are no added errors day 0.
Personally I have not been using the app, mainly due to CPU/Memory usage, so this is a personal goal to make the app run as a small service which keeps low on system usage.
TODO
- Rebuild core systems
- Home Assistant testing
- Build installer / packages
- Use additional windows sensors (optional)
- Build windows sensors and upload to github release
- Download latest release windows sensors to lib/sensors/windows/bin/ via GH workflows
- Add service documentation. Add to installer
- Web client #3399
- Bundle web client with binary #3411
- Fix settings update
- Add missing data for all plaforms - See TODOs, focus on Home Assistant entities
- Hide windows terminal from link - Potential fix in https://github.com/timmo001/go-commands/blob/a2224d4f7397abf3faa1076121a9a16eb0769a05/setup-startup.ps1
- Hide sensors window popup
- Show web client on desktop launch shortcut
- Add arch linux package (PKGBUILD) to upload
- Go Rebuild - System Tray? #3412
- Test binaries / packages
- Fix CI release drafting - https://github.com/timmo001/system-bridge/actions/runs/14550202679/job/40820535311
Continued in #3475
Confirmed supported working packages
- Appimage
- Flatpak
- DEB
- RPM
- PKGBUILD (Arch Linux)
- Windows (Setup)
Notes
There are a lot of TODOs left after this refactor. The plan is not to build a like for like replacement. The main goal is to create something that works with the Home Assistant integration without any changes and from there we iterate for 5.x.x changes
These repositories are now archived: