Remote Access and mobile notification without exposing/public IP

Hi,

I was wondering if anyone knows of any (or the best) way to get remote access to my hassio instance and send notifications from hassio to Android phones without exposing hassio to the internet? I have a subscription to Home Assistant Cloud / Nabu Casa, so anything using the webhooks would be great.

My ISP cannot provide me with a public IPv4 address and troubleshooting for the IPv6 hardware is ongoing, but it seems to be dated and they wont replace it so I am stuck without direct exposure to the internet. Would appreciate any advice on how to best overcome this issue and similar experiences if anyone has some :slight_smile:

Thanks!

You can use TeamViewer to remote manage a CLI Linux install (free for personal use) They even have an Android client. More info here. This should work without a public IPv4 address, as it uses the TeamViewer servers to initiate the connections between devices. If you can get a public facing IP you could also use a VPN, but that is a little more complicated.

As for android notifications, I have used Pushbullet and text messages from Clickatell SMS. Depending on your country there are other alternative SMS services (ClickSend or Twilio for example).

Hi, thanks for your reply. Pushbullet looks interesting, will have to look into that. I have tried SMS services before, but they are usually a hassle from my country so just plain notifications from any other app would be great!

Can I use TeamViewer directly to the PI3 running hassio? I dont have any other always on computers on the same network

You might try Telegram integration.

1 Like

Yes, you install the TeamViewer host on your PI and then you use the desktop/mobile client to connect. Here is a guide for installing it on the PI: https://www.techrrival.com/install-teamviewer-raspberry-pi/

Now, that guide is built for a PI running the official Raspbian OS, so I don’t know how HassIO works from the CLI (I run mine on a CentOS VM).

NOT with hassio.

You do not have a package manager, cannot install things, and don’t have most Linux tools available. It is an appliance OS.

In short, you cannot install it on HASSOS.

Hmm… and now I remember why I moved off the RPI. :thinking:

With the inability to install anything on HassOS your options are going to be VERY limited without maybe running a “jump” box on say another PI (ie. remote in to PI #2 and then use Raspbian desktop interface to reach HassIO).

I think that will be perfect, thanks for the suggestion and the clarification regarding Teamviewer on hassio :smiley:

Google hangouts can be your thing here…
Not only it can send you notifications, but it can also act for you using intents.

Just predefine an action and send it to hangouts. For example:
you can send “restart HA” and have it restart HA.
This way you are not exposing your IP and you have notifications. That is only if you have android phone of course. I am not sure if hangouts is compatible with iphones.

Take a look here:

Doesn’t Home Assistant Cloud / Nabu Casa provide remote access by itself?

Not yet, but I think it is supposed to be included in the future so I might just wait for that for the remote access part :slight_smile:

Ah, from their blog post I thought it’s included as well. In the mean time you can try out my side project Webhook Relay, here are some docs: https://webhookrelay.com/v1/guide/home-automation.html#Home-Assistant.

In short, it opens a reverse tunnel that’s encrypted on your own device and stays encrypted till it reaches your browser when TLS pass-through is configured.

I think the main difference between Home Assistant Cloud and Webhook Relay is that on HA Cloud communication between cloud services and your HA instance is not encrypted and their servers can inspect/record traffic. While with TLS pass-through tunnels on Webhook Relay you can even supply certificates to your HA and Webhook Relay can’t even know what protocol is running there. But the add-on can terminate TLS for your convenience which makes setup very easy.

Pricing is as low as possible but there are quite a bit of hosting hosts + my time, it’s $4.5/m but you can pm me for a free trial.

Here’s how to use it:

  1. Create your own domain in DuckDNS (don’t install DuckDNS add-on on your HA instance, we just use their subdomain). You will need it later.
  2. Get DuckDNS authentication token (we will need this in whr add-on)
  3. Create Webhook Relay account and get authentication tokens from here https://my.webhookrelay.com/tokens
  4. Configure Webhook Relay tunnel add-on. Below is my own configuration from my HA, I just replaced the whr authentication token, duckdns domain and that token. You can have multiple tunnels. In my case configurator is behind a standard HTTPS tunnel, but main HA is under DuckDNS:
{
  "key": "WEBHOOKRELAY-KEY",
  "secret": "WEBHOOKRELAY-SECRET",
  "forwarding": [
    {
      "bucket": "ha",
      "destination": "http://homeassistant:8123"
    }
  ],
  "tunnels": [
    {
      "name": "ha",
      "destination": "http://127.0.0.1:8123/",
      "protocol": "tls",
      "domain": "YOUR-DUCKDNS-SUBDOMAIN.duckdns.org"
    }
  ],
  "duck_dns": {
    "token": "DUCKDNS-TOKEN",
    "accept_terms": true
  },
  "tunnels_enabled": true,
  "forwarding_enabled": false
}