Hass.io Add-on: Webhook Relay
Fast & simple reverse tunnels for your Home Assistant.
About
Webhook Relay addon enables Home Assistant and any other services running inside internal network to receive webhooks from public services such as IFTTT, Zapier, Mailgun or pretty much anything. Add-on also allows you to create bidirectional tunnels for remote access (for example your browser).
It works by opening a connection to the public cloud service and giving you your unique “webhooks inbox” URL which you can supply to 3rd party services or subdomain for remote access.
What this add-on can do?
- Integrate with Google Assistant, Alexa, IFTTT.
- Remote access to Home Assistant, Node-RED, Configurator, Tileboard GUI (or anything else that can be accessed via browser).
- End-to-end TLS encryption for connections from your device.
Webhook Relay is particularly useful when:
- You cannot access your router to configure port forwarding
- Router doesn’t support port forwarding
- Your ISP blocks inbound connections
- You don’t have a static IP address
- Server that is hosting your home automation system is changing IP, location
- You find configuring DuckDNS with Let’s Encrypt too difficult
When Webhook Relay is not useful:
- You have a static IP and can configure your router (just point a DNS at it)
- Your Home Assistant is already in the public cloud and accessible from anywhere
- You can configure DuckDNS with Let’s Encrypt and it works for you, guide here
Quick Start
Before starting the add-on, sign up here.
Installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on:
- Add our Hass.io add-ons repository URL to your Hass.io instance: https://github.com/webhookrelay/home-assistant
- Install the “Webhook Relay” add-on.
- Generate token key & secret pair and add it to the add-on’s configuration
- Get DuckDNS token and create your domain. Add those details to the “tunnels” config section and “duck_dns” section. Set “accept_terms” to true if you accept Let’s Encrypt ToS.
- Set your DuckDNS name and authentication tokens to the configuration and start the “Webhook Relay” add-on.
- Check the logs of the “Webhook Relay” add-on to see if everything went well. It should print out your public URL.
Detailed instructions on how to set it up can be found here https://webhookrelay.com/v1/guide/home-automation.html.
Use webhooks forwarding when:
- Service that is sending requests to your home automation instance doesn’t expect responses (usually webhook producers don’t expect anything)
- Additional security is required for your server and you don’t want to expose it to the internet. Webhooks producer won’t get any information about the server that is consuming your webhooks
You should use tunnels when:
- You need remote access to your home automation instance (for example you want to view it through the browser).
- Service that is calling your home automation instance wants to receive responses from it.
Plans and Pricing
Webhook Relay is a hosted service that requires infrastructure, support and development time. Our business model is providing a service for a fee. We do not share any of your data with 3rd parties (except Stripe for billing purposes).
Our free plan includes:
- One bidirectional tunnel suitable for remote access, due to the lack of HTTPS we wouldn’t recommend using them from unsafe wifi networks.
- End-to-end encrypted webhooks forwarding (150 webhooks per month)
For most users basic plan ($4.50/month) will be enough, it includes:
- Custom subdomains
- Secure TLS pass-through tunnels with auto certificate fetch from DuckDNS (no need for that add-on though)
- HTTPS for bidirectional tunnel endpoints
- 3 tunnels (for example Home Assistant, Node-RED and anything else)
- 1500 webhooks per month
All plans can be viewed here. Alternative ways to earn HTTPS and custom subdomains:
- Blog about it
- Tweet about @Webhook Relay
- Provide useful feedback
Support
Submit issues to the add-on’s Github repository or send me an email: [email protected]. I try to answer queries as soon as possible
Available since version 2.0
- Custom domains through CNAME DNS entries, such as hass.yourdomain.com
- TLS pass-through without TLS termination on our side. This will allow Webhook Relay to relay traffic to your Home Assistant without terminating HTTPS. Combined with custom domains this feature will allow you to create fully encrypted tunnels so even if we were forced to, we couldn’t spy on your traffic. It might require a bit more work on your end to setup TLS termination with NGINX/traefik or similar tools though.