I want to be able to read sensors on a remote network (192.168.100.x) with home assistant on my home LAN. (192.168.10.x)
on the face of it I don’t see that this is unusual or complex thing (I would be monitoring temperature and humidity and other stuff in a holiday home) but I don’t seem to be able to find a single guide on it. every guide I’ve found is about how to access HA FROM a remote location not use HA TO reach a remote location. ( even as i type this the HA forum is popping up a box saying “your topic is similar to…” and the posts aren’t )
The remote location has a combination of Tuya, ESP home and Tasmota devices.
I can see the Tuya devices just fine though the Tuya cloud. it’s the other devices I have a problem getting to.
I tried setting up a tailscale end node on that remote network on a raspberry pi, and Frenk’s Tailscale HA add-on on my HA device on my home network
the connection works fine.
I can see back onto my home network from that remote node via the HA tailscale node. I can also see onto that remote network from a laptop running tailscale on my home network.
What I can’t seem to do is to get HA to see the remote node and find any devices there.
I suspect this is because HA is running in a docker (I use the HA installer to put it on a bare metal intel NUC) and it only knows about it’s host network.
I’m guessing this is a routing issue but it’s not clear whether the tailscale add-on I put on my HA device is running within the HA docker (I suspect not), directly on the host machine or in a docker of its own.
I have tried adding routes using HA terminal with no success. (using nmcli) but to be honest I’m not really sure what I’m supposed to be pointing the 192.168.100.x traffic to ?
I have tried redirecting it to the HA host address.
I’ve tried directing my own home LAN gateway (Which I didn’t expect to work because trace route seems to suggest that it’s trying to push stuff that way anyway out to the internet)
I’ve tried to point it to the virtual tailscale address of the instance running on the HA device.
I’ve even tried to point it to another device on my LAN hosting TS (my laptop)
now I realise I could save myself a huge headache by just subscribing to HA cloud. but paying for this on a monthly basis AND paying for the mobile broadband connection at the remote location just seems a little too much to read a few sensors. surely there is a way to do this with regular VPNs?
any advice would be gratefully received as I’ve been banging my head against a wall with this one for a while now.
You need something running there to aggregate the data and send it to you. I use another instance of HA and Nabu, but if you at least had an HA server over there, then tailscale into that, or create MQTT sensors over there and bridge that server over to your home server. Lots of ways to do it, but for me it started with an HA server running both places.
idally i’d like to just use my home instance of HA. i don’t have anything at the remote location capable of running HA ( the Pi that is running the tailscale node is not powerful enough)
Well, it could run MQTT, and if the devices on that end can be MQTT connected without HA, like Tasmota or I think shelly, then you could do it that way.
Those are both IPv4 internal networks. Even if they were identical you’d run into the same issue because internal networks aren’t routable over the internet.
Read up on the difference between internal & external networks, then use the knowledge you gained to determine the external IP you need to forward to get both instances to talk.
@Sir_Goodenough to me is correct. An HA Green is $150ish and a Nabu Casa account is $65/year.
My time is too valuable to experiment with other solutions when $200 once and $65/year after to link both systems perfectly to understand everything and cause actions on either one.
I have HA in the home (on a mini PC) and a Green at my guesthouse and a Green at my gate which is a mile away from the house on it’s own internet. All works perfect to control and interact with all of them.
Example: Today my wife requested that a vehicle or person comes to our gate, announce it at the home on the Alexa’s. Took about two minutes and added AI descriptions. Trigger for a state change on the gate entity for the Reolink automation that sends the announcement to Alexa’s at the house.
And note: When the trigger happens, it takes less than 0.5 seconds to go from gate HA through Nabu Casa to house and announce.
I second a VPN gateway to accomplish this if setting up another HA machine at the remote location is not a viable option/solution. Tailscale was mentioned and is a good option because it’s user-friendly. Really, Tailscale is just a dolled-up WireGuard tunnel.
This could be done with some cheaper, older routers, like the trusty TP-link Archer C7 (used on eBay for $15-20). Install custom firmware, like OpenWRT, on it. Then you can install WireGuard or Tailscale directly to it. Use it as an AP on-site and a VPN for remote access to the network. You’ll need a DDNS service to access the VPN if you don’t have a static-ip. OpenWRT can handle that as well.
The first thing you should do is understand what protocols each type of device relies on. By default ESPHome devices will use mDNS which is not as easy to set-up when trying to go across networks as it was designed for local use. For mDNS to work you will need to setup Broadcast Relays on both ends of the VPN allowing the UDP traffic to the relay addresses in from the LAN and out through the VPN. However, you can configure ESPHome to use IP Addressing instead.
For Tuya devices you can either rely on the cloud or use Local Tuya / Tuya Local both of which will allow you to use IP Addresses.
For Tasmota you can configure mqtt and just ensure traffic from remote location can access the mqtt server on the LAN. If you have a static public IP address you could configure this without a VPN by just port forwarding the mqtt traffic in the LAN router.
I think your big struggle is that you are not really setting up a site to site VPN but setting up a client access VPN. For a site to site VPN you should look at doing this on each locations router, this way all devices on one network could send traffic to all devices on the other network and vice a versa. I don’t have experience with tailscale, but I believe what you are ending up with is the single client accessing a custom network and hence each device would need to be configure to access the ‘tailscale network’.