HA setup
parent
449005e850
commit
68d0b70835
@ -0,0 +1,35 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Setting up Home Assistant in Docker to control HomeKit device"
|
||||
date: 2023-11-01 22:00:00 +0200
|
||||
comments: true
|
||||
categories:
|
||||
---
|
||||
|
||||
# Context
|
||||
|
||||
Setting up [Home Assistant](https://www.home-assistant.io/) to control brand new Velux roof windows through the Velux Active with Netatmo gateway (through HomeKit integration).
|
||||
|
||||
# Host setup
|
||||
|
||||
## Discovery testing
|
||||
|
||||
Manually make an mDNS query to discover HomeKit devices on an interface:
|
||||
|
||||
`dig -b <interface-address> @224.0.0.251 -p 5353 -t ptr _hap._tcp.local`
|
||||
|
||||
## Container networking mode
|
||||
|
||||
HomeKit discovery relies on mDNS to discover devices, so Home Assistant needs to be able to send out multicast queries, which is currently not supported with non-host networking. So, not choice but to use **host networking**. _(That's clearly written in the doc, but I still tried to get it working with ipvlan, to no avail)._
|
||||
|
||||
## Interface selection
|
||||
|
||||
By default, HomeAssistant will use only the network interface of the default route (next hop for the link-local multicast address 224.0.0.251). To enable additional interfaces, one needs to [adjust network settings](https://www.home-assistant.io/integrations/network/), which requires setting the user profile to advanced mode.
|
||||
|
||||
## Traefik setup
|
||||
|
||||
When using host networking, Traefik will connect to the container on the host's bridge IP (here `172.17.0.1`). In order for HA to bind only to that address (and not be exposed to the LAN), I therefore set `server_address` to `host.docker.internal`.
|
||||
|
||||
# Mikrotik setup
|
||||
|
||||
I am assigning a separate IoT VLAN to the gateway through a Mikrotik wireless access list. By default, the device will only see multicast frames sent to the [default VLAN of the interface](https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Vlan_tag_override) (not to the overridden VLAN from the access list). In order for it to get the multicast frames of its ACL-assigned VLAN, the `multicast-helper=full` option must be enabled on the wifi interface ([doc](https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#General_interface_properties)).
|
Loading…
Reference in New Issue