From fa82a56831a059f94b36118671f4c5cb06f481cd Mon Sep 17 00:00:00 2001 From: imonlinux <39863321+imonlinux@users.noreply.github.com> Date: Sun, 14 Sep 2025 12:01:14 -0700 Subject: [PATCH] Add script to create and install avahi service unit Intended to setup Zeroconf/mDNS for HA discovery --- script/gen-esphome-avahi.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 script/gen-esphome-avahi.sh diff --git a/script/gen-esphome-avahi.sh b/script/gen-esphome-avahi.sh new file mode 100644 index 0000000..0600c23 --- /dev/null +++ b/script/gen-esphome-avahi.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail +PORT=6053 +NAME="%h (Linux Voice Assistant)" + +mapfile -t IFACES < <(ip -o link show up | awk -F': ' '{print $2}' | grep -v '^lo$') + +TXT=" platform=linux +" +LIST="" +for i in "${IFACES[@]}"; do + mac=$(cat "/sys/class/net/$i/address") + if [ -d "/sys/class/net/$i/wireless" ] || [[ $i == wl* ]]; then net=wifi; else net=ethernet; fi + TXT+=" mac_${i}=${mac} +" + TXT+=" net_${i}=${net} +" + LIST+="${i}," +done +LIST=${LIST%,} + +cat >/etc/avahi/services/esphome-lva.service < + + + ${NAME} + + _esphomelib._tcp + ${PORT} + ifaces=${LIST} +${TXT} + +XML