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