Home Assistant - Funky Penguin's Geek Cookbook

Home Assistant is a home automation platform written in Python, with extensive support for 3rd-party home-automation platforms including Xaomi, Phillips Hue, and a bazillion others.

This is a companion discussion topic for the original entry at https://geek-cookbook.funkypenguin.co.nz/recipies/homeassistant/

What would you recommend to those that want to use Zwave, Typically people build out their HA setups with a raspi, usb Zwave stick, and perhaps IR and RF moduals attached via GPIO on the Pi.

The only suggestion I’ve seen is using NBD (network block device) to connect over the network.

Many Thanks

Interesting question… I’ve been looking into device pass-thru around the crypto-mining space (GPUs - it’s hard), and I’ve read that docker can do per-device passthroughs, so if the zwave device was a simple /dev/blah device, you could pass it to the container, or you could bind-mount /dev/blah into /dev/blah within the container, running in privileged mode.

My own HomeAssistant setup runs HA within the swarm, but I use a collection of scripts on an rpi to publish temperature/power measurements to HA using MQTT (because the probes are wired directly to the rpi). It works well, since HA natively accepts the MQTT data, and sends it to influxdb for graphing in grafana.

image: homeassistant/home-assistant needs to be chnaged

Snap! Updated, thanks :slight_smile:

Awesome stuff you have here!! Went through everything and now I’m working on migrating my HA. My HA highly utilizes MQTT, so I’d like to do MQTT in my Swarm cluster with a reverse proxy. Seems that Traefik is HTTP only, so seems my only reverse proxy option for MQTT is Nginx. Is your MQTT in the docker swarm, how are you handling it?

My MQTT is in a single-node swarm ATM (my home setup vs my datacenter), but I see the problem - traefik won’t do it, but why not just use keepalived with swarm routing mesh? Inbound MQTT requests hitting any node in the swarm will be automatically forwarded to the right container after all… :slight_smile:

Thanks, I’m still new to docker and didn’t fully understand the networking until now. Long term I think I might want Nginx or maybe use web sockets and Traefik(however, seems tasmota does not support this). For now this will do the trick:-). Thanks to this rabbit’s hole, I now have an EMQTT cluster in my swarm and ETCD in my swarm.

1 Like