Ideally with an open source app, this can be made available on F-Droid for people who prefer not to use Google Play.
F-Droid's docs for getting included in their app is here:
https://f-droid.org/en/docs/Inclusion_How-To/
While we're not using Google Play services now, we plan on doing so when we add location tracking and push notifications.
Also F-Droid already has an Home Assistant app that uses our logo and name while not being allowed: https://f-droid.org/en/packages/io.homeassistant.android/ . The listing has been made without the knowledge of the author of that app. I complained to F-Droid over 2 years ago, including follow up, and they never took any action.
So nah, even if we could, I wouldn't be interested in publishing our app there.
Officially share release apks on Github then. Thanks!
@balloob It's common for apps to have compile-time options to build sans Google libs. Would you be open to adding such a feature?
You're better off forking the project and creating your own app.
Since Home Assistant will provide the UI via a webview, all parts that this app will provide are going to be things that tie into the operating system: push notifications, location tracking, etc. Those things generally tie into Google Play Services.
No really? Not only not in F-Droid but even planing using Google Play Services? :disappointed:
This is sad :cry:
add location tracking and push notifications
Both of these things can be easily implemented without bundling Google spyware and breaking compatibility with AOSP/degoogled ROMs. For example, when it detects the absence of the aforementioned spyware, the Signal android app implements push notifications with an autostarted background service and a websocket connection. This is also the approach used by the Android client for Gotify, a self-hosted push notification server. The Gotify source code license (MIT) is compatible with this repository's license (Apache 2.0), so code could be copypasted from Gotify without legal issues.
Location tracking could be implemented in the same background service as the push notifications.
The only difference noticeable to the app user is that Android requires a persistent notification when an app is running a background service. However, it is trivial for the user to block/mute this persistent notification. The background service will continue to run, but will not show a notification while doing so. This block/mute does not prevent the app from displaying push notifications.
Currently on my phone running LineageOS, there are several open source apps running persistent background services for receiving push notifications, checking location, and other features. These apps include KDE Connect (which can receive files from my computer), AsteroidOS Sync (communicates over Bluetooth to my Linux smartwatch and periodically updates the watch with the weather for my location), Signal (receives push notifications for incoming encrypted messages), and Gotify (receives notifications from my self-hosted push notification server).
To summarize, there is no excuse for a popular open source application, especially one that lists "reclaim your privacy" as a feature, to rely on closed-source, proprietary, anti-freedom, anti-privacy, and anti-user code supplied by a corporation more powerful than many nation-states which makes billions of dollars by selling private user data.
Also F-Droid already has an Home Assistant app that uses our logo and name while not being allowed: https://f-droid.org/en/packages/io.homeassistant.android/ . The listing has been made without the knowledge of the author of that app. I complained to F-Droid over 2 years ago, including follow up, and they never took any action.
So nah, even if we could, I wouldn't be interested in publishing our app there.
Hi @balloob,
this just got to my attention while searching through old issues. I for some reason didn't get any notification back then, seems you'd have had to mention me for that.
First of all, sorry for the trouble the F-Droid listing of my app caused for you. The thing is, after you contacted me, I rebranded most of the app, changed the name, made it obvious in the repo that the app is unofficial, and even did some work on a new icon, which I unfortunately didn't implement anymore.
And there's a part of the problem: lack of time, changes to Home Assistant which made my app more and more pointless (especially Lovelace, which just doesn't make any sense and isn't possible to reimplement natively) and a general attention shift to (to me) more important things caused me to completely forgot about the app (and this problem). So, the latest F-Droid version still carries the old name as a result..
In retrospective, I realize what a shitty move this all has been, especially because I took the obvious package name as well (seems I really wanted to make an official app back then, not thinking that also you & the core dev team have to accept it).
Again, I'm really sorry about that. Since my app is mostly abandoned anyway, I'll have a look if I can get it removed from F-Droid, to make space for the official app, when you (in the future) decide to publish it there. Even if not, I don't want to be the blocker for that anymore.
UPDATE: It seems the one publishing to F-Droid wasn't me, so it's not completely my fault, still, I shouldn't have picked that package name in the first place.
UPDATE 2: I now requested for my app to be removed from the F-Droid store, follow the progress here.
Hi. The PR to remove the app made this catch my attention.
First of all: Our apologies! We never meant to tread on anyone's trademark, or give the wrong impression about the homeassistant.io project by packaging an app.
Since the app was originally packaged we have changed our policies to require the original author of the app to be informed and approve the packaging of the app. (See the request for packaging issues where author consent is on the checklist).
Should there be interest in publishing this, or another homeassistant app on the f-droid repository please feel free to reach out. We could, for instance, package a branch that doesn't depend on any proprietary services, a number of other apps use this approach.
Thanks for the reply both of you.
We have no interest in maintaining a branch of the app that doesn't depend on any proprietary services.
We have no interest in maintaining a branch of the app that doesn't depend on any proprietary services.
Shame. I thought this was a mature open source project. Guess I was wrong.
I wonder, what percentage of Home Assistant users are using it because they value privacy and want to own their devices? How many of those are willing to throw both of those principles away for a single Android app? How many are running custom ROMs without spyware, where an app that relies on malicious, anti-human Google code is simply incompatible with the OS?
No serious open source project would insist on harming their users by requiring installation of spyware.
I guess we're not a serious or mature open source project 馃ぃ
馃憢
Most helpful comment
Both of these things can be easily implemented without bundling Google spyware and breaking compatibility with AOSP/degoogled ROMs. For example, when it detects the absence of the aforementioned spyware, the Signal android app implements push notifications with an autostarted background service and a websocket connection. This is also the approach used by the Android client for Gotify, a self-hosted push notification server. The Gotify source code license (MIT) is compatible with this repository's license (Apache 2.0), so code could be copypasted from Gotify without legal issues.
Location tracking could be implemented in the same background service as the push notifications.
The only difference noticeable to the app user is that Android requires a persistent notification when an app is running a background service. However, it is trivial for the user to block/mute this persistent notification. The background service will continue to run, but will not show a notification while doing so. This block/mute does not prevent the app from displaying push notifications.
Currently on my phone running LineageOS, there are several open source apps running persistent background services for receiving push notifications, checking location, and other features. These apps include KDE Connect (which can receive files from my computer), AsteroidOS Sync (communicates over Bluetooth to my Linux smartwatch and periodically updates the watch with the weather for my location), Signal (receives push notifications for incoming encrypted messages), and Gotify (receives notifications from my self-hosted push notification server).
To summarize, there is no excuse for a popular open source application, especially one that lists "reclaim your privacy" as a feature, to rely on closed-source, proprietary, anti-freedom, anti-privacy, and anti-user code supplied by a corporation more powerful than many nation-states which makes billions of dollars by selling private user data.