#!/bin/bash
export DISPLAY=:0
export BL_PATH=/sys/class/backlight/10-0045/bl_power
bl_on() {
echo 0 | sudo tee $BL_PATH
}
bl_off() {
echo 1 | sudo tee $BL_PATH
}
process() {
while read line; do
echo $line
case "$line" in
UNBLANK*)
bl_on
;;
BLANK*)
bl_off
;;
RUN*)
bl_off
;;
esac
done
}
---
#!/bin/bash
set -xeu -o pipefail
echo "started"
MQTT_COMMON_ARGS="-u rpi-hl-screensaver-control -P XXX -h mqtt.fritz.box"
MQTT_PUB_CMD="/usr/bin/mosquitto_pub $MQTT_COMMON_ARGS"
MQTT_SUB_CMD="/usr/bin/mosquitto_sub $MQTT_COMMON_ARGS"
export DISPLAY=:0
function report_to_ha() {
$MQTT_PUB_CMD -t sjhl/rpi-hl/screensaver/online -m online -r
$MQTT_PUB_CMD -r -t "homeassistant/button/sjz_bett_speakertest/config" -m '{"name": "Bett Speakertest", "command_topic": "sj/rpi-sj-bett-display/speakertest", "payload_not_available": "offline", "payload_available": "online", "availability_topic": "sjhl/rpi-hl/screensaver/online", "payload_press": "speakertest", "unique_id": "sjz_bett_speakertest", "device": {"model": "RPI-SJ-Bett-Display", "identifiers": "rpi-sj-bett-display", "via_device": "rpi-sj-bett-display", "name": "rpi-sj-bett-display", "manufacturer": "SteJau"}, "object_id": "sjz_bett_speakertest" }'
}
while true; do
report_to_ha
#$MQTT_PUB_CMD -m "" -t sj/rpi-sj-bett/selectvideo
$MQTT_SUB_CMD -t "sj/homeassistant/start" -t "sj/rpi-sj-bett/#" -t "sj/rpi-sj-bett-display/#" -t sj/rpi-sj/killchrome -t sj/rpi-sj/screensaver --will-payload offline --will-qos 2 --will-retain --will-topic sjhl/rpi-hl/screensaver/online -v | while read line
do
message=${line#* }
topic=${line%"$message"}
topic=${topic// }
printf "TOPIC: '%s' Message: '%s'" "$topic" "$message"
if [ "$topic" == "sj/rpi-sj/screensaver" ]; then
if xscreensaver-command --time | grep "screen non-blanked"; then
echo "SCREENSAVER ACTIVATION!"
/usr/bin/xscreensaver-command --activate
fi
fi
if [ "$topic" == "sj/homeassistant/start" ]; then
report_to_ha
fi
done
echo "ENDED! WAITING FOR RESTART!"
sleep 15
done