Google Assistant is going away, to be replaced by - checks notes - Google Assistant by a different name.
k
Tangentially related, does anyone know any FOSS (local preferred, but self hosted if required for performance) assistant apps? After switching to GrapheneOS I do miss Bixby (say what you want about it, but creating reminders/alarms by merely holding down a button and using natural speech was quite handy).
Home Assistant [1] can be a voice assistant (both on phone and on dedicated devices). It's FOSS and can be fully local [2]. It's really gear towards home automation though, so its suitability depends on what you want to do with an assistant
I do want to setup home assistant at some point, but my main usecase for a smartphone assistant is what I mentioned. Things like setting reminders/todo list items, creating calendar events - even sending quick messages to contacts. Basically, things I can already do on my phone, but can do quicker through natural language.
I just have an always on VPN so can tunnel back to my home assistant server; which can handle todos/reminders/calendar events. Quick messages to contacts I haven't considered.
I already use a VPN (Proton) so I can't VPN back to my home (i.e. Tailscale). A very unfortunate limitation of Android.
RethinkDNS has the potential to solve all my problems since it can do per-app proxies, however I've found that it doesn't work well with Proton (or possibly Wireguard as a whole) with frequent proxy disconnects, making it a very painful experience. Which is a shame because in some cases I value DNS filtering more than VPN.
The latest version is v055z [0], which handles WireGuard re-connectivity better across a range of providers. One Proton specific quirk we've hit was: Since Rethink lets you connect multiple WireGuards at once, their free tier especially may start rejecting "WireGuard handshakes" from your client, if you do so.
Some tips:
- If you don't mind extra battery use, setup "Persistent KeepAlive" for your all your WireGuard Peers. Any value between 30s to 100s is decent enough.
- Alternatively, if you're on version v055v+, then consider turning on Configure -> Network -> Smart Persistent Keepalive which shouldn't use up as much battery but yet attempt to keep a connection open whenever "user presence" is expected by Rethink.
- Turn on Configure -> DNS -> Split DNS only if you're Android 12+ which has comparatively better APIs to be able to implement per-app split-tunnel DNS across multiple WireGuards.
- Tap on the "Refresh" icon in Configure -> Proxy -> Setup WireGuard to instruct Rethink to attempt re-connections to all dormant Peers.
- Look for internal state in About -> General (scroll to the bottom to the section that goes "WireGuard") and see if you spot any mismatch there with respect to MTU, for example. And if so, consider opening a report on GitHub.
- Look for About -> App Logs and see if you spot any errors (or for warning, info, or debug, you'll have to change the log level when prompted) related to WireGuard. You can use the search bar to filter for "wg", which should keep the output limited to WireGuard stuff.
- Change Configure -> Network -> Choose IP version to "Auto" if you happen to go between IPv4-only / IPv6-only / dual-stack networks, or set it to "IPv4 & IPv6", if you're always on dual-stack networks.
Thanks for the tips. I currently have 0.5.5y - I'll update and try these out and see if my experience improves. I also have a paid Proton plan so they shouldn't be rejecting my connections but it's definitely still possible since I think their plans are for "up to 5 devices" or something like that, and I do have a few connections at all times.
Works for me in my dedicated Android Auto user profile in GrapheneOS. Proton VPN with 'killswitch' turned on, and I've been able to use Android Auto. Though, I don't think I gave Android Auto network/internet permissions, so it shouldn't know if I'm on a VPN or not. Android Auto doesn't need internet to function (though the apps you run in it might, i.e. Google Maps).
Yeah HA isn't the best choice. It can do some of that stuff, but will require lots of customization to do so. Plus I think you would find things it can't do at all.
Comments
Google Assistant is going away, to be replaced by - checks notes - Google Assistant by a different name.
k
Tangentially related, does anyone know any FOSS (local preferred, but self hosted if required for performance) assistant apps? After switching to GrapheneOS I do miss Bixby (say what you want about it, but creating reminders/alarms by merely holding down a button and using natural speech was quite handy).
Another name and worse experience. Bloated, heavy, slow, bad with voice commands, and overall much more annoying to work with.
One of the few things google did better than Apple was the minimal assistant. That's gone. Gemini is just worse.
Home Assistant [1] can be a voice assistant (both on phone and on dedicated devices). It's FOSS and can be fully local [2]. It's really gear towards home automation though, so its suitability depends on what you want to do with an assistant
[1] https://www.home-assistant.io/
[2] Although frankly to have a fast-enough and good-enough LLM you might need to use a service
I do want to setup home assistant at some point, but my main usecase for a smartphone assistant is what I mentioned. Things like setting reminders/todo list items, creating calendar events - even sending quick messages to contacts. Basically, things I can already do on my phone, but can do quicker through natural language.
I just have an always on VPN so can tunnel back to my home assistant server; which can handle todos/reminders/calendar events. Quick messages to contacts I haven't considered.
I already use a VPN (Proton) so I can't VPN back to my home (i.e. Tailscale). A very unfortunate limitation of Android.
RethinkDNS has the potential to solve all my problems since it can do per-app proxies, however I've found that it doesn't work well with Proton (or possibly Wireguard as a whole) with frequent proxy disconnects, making it a very painful experience. Which is a shame because in some cases I value DNS filtering more than VPN.
rdns dev here
The latest version is v055z [0], which handles WireGuard re-connectivity better across a range of providers. One Proton specific quirk we've hit was: Since Rethink lets you connect multiple WireGuards at once, their free tier especially may start rejecting "WireGuard handshakes" from your client, if you do so.
Some tips:
- If you don't mind extra battery use, setup "Persistent KeepAlive" for your all your WireGuard Peers. Any value between 30s to 100s is decent enough.
- Alternatively, if you're on version v055v+, then consider turning on Configure -> Network -> Smart Persistent Keepalive which shouldn't use up as much battery but yet attempt to keep a connection open whenever "user presence" is expected by Rethink.
- Turn on Configure -> DNS -> Split DNS only if you're Android 12+ which has comparatively better APIs to be able to implement per-app split-tunnel DNS across multiple WireGuards.
- Tap on the "Refresh" icon in Configure -> Proxy -> Setup WireGuard to instruct Rethink to attempt re-connections to all dormant Peers.
- Look for internal state in About -> General (scroll to the bottom to the section that goes "WireGuard") and see if you spot any mismatch there with respect to MTU, for example. And if so, consider opening a report on GitHub.
- Look for About -> App Logs and see if you spot any errors (or for warning, info, or debug, you'll have to change the log level when prompted) related to WireGuard. You can use the search bar to filter for "wg", which should keep the output limited to WireGuard stuff.
- Change Configure -> Network -> Choose IP version to "Auto" if you happen to go between IPv4-only / IPv6-only / dual-stack networks, or set it to "IPv4 & IPv6", if you're always on dual-stack networks.
[0] https://github.com/celzero/rethink-app/releases/v0.5.5z
Thanks for the tips. I currently have 0.5.5y - I'll update and try these out and see if my experience improves. I also have a paid Proton plan so they shouldn't be rejecting my connections but it's definitely still possible since I think their plans are for "up to 5 devices" or something like that, and I do have a few connections at all times.
Last time I tried, Android Auto refused to connect with an error message stating it will not start if VPN is active on the phone.
Works for me in my dedicated Android Auto user profile in GrapheneOS. Proton VPN with 'killswitch' turned on, and I've been able to use Android Auto. Though, I don't think I gave Android Auto network/internet permissions, so it shouldn't know if I'm on a VPN or not. Android Auto doesn't need internet to function (though the apps you run in it might, i.e. Google Maps).
Yeah HA isn't the best choice. It can do some of that stuff, but will require lots of customization to do so. Plus I think you would find things it can't do at all.
Nobody wants to say “Hey Nabu” though ;) Including me (and I bought one of the things)