Request for the android app, don't require any google framework components (privacy and open source goals)

Finally I found something: Maybe this one was a little sarcastic - indeed!

image

But it’s also true from what I read - so can it still be offensive? In Trumplandia for sure… :face_with_head_bandage:

1 Like

The majority of Home Assistant users run an Android phone. They do not run AOSP. We are an open source project and we focus our limited time and effort on providing value to as many people as possible, for free.

Adding support to run without Google Play services increases the maintenance burden significantly and will only benefit a handful of users. This is not worth our time and effort. Accepting a PR once to support it is not the end of the story, software needs to be maintained.

But! The app is open source. Which gives people that are willing to build and maintain a version of the app without reliance on Google Play Services an opportunity to do so. In their own time and with their own effort.

Or use the website which is a Progressive Web App that installs just fine on Android.

3 Likes

I think this comes up so often because it goes against the very thing home assistant stands for, privacy and local control.

Users aren’t notified either that their location data is constantly shared with Google, which adds to the surprise.

I guess a lot of us thought the app would work like GPS logger and keep our data privat.

Please don’t take this the wrong way, I am very grateful for all your work!

2 Likes

Balloob, I am the OP for this thread. I did not know of any of the requests before me on github. You mention that most people are running android, not AOSP like they are different. AOSP IS android before google spyware is added. Anything you create to run on AOSP will run on both, but not the other way around. Why throw out ANY of your users. I realize there would be a little extra work to tie into gps and certain things when not relying on google code, but it does seem like you are trying to give the impression that there would be extra work of maintaining two branches of code when you would not. If you code with AOSP in mind, devices that are still loaded with Google services will still work. But yes, a device with Google services on it, seems to be the very antithesis of everything Home Assistant stands for. I know it is for me.

2 Likes

Since you seem to have some knowledge on this: would a push-service without Google in the backend rely on some form of additional hosted infrastructure that needs to be paid for and maintained? After all it would compromise privacy quite a bit if an attacker got into the push-server, because of some newly found exploit or whatever, and just read everything that goes through it. I somehow have the feeling I couldn’t trust an independent service of which I don’t know how well it is being maintained and nobody gets paid to keep it safe. :man_shrugging:

1 Like

I’m not a developer as you are so please correct me if I’m wrong!

As far as I know the push server doesn’t has the message at all. It just informs the client that there is something “waiting” for him to pick up. Otherwise it would really compromise security, think about it! Google (including the US government because of cloud act etc.) got insight of all your communication then? This would be more than horrific!

Again, no developer: But from what I know it could be maybe possible to use a websocket connection to get the messages directly from your (private) home assistant server to your client. So no need for a big brother?

1 Like

The best is simply that you don’t have the need trust any third parties because you don’t share information with them :star2:
And for me: I would certainly not trust google with any of my data as you even allow them (when you use there services/agree to their conditions) combine everything they know about you to make you a valuable product for their customers. :money_mouth_face:

There is “Ungoogled Home Assistant Companion App” (from @jleeuwes) waiting to make it’s way into F-Droid :tada:

Good point. That’s probably how it works. So Google probably only knows that a message has been sent from A to B, but has no clue about the content (which would be unlikely anyways because of encryption). If this is true, the issue isn’t about Google spying on transferred content, but the fact alone that content has been transferred. Which no doubt is part of privacy.

Nah, that would drain the battery in no time. The advantage of Googles solution might be, that because it’s so tightly integrated into the OS, it works without waking up the device too harsh, and thus consuming less energy. A self-made solution may have to wake up the device in certain intervals to check if push messages are available, and therefore use more battery. But there probably are solutions to this as well. :man_shrugging:

True. And don’t forget about ISPs. They can even prevent their customers from doing stuff if requested by the government.

The infamous google “encryption”?

Oldies but Goldie’s: The PRISM is Not Enough: Government Spies on Google and Yahoo's Internal Networks | Electronic Frontier Foundation

Actually I don’t think it does but more the opposite is true I guess. For example I run Signal and Telegram on a google free :tm: phone and have normally 30-40h of battery. Friends of me who have the full google package on their phone can barely surrvive the day without plugging in the external battery. All these “free” (monetary wise) services come at a cost of permanently calling “home” which drains the battery.

Indeed. Could spot the code from signal and telegram for example how they implement it. Signal is using websocket if I understand it rigt

2 Likes

And so the House Automator Comrade App was born :baby_chick: …soon in a F-Droid store near you!

2 Likes

Just caught up with all of this (quite a dramatical soap opera! :smiley: )

I have chosen to run LineageOS / live a Google-free life and I’m not going to bash the HA devs for my choices, but it’s clear that this App isn’t for me.

It also looks like the House Automator Comrade App for Android won’t be providing geo-location and push notifications (yet… ? :slight_smile: )

For me, I’m after the geolocation tracking, so I’m off to find which of the numerous other trackers don’t use Google (for example, just at random, OwnTracks uses Google).

If anyone can offer a short list of non-Google opensource location tracking apps, perhaps list them here… Who knows, that might even help improve this situation…

Just here to give an alternate point of view. I am one of the majority user mentioned by @balloob who runs an Android phone. For me, HA is all about convenience and automation. Not privacy / open source etc. I already use the chromecast, google home assistant, gmail, google photos, google drive etc. Google definitely knows more about me than I do myself. I even depend on google location tracking to know where i was at a given date.

Having said that, Google’s MACHINE (NOT INDIVIDUAL EMPLOYEE) processes all these data to gather information about my interests / need which is then used to advertise their client’s products. These information is stored on their servers to make a better match. Win win for both. I get a lot of free services in exchange for letting them know what i like and dislike.

I’m not trying to bash those who value their private data more than me. I’m just pointing out that there are more people like me. Just that we’re less vocal about it. All these information sharing with google makes my life easier.

From a developer’s stand point, it makes sense to cater for the larger user base.

Now if I may, I dont really understand why some of you worry so much about exposing data to google? What do you think google will do with it?

1 Like

I have a setup using Tasker as kind of described in this thread. I have Tasker automated to update my location based on changes to my cell tower or WiFi connect/disconnect events which is generally enough for HA to know if I am in any of my set locations i.e. Home or work etc.

If you don’t need real time tracking all the time then this is a good option with no third party services needed if your already on a Google free phone, just the phone’s GPS. It also has a minimal impact on phone battery compared to some other app solutions as Tasker seems very efficient when setup to only trigger on certain events.

1 Like

Ah, interesting, I’d not considered that approach.

As far as I can tell (without even installing it :slight_smile: ), this is using Google services, so might not work on my phone - not even sure how to install it without the Play Store (I get most things via F-Droid)

But, more importantly, I’ll have a look at this type of approach - not necessarily tracking my specific location per-se, but whether I’m “here” or “not here” :wink:

For me, this works in some scenarios, for example when everyone has left home, but maybe not in other cases (like when we’re nearly home? Maybe it can work that way…).

Thanks for the insight :slight_smile:

I use the Aurora Store, which is just an anonymous front end wrapper around the play store. You can get it from fdroid.

I’m running a microg lineageos build and Tasker runs fine without Google services.

1 Like

Ooh… interesting. Thanks :slight_smile:

Tasker can also track things like “is my phone connected to my car’s bluetooth”. Or even “is my navigation application active on my phone” by watching for the notification. You could use that information to then tell tasker to track location more frequently then usual to be able to provide an estimated ETA.

That’s actually what I do. In fact back before I used HA, I used to use tasker to read the “estimated time to home” value out of the google maps navigation notification any time it was active. Then I would call the Nest ‘set ETA’ API to let it know that.

Since then I’ve moved all that logic to HA to get it off of my phone (since it was getting kind of ridiculous lol) and changed it so Tasker just fires this intent any time I need to speed up location tracking to ensure I can get an accurate ETA.

Now obviously you’re not interested in Google Maps or Nest given what you’re trying to do here. But still I’m sure similar behavior could be replicated with the navigation app of your choice and whatever logic you have running for handling ETA.

Ah, ok, so if the phone’s in the car (connected to BT), AND I’ve just left work, then I should be heading home…

I have been using Open Street Map, which has it’s own tracker, which appears to be ideal, so it’s just whether I can get these two Apps to play nicely.

I feel I’ve hijacked the original intent of this thread, so maybe I need to take this elsewhere…

In case anyone here missed it you can now install the minimal flavor of the android app that does not require google services. Keep in mind things like location tracking and notifications will not work as those depend on google services. You can grab the APK from the actions tab on the github repo, just select the latest commit and download the minimal version.

3 Likes

An update for F-Droid users: this minimal app flavor is now installable. Home Assistant | F-Droid - Free and Open Source Android App Repository