RetroFed Forum
Your home away from modern life.
ha-iroh: p2p Android app for Home Assistant, garage door from the power menu, no port forward / VPN / cloud
Post Reply
AuthorMessage
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
(edited) Quote

Background: I used Tailscale for remote access to HA. It mostly worked well, but in the driveway the phone is half on cellular, half on wifi. The HA app keeps an old connection and hangs most of the time when I just quickly want to open the garage door. Kill, reopen, wait. That was annoying enough that I wrote something that fixes that over the weekend.

ha-iroh is a small Android app plus a HACS integration, built on iroh (p2p QUIC). Every phone has a keypair with HA, traffic is end-to-end encrypted, NAT hole punching is done automatically where possible, otherwise a relay is used that only sees ciphertext. Setup (one-time, first connection) is done by scanning a QR-Code.

There is no persistent tunnel. The app dials HA when you tap something and disconnects afterwards, so network switches don't matter and my in-front-of-the-garage-door wait is gone.

Features

  • Device Controls in the Android power menu / quick settings: lights, switches, fans, climate, covers, locks, scenes, scripts, buttons, with live state
  • Assist via quick settings tile or launcher shortcut (text only for now)
  • the normal HA dashboard in a WebView, login once, any auth provider incl. MFA
  • several HA instances in one app
  • pairing by QR code from the HA config flow. Delete the device in HA and the phone is out

Not included, on purpose Sensors, location, notifications, widgets, Wear OS, iOS. I still use the official app for all of that. ha-iroh only covers quick control when I'm not home.

Status

  • v0.2.x. I've not received any major bug reports yet, but DO expect rough edges. For me at least it currently works reliably enough.
  • Android 12+, arm64 APK via GitHub Releases or Obtainium. Not on Play.
  • HA 2026.3+, HACS custom repo. The integration starts a small Rust bridge as a subprocess, x86_64 and aarch64 bundled, so HA OS / Container / Supervised work.
  • Optional: forward one UDP port and iroh connects directly always instead of sometimes via relay. Not required.
  • Two HA settings to check, both in the README: ip_ban_enabled (the bridge connects from localhost, so wrong passwords from one phone can ban 127.0.0.1, i.e. all phones) and never put loopback into trusted_networks.

Disclosure

Large parts of this were built with an LLM. If that's a dealbreaker for you, this project is not for you.

Links

Bug reports welcome, especially from people behind CGNAT or on Fritz!Box / MikroTik.

43   Original
devaly ani.social devaly@ani.social
Joined: 2026-04-12
#2 · Quote Reply

When you have no internet, how does it work then?
As far as I understood, if you have internet you can use nobu casa or tailscale.

6
Clay_pidgin sh.itjust.works clay_pidgin@sh.itjust.works
Joined: 2023-06-14
#3 · Quote Reply

That's very cool, thank you for sharing.

1
WxFisch lemmy.world Wxfisch@lemmy.world
Joined: 2023-06-20
#4 · Quote Reply

Just to put this out there, a Nabu Casa sub directly supports the development of HA. For me the remote connectivity is just a bonus (that I honestly don’t need since I could easily put it through a cloudflared tunnel or set it up through NGINX proxy manager.

Not that this isn’t cool, having more ways to use HA is always great. Personally I expose my garage doors as Apple Home devices through HA and so get buttons on CarPlay that generally work well (as long as I have any signal which isn’t always the case in the driveway).

8
QuantumEraser fedia.io QuantumEraser@fedia.io
Joined: 2026-09-07
#5 · Quote Reply

A cool project! Sure hope it's not AI slop!

em dashes in code comments

sigh

9
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
#6 · Quote Reply

When you have no internet, how does it work then? As far as I understood, if you have internet you can use nobu casa or tailscale.

no internet = no remote access, same as everything else. on your home wifi it talks to HA directly, no internet needed. the difference to tailscale/nabu casa isnt "works offline", its no port forwarding, no vpn running, no cloud in the middle

-2
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
#7 · Quote Reply

That's very cool, thank you for sharing.

thanks! :-)

1
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
#8 · Quote Reply

A cool project! Sure hope it's not AI slop! em dashes in code comments sigh

yep, claude and me. it does the em dashes, i do the garage rage. although, 4 in the whole repo? might have to let it write more :-)

-6
devaly ani.social devaly@ani.social
Joined: 2026-04-12
#9 · Quote Reply

no internet = no remote access, same as everything else. on your home wifi it talks to HA directly, no internet needed. the difference to tailscale/nabu casa isnt "works offline", its no port forwarding, no vpn running, no cloud in the middle

Nobu casa is not like that either. I dont get the appeal here

4
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
#10 · Quote Reply

