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