ansible/roles/music/templates/mpd-volume-to-mqtt.sh
polyfloyd e9f31417b7
Some checks failed
Test / build (push) Failing after 1m1s
music: Fix mpd-volume-to-mqtt
2025-05-14 23:53:40 +02:00

21 lines
526 B
Bash

# {{ ansible_managed }}
#!/bin/bash
set -eu
set -o pipefail
trap 'mqtt-simple -h {{ mqtt_internal_host }} -p '{{ music_mqtt_mpd_volume }}' -m "" -r' EXIT
prev_volume=x
(echo mixer; mpc idleloop) | while read event; do
if [ $event = "mixer" ]; then
volume=`mpc volume | sed -nr 's/^volume: ([0-9]+)%$/\1/p'`
if [ "$prev_volume" != "$volume" ]; then
mqtt-simple -h {{ mqtt_internal_host }} -p '{{ music_mqtt_mpd_volume }}' -r -m "$volume"
fi
prev_volume=$volume
fi
done