#!/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