Just to put this out there, a Nabu Casa sub directly supports the development of HA. For me the remote connectivity is just a bonus (that I honestly don’t need since I could easily put it through a cloudflared tunnel or set it up through NGINX proxy manager. Not that this isn’t cool, having more ways to use HA is always great. Personally I expose my garage doors as Apple Home devices through HA...

100% agree, nabu casa is worth it for the support alone, not trying to replace that!
this is for the "i dont want HA reachable from the internet, period" crowd and me. the android power menu is my version of the carplay button. and my initial problem wasn't no signal, rather the opposite: coming home and my phone connecting to wifi outside the garage - and that messing up ha + tailscale's connection.

4
muusemuuse sh.itjust.works muusemuuse@sh.itjust.works
Joined: 2025-06-25
#11 · (edited) Quote Reply

Automation trigger: I go off my home WiFi SSID

Action: activate WireGuard vpn to my home.

Trigger: I join home WiFi

Action: disconnect WireGuard VPN

This solved my garage problems without an app.

4
neon sh.itjust.works neon@sh.itjust.works
Joined: 2023-06-12
#12 · Quote Reply

Automation trigger: I go off my home WiFi SSID Action: activate WireGuard vpn to my home. Trigger: I join home WiFi Action: disconnect WireGuard VPN This solved my garage problems without an app.

nice! tried that too. does yours survive the handover? mine broke exactly there, phone grabs wifi at the gate, vpn drops, app stuck loading

0
muusemuuse sh.itjust.works muusemuuse@sh.itjust.works
Joined: 2025-06-25
#13 · Quote Reply

nice! tried that too. does yours survive the handover? mine broke exactly there, phone grabs wifi at the gate, vpn drops, app stuck loading

It depends. If it hands over at just the right money I have to drag down the screen to make it refresh otherwise it’s fine.

It doesn’t affect me enough to prioritize fixing since I use CarPlay controls to control the garage door so it’s relating a request to the app rather than taking an input to a UI with stale expectations. I suspect an Android shortcut would respond the same way.

1
keisatsu infosec.pub keisatsu@infosec.pub
Joined: 2023-06-12
#14 · Quote Reply

Although LLM-assisted projects are no bueno for me, I am upvoting for your transparency 👍 best of luck

12
4am lemmy.zip 4am@lemmy.zip
Joined: 2025-06-23
#15 · Quote Reply

A cool project! Sure hope it's not AI slop! em dashes in code comments sigh

I mean, listen.

I am also against the slop machine. However this is the HA community and if you want to talk to other smart home enthusiasts without bumping into any AI glazers, you’re gonna have a bad time.

3
peregus lemmy.world peregus@lemmy.world
Joined: 2023-06-13
#16 · Quote Reply

Cool! I'll try this.
bout the garage door, I'd like to tell you how I do it: a car tracker (Teltonika FMB120 for about 45€), a small push button under the steering wheel, when I push it, it does a curl request to my Node Red instance that, based on the car location, opens the gate of my home, or office or parents.
Bonus: the FMB120 can connect to the CAN bus and you can get some telemetry and you can also always locate your car (I use Traccar).
It does need a data SIM card, but with 1NCE, you can get one that lasts 10 years and it only costs 10€ (not per month, not per year, for the whole 10 years.)

2
Claude Flammang dju.social claude_flammang@dju.social
Joined: 2022-11-13
#17 · Quote Reply

Just to put this out there, a Nabu Casa sub directly supports the development of HA. For me the remote connectivity is just a bonus (that I honestly don’t need since I could easily put it through a cloudflared tunnel or set it up through NGINX proxy manager. Not that this isn’t cool, having more ways to use HA is always great. Personally I expose my garage doors as Apple Home devices through HA...

@Wxfisch And the offsite backup.

2
treadful lemmy.zip treadful@lemmy.zip
Joined: 2023-06-13
#18 · Quote Reply

I mean, listen. I am also against the slop machine. However this is the HA community and if you want to talk to other smart home enthusiasts without bumping into any AI glazers, you’re gonna have a bad time.

This is a security-important project though.

2
4am lemmy.zip 4am@lemmy.zip
Joined: 2025-06-23
#19 · Quote Reply

This is a security-important project though.

I know that, you know that. I’m just saying, don’t expect to not receive pushback from the community here when badmouthing LLMs.

1
node815 lemmy.world node815@lemmy.world
Joined: 2023-06-18
#20 · Quote Reply

I was away from home and had the opportunity to test this out. Mind you, I do have a subdomain pointed to my instance so it knew to use that, but even so, it connected perfectly fast via the Iroh app. I use the beta Home Assistant app and lately it's been taking some time to load. Your app beats it to the punch with load times.

Thank you for putting this one out there!

2
Post Reply
Back to top