- Home Assistant Asus Router
- Netgear Assistant
- Home Assistant Router Presence
- Home Assistant Bluetooth Presence Detection
Nov 02, 2019 While this can be done using a number of factors in Home Assistant (router detection of your mobile, GPS position etc) SmartThings rely on the additional sensor that you should carry around with you. Although this seems to be a good idea, in theory, users report that it is very unreliable and frustrating to use. Home Assistant no longer support remote access via IP address since release 0.77, you have to use a domain name. The most common approach is to set up port forwarding (for any port) from your router to port 8123 on the computer that is hosting Home Assistant.
OwnTracks is an open-source device tracker app for iOS and Android that lets you publish location data from your mobile phone. On the mobile app you can locate other connected devices on a map and get help navigating to the devices/friends/family members. With OwnTracks integrated in Home Assistant, you can create automation rules based on presence detection (for example, turn on the lights when someone gets home) or just keep an eye on where your youngsters (their phones) are from within the Home Assistant GUI.
What I really like about OwnTracks is that the creators encourages you to own and handle your private location data. Owntracks has a public broker but supports sending the location data with MQTT to your own private broker instead. To achieve this in my current home automation setup, I need to bridge an external broker with my within-LAN mosquitto broker that I use for my home automation.
![Assistant Assistant](https://www.mysensors.org/uploads/57be15b86b0aea1b61746265/image/homeassistant_history.png)
Overview
I have a mosquitto broker on my local LAN that uses the default settings with no password or encryption. IoT-devices and services within my LAN publish and subscribe to messages via this broker (typically sensor values and detection events). As all communication happens within my own network, data integrity is not a problem. Now I want to let selected devices outside the LAN communicates with my home system via MQTT. How to achieve this? Some possible alternatives could be:
- Port forward my internal broker through the firewall.
- Host an additional “external” broker at home that is only used for incoming Owntracks messages. Port forward this broker through the firewall. Bridge messages from this broker to the internal broker by letting the internal broker subscribe to topics on the external broker.
- Use a private MQTT cloud broker. Bridge messages from this broker to the internal broker by letting the internal broker subscribe to topics on the external broker.
As I don’t want to reconfigure all my existing within-LAN-devices with TLS, certificates and passwords, option (1) is not a good alternative. Option (2) and (3) lets me keep my existing configurations while still allowing Owntracks messages into my system.
MyDMX 2.1 - April 19, 2019 Edition Now Available: myDMX 2.1 software update for myDMX 2.1 and myDMX Buddy includes general bug fixes. The MAC OS software versions are compatible with OS 10.10 Yosemite and above. Software Update: The November 21, 2016 update to ADJ’s myDMX 2.1, myDMX 2.0 & myDMX Buddy (MAC & PC) provides bug fixes and overall enhancements. MyDMX 2.0 is a new stand alone, software/hardware package from American DJ. Available for Windows and Mac OS X operating systems, programming your light. Nov 21, 2016 myDMX 2.0 is now PC and Mac compatible. Also control myDMX 2.0 with your Smartphone! The software features a new design, which includes new icons, faders, colors and preset components allowing for a quicker and more pleasant workflow. The MAC OS software versions are compatible with OS 10.10 Yosemite and above.myDMX 3.0 - August 2, 2018 Edition Now AvailableThere is a new, free August 2, 2018 update to myDMX 3.0 now available in the “Downloads” section of this page. Mydmx mac.
Mosquitto on Raspberry Pi
My Mosquitto setup runs on Raspberry Pi computers with Raspian OS. You can install Mosquitto with apt-get, but as the default source list on Raspbian will not get the latest Mosquitto that is needed for bridging brokers, an alternative source has to be used. This tutorial shows how to set it up:
Bridging Mosquitto brokers
In this example I use a mosquitto broker with default configuration (no security) on my local LAN on a Raspberry Pi with IP 192.168.1.16. I use a separate mosquitto broker on a different Raspberry Pi with IP 192.168.1.17. The second mosquitto instance is open through the firewall and mosquitto is setup with password protection and is only used for Owntracks messages. The security could be increased further by using encryption with TLS, but as self-signed certificates is a mess with iPhones (that I want to connect with the broker), I’ve decided to accept unencrypted data.
To get the Owntracks messages from the external mosquitto broker to the internal broker, I setup the internal broker to subscribe to owntracks/# topics from the external broker. This is achieved with a bridge configuration in mosquitto.conf (typically located in /etc/mosquitto/mosquitto.conf) for the internal broker:
When I used the default source list for apt-get on Raspbian I could not get this to work. apt-get would download mosquitto version 1.3.4 and this version would not recognize remote_username and remote_password. With the new source list, apt-get will install a newer mosquitto (version 1.4.11 in my case), which understands these parameters.
To test that the bridging works, you can open up two terminal windows on a LAN-connected computer that has mosquitto-clients installed (install with apt-get install mosquitto-clients). In the first window, we subscribe to owntracks topics from the internal broker:
In the second window, we publish an owntracks message to the the external broker:
If the bridging is correctly setup, the first window should show this output:
That is, the message has been sent to the external broker and been forwarded to the internal broker. To make the external broker instance available outside the LAN, you need to use port-forwarding in your router (consult your router manual for this step).
Using a cloud service for MQTT
An alternative to hosting an additional broker yourself is to use a cloud service. CloudMQTT has a free plan for up to 10 connections (with limited bandwidth). On CloudMQTT you get a set of private ports on a cloud instance of an MQTT broker. You can add users/passwords for different topics and directions of data.
The bridging setup for making the internal broker subscribe to Owntracks-topics from the CloudMQTT broker is the same as when hosting the external broker yourself. Just replace the address, port and credentials so that it matches your CloudMQTT-broker.
Owntracks on iOS and Android
Owntracks can be downloaded for free from iOS AppStore for iPhone and Google Play for Android. To configure the app you need to switch to private mode and configure the settings to your own broker. For iOS:
You can test the setup by keeping a mosquitto_sub running on a computer and watch the output. You should get something like:
Home Assistant
Home Assistant has a nice Owntracks integration that shows the Owntracks-connected devices on a map. See this page on how to set it up and use it;
When Owntracks is activated in Home Assistant, it listens to Owntracks messages from an MQTT broker. From the sub topic of an incoming Owntracks message, a device_tracker entity is created, for example:
device_tracker.my_iphone
This entity can then be rendered in the GUI or used for automation rules based on presence detection. Home Assistant uses “zones” for defining regions on earth. By default you have a home zone that is created from the latitude and longitude that you have set up in configuration.yaml. Other zones can be added by using zone settings:
zone 1: |
name: Work (Lars) |
latitude: 61.422185 |
longitude: 18.560426 |
radius: 100 |
icon: mdi:worker |
zone 2: |
name: School |
latitude: 61.494772 |
longitude: 18.72384 |
radius: 300 |
icon: mdi:chair-school |
group: |
tracker_group: |
name: Tracker group |
entities: |
– device_tracker.my_iphone |
– device_tracker.my_nexus |
When HA gets an Owntracks message from a device it will change the state of the device_tracker identity to the name of the zone if within a specified zone or “not home” if not within any of the zones.
Showing the entity state in the HA GUI
With a group containing device tracker entities, you can display the trackers in the HA GUI like:
Download crack for SWF To Screensaver Scout 1.56c.1.d or keygen: SWF to Screensaver Scout: converts Flash to Screensaver (FLV, SWF to SCR, EXE). Because then, the SWF To Screensaver Scout Reviews organization has grown considerably larger, outgrowing the SWF To Screensaver Scout Reviews basement plus today stands as one of the SWF To. SWF to Screensaver Scout: converts Flash to Screensaver (FLV, SWF to SCR, EXE). Benefits:. Make screensavers from flash FLV movies and SWF files - create. Swf to screensaver scout keygen torrent. Swf To Screensaver Scout Keygen Crack. In simple language, a hedge is used to reduce any substantial losses or gains suffered by an individual or an organization. Swf to screensaver scout keygen software descargar joux plane rfactor crack. Unreal tournament 2008 keygen torrent idm 6.15 build 5 crack file. Swf to screensaver scout keygen software. Cambiare Software Autoradio Chinese Food Octopus Samsung 2.2.5 Crack King James Bible Tagalog For Pc Unity 3d Car Script Files Matlab Highway Design Manual And Ontario Programs For Scoring Trap Leaguesafe Free Download Marble Textures Contact Swf To Screensaver Scout Keygen Download Ja Rule Best Of Ja Rule.
Creating a presence detection rule
With Home Assistant’s rule system, you can define automations based on presence detection of the Owntracks-connected devices. For example, to turn on the windows lights when I get home, I could use an automation rule like this one:
Home Assistant Asus Router
automation: |
– alias: Turn on window lights when Lars gets home |
trigger: |
platform: zone |
entity_id: device_tracker.my_iphone |
zone: zone.home |
event: enter |
action: |
service: switch.turn_on |
entity_id: group.window_lights |
I’ve written this guide for the documentation pages of the Home Assistant iOS companion app. As I’m rather proud of them I’m republishing the guide here. Jan
Companion app networking
Having your Home available anywhere and everywhere you go is important, whether you forgot to turn off the stove or you want to check the camera views because of an alert.
Because we want your smart home to be private and secure on the web, many parts of the puzzle need to align just right so everything works as you expect. This guide aims to help you understand the requirements, some of the complexities and our recommended typical solutions to setting up network access to your Home Assistant instance:
The basics: How the app talks to your Home Assistant
In order for the app to talk to HA, it needs to know its address. Just within your home network you might know that your Home Assistant is on an IP like
This is all fine and will work perfectly well as long as you never take your phone or tablet outside your home, but what if you do?
The easiest way is to subscribe to Nabu Casa Cloud for the small monthly fee of $5 US, which will solve all this for you and you can (almost) stop reading here, as well as supporting further development of Home Assistant. Nabu Casa Cloud acts as a “smart” proxy on the internet, tunnelling your frontend in an encrypted manner from your home to your phone, regardless where you are and without requiring opening your home network to inbound traffic from the internet.
If you don’t want to use Nabu Casa Cloud (which is fine, but you should still subscribe and enjoy the warm feeling of supporting Home Assistant), you need HA to be accessible from the internet. This requires opening a port on your router and getting a name for your Home Assistant on the internet. While it is possible to have your HA use Port 8123 internally and have your router do a port-forwarding from say the default https port of 443 to 8123, we recommend you NOT do this for reasons of simplicity which we will explain later. You also need a name for your Home Assistant as hassio.local is a private domain suffix that does not exist on the internet.
192.168.1.4
and listening on port 8123. If you use Hass.io
and haven’t changed any of the defaults, Home Assistant will also be reachable at http://hassio.local:8123.This is all fine and will work perfectly well as long as you never take your phone or tablet outside your home, but what if you do?
The easiest way is to subscribe to Nabu Casa Cloud for the small monthly fee of $5 US, which will solve all this for you and you can (almost) stop reading here, as well as supporting further development of Home Assistant. Nabu Casa Cloud acts as a “smart” proxy on the internet, tunnelling your frontend in an encrypted manner from your home to your phone, regardless where you are and without requiring opening your home network to inbound traffic from the internet.
If you don’t want to use Nabu Casa Cloud (which is fine, but you should still subscribe and enjoy the warm feeling of supporting Home Assistant), you need HA to be accessible from the internet. This requires opening a port on your router and getting a name for your Home Assistant on the internet. While it is possible to have your HA use Port 8123 internally and have your router do a port-forwarding from say the default https port of 443 to 8123, we recommend you NOT do this for reasons of simplicity which we will explain later. You also need a name for your Home Assistant as hassio.local is a private domain suffix that does not exist on the internet.
Dynamic DNS
Most non-business internet connections have at least one of two drawbacks: Your internet service provider typically does not give you a static IP (meaning the public IP address your modem/router is assigned will change every once in a while or even every 24 hours) and some ISPs don’t even give you a “real” IP address as they do not have enough addresses to give out. This last scenario is very common on cable providers and especially in Asia/Pacific. If your ISP says they use Carrier-grade NAT (CG-NAT) or something like Dual Stack lite (DS-lite) you likely will have this problem. If you’re impacted please see the CG-NAT and IPv6 addendum.
For dynamic, public IP addresses the solution is simple: Typically users choose a dynamic dns service such as duckdns.org which will create a unique name (e.g.
For dynamic, public IP addresses the solution is simple: Typically users choose a dynamic dns service such as duckdns.org which will create a unique name (e.g.
my-home.duckdns.org
) that is supported to be updated via your router to always point to your public address. If you have created the port-forward of TCP 8123 on your router’s public interface to TCP 8123 on your internal Home Assistant IP (say 192.168.1.4
), your Home Assistant is now available on the web. You could declare victory at this point and stop but don’t – because everything at this point is unencrypted and we want you to enjoy HA in a private, secure manner.Hairpin NAT
At this point of setting up we need to check one capability of your router: Hairpin NAT (otherwise known as NAT reflection or NAT loopback). What this means is the ability of your router to mirror a request from its inside (LAN) interface to its outside (WAN) address back to an internal IP address (in this case, your Home Assistant), thus reflecting or hairpinning the traffic. It’s easy to check if this works: Just open a browser on your phone or PC while connected to your home network and opening
http://my-home.duckdns.org:8123
– if it works, you have hairpin NAT working and can go on to the next section. Most current routers will support NAT hairpinning out of the box, there are however some routers (especially if you got your router from your ISP) that do not have this ability or have it disabled. If this is the case, you need to check if you can enable it on your router or, if you can’t, you will need to set up Split Brain DNS.Securing the connection
We’ll stay with our DuckDNS example. Using
http://my-home.duckdns.org:8123
works, but anyone could be reading your traffic. Let’s change that! The DuckDNS Hass.io
add-on will create a free, trusted and valid LetsEncrypt SSL certificate to use on your Home Assistant. Just follow the installation instructions here and here and you will have secure, public access to your Home Assistant. What’s great about using the DuckDNS add-on is that it uses the LetsEncrypt DNS challenge, whereby during requesting the certificate it proves “ownership” of the domain by creating a temporary DNS record. If you use a different DNS provider other than DuckDNS, you can use the LetsEncrypt add-on for Hass.io
which supports proving ownership of the name either via the DNS or the http challenge. The latter requires port-forwarding TCP Port 80 on your router to your internal Home Assistant IP on TCP Port 80.Netgear Assistant
With Hairpin NAT working and SSL on your DNS domain you can now access Home Assistant securely both on the internet and at home and you should add
base_url: my-home.duckdns.org:8123
to the http:
section of your configuration.yaml. This is not strictly necessary but will help with auto-detection during onboarding of the iOS app, as the app will know where and how to reach your Home Assistant.Split Brain DNS
So what’s this split brain DNS (also known as split horizon DNS, split-DNS) thing and why would I need it? If your router doesn’t do hairpin NAT, you still need to access your Home Assistant via the public DNS name, e.g.
The easiest solution to this is to use the Hass.io add-on AdGuard Home. This can also be set up on some routers (e.g. pfSense or UniFi Security Gateways) but we’ll continue on using our example guide with the tools provided via Hass.io: So you’ve now installed the AdGuard Home add-on and changed the DNS server on your router DHCP settings to the address of your Home Assistant. You should now go to the AdGuard Home setting page in your Hass.io panel and there go to
Here you click
Even if you don’t need split brain DNS, you may also want to set this up as it will enable you to access Home Assistant via it’s public name even when your internet connection is down and hairpin NAT won’t work. One less dependency on the Cloud!
my-home.duckdns.org
. Why is that? Because valid encryption via https and SSL certificates only works for public DNS names. What this means is that the certificate name on your server needs to match the DNS name you enter in your browser or app. This is fine with hairpin NAT available but becomes an issue when it’s not. In this case you need to “split” the answer your browser/app gets when it looks up the IP address behind my-home.duckdns.org
– you need one answer for devices on your home network that points to the internal IP address of your Home Assistant (e.g. 192.168.1.4
) and another answer for when you’re out and about [e.g. 104.25.25.31
.The easiest solution to this is to use the Hass.io add-on AdGuard Home. This can also be set up on some routers (e.g. pfSense or UniFi Security Gateways) but we’ll continue on using our example guide with the tools provided via Hass.io: So you’ve now installed the AdGuard Home add-on and changed the DNS server on your router DHCP settings to the address of your Home Assistant. You should now go to the AdGuard Home setting page in your Hass.io panel and there go to
Settings
->DNS settings
, then scroll down to the bottom where you have a box titled: DNS rewrites
Here you click
Add DNS rewrite
and enter your my-home.duckdns.org
and the internal IP 192.168.1.4
of your Home Assistant, followed by clicking on save
. What happens now is that all DNS queries for the address my-home.duckdns.org
from inside your home network will be answered by AdGuard via its own rewrite table, thus pointing toward the internal address of your Home Assistant instead of asking public DNS servers on the web which will all answer with the public IP of your router.Even if you don’t need split brain DNS, you may also want to set this up as it will enable you to access Home Assistant via it’s public name even when your internet connection is down and hairpin NAT won’t work. One less dependency on the Cloud!
Setting up the iOS app
Home Assistant Router Presence
If you’ve followed all our advice, your app should find your Home Assistant instance automatically during onboarding when connected to your home wifi network. You can also go through onboarding anywhere you’re connected to the internet by manually entering
If you want to (or have to) use Nabu Casa Cloud, there are two more steps required:
– In iOS settings, set location access permissoin for Home Assistant to Always. This is required because starting with iOS 13, Apple will only let apps with such permission have access to the wifi SSID which is used by the app to determine whether to use internal or external URLs.
– Once permission is given, add your Home Assistant address to internal URL (if you come from the top of this article, this could be
– If you’ve set up Nabu Casa Cloud in your Home Assistant the checkbox to “Connect via Cloud” should now become available. Once you activate the checkbox, external URL will become deactivated.
https://my-home.duckdns.org:8123
and the setup will finish with that address in the External URL
field in the app connection settings. There should be no need to enter an internal URL as the same address will work regardless of where your phone is connected.If you want to (or have to) use Nabu Casa Cloud, there are two more steps required:
– In iOS settings, set location access permissoin for Home Assistant to Always. This is required because starting with iOS 13, Apple will only let apps with such permission have access to the wifi SSID which is used by the app to determine whether to use internal or external URLs.
– Once permission is given, add your Home Assistant address to internal URL (if you come from the top of this article, this could be
http://hassio.local:8123
– If you’ve set up Nabu Casa Cloud in your Home Assistant the checkbox to “Connect via Cloud” should now become available. Once you activate the checkbox, external URL will become deactivated.
Addendum: CG-NAT
Waves complete. If your ISP doesn’t give you a public IPv4 address you’re down to basically only two solutions: You can call your ISP and ask if they can give you a real address or if there is an upgrade for your connection available (oddly enough, asking nicely will work with many ISPs out there) or use Nabu Casa Cloud.
Home Assistant Bluetooth Presence Detection
Addendum: IPv6
Since IPv6 has been rolling out for the last 20 years, chances are that along with an IPv4 address your home network will also have been provided with IPv6 addresses from your ISP. So your Home Assistant host may have it’s IPv4 address of
– Home Assistant will listen for traffic on
– If you really want to future proof your setup, you will have two DNS records for
192.168.1.4
as well as an IPv6 address of e897:5571:5f66:21dc:51c1:28d8:3bdc:6724
. Here’s where our advice for not changing the TCP port you forward to Home Assistant comes in:– Home Assistant will listen for traffic on
192.168.1.4:8123
and[e897:5571:5f66:21dc:51c1:28d8:3bdc:6724]:8123
– If you really want to future proof your setup, you will have two DNS records for
my-home.duckdns.org
: An A-record pointing to your routers public IPv4 address which will be port-forwarded to your HA hosts internal address and an AAAA-record, which points directly to the IPv6 address of your HA host. Now when you access your HA remotely either protocol could be used, since all you’re entering will be https://my-home.duckdns.org:8123
. If you had changed the Port on your Router to the https default 443, the connection would now fail if you suddenly ended up with a working IPv6 setup as nothing is listening on [e897:5571:5f66:21dc:51c1:28d8:3bdc:6724]:443
.Addendum: Reverse Proxy via NGINX
There are cases when having Home Assistant serve https is impossible or incompatible with some of your devices. This can be especially true with ESP-based low power IoT hardware that communicates via RestAPI and just doesn’t have the horsepower to do the SSL encryption. One example is the konnected.io Integration which requires Home Assistant to be reachable via http.
So to accomodate this and still have encryption for external access, we use a reverse proxy like NGINX. What a reverse proxy does is to act as an intermediate for your clients (Browser or App). The client talks to the reverse proxy securely via https and the proxy passes through this traffic to Home Assistant over an unencrypted http connection. Staying with our Hass.io example, we’ll assume you have already set up DuckDNS and LetsEncrypt. You should now install the Hass.io add-on NGINX Home Assistant SSL proxy and configure it according to the docs.
So to accomodate this and still have encryption for external access, we use a reverse proxy like NGINX. What a reverse proxy does is to act as an intermediate for your clients (Browser or App). The client talks to the reverse proxy securely via https and the proxy passes through this traffic to Home Assistant over an unencrypted http connection. Staying with our Hass.io example, we’ll assume you have already set up DuckDNS and LetsEncrypt. You should now install the Hass.io add-on NGINX Home Assistant SSL proxy and configure it according to the docs.
In your configuration.yaml file the following changes are needed:
Once that’s done your router’s port-forwarding should be
You can now access your Home Assistant via
Note: If you don’t use the NGINX Hass.io add-on but instead roll your own, please ensure that websockets support is enabled.
TCP 443
to your Home Assistant internal IP 192.168.1.4 Port 443
. Do NOT create a forward to 192.168.1.4 Port 8123
as that is now unencrypted http and should only be accessible from your local network.You can now access your Home Assistant via
https://my-home.duckdns.org
both internally and externally while having http://192.168.1.4:8123
available to be used as unencrypted endpoint for things like konnected.io
.Note: If you don’t use the NGINX Hass.io add-on but instead roll your own, please ensure that websockets support is enabled.