#!/bin/bash

###############################################################################
#
# Monitor einschalten, wenn DPMS (Display Power Management Signaling) vorhanden
# Dies ist der VESA-Stromspar-Standard für Grafikkarten und Monitore
#
# Wenn Consumer-TV's eingesetzt werden, dann ist es am zielführendsten, wenn
# das Display mittels HDMI-CEC gesteuert wird. Setzt HDMI-CEC-Adapter voraus!
# 
# xrandr wird vorzugsweise bei Screens eingesetzt, welche einschalten, sobald
# ein Videosignal anliegt
# 
# snmp wird für GDS-Displays verwendet
#
# mqtt ist für Stehlen Zermatt
# 
###############################################################################

DISPLAYCTL=$( grep DISPLAYCTL </home/snowtv/bin/mc.cfg | awk -F= '{ st = index($0,"=");print substr($0,st+1)}' | tr -d '\r')
setx () {
	grep XRANDR </home/snowtv/bin/mc.cfg | awk -F= '{ st = index($0,"=");print substr($0,st+1)}' | awk '!($1="")' | tr -d '\r'
}

# Prüfen, welches Ein-/Ausschaltverfahren für das Display verwendet wird
if [ "$DISPLAYCTL" == "dpms" ];
then
	DISPLAY=:0.0 xset dpms force on && DISPLAY=:0.0 xset s off -dpms

elif [ "$DISPLAYCTL" == "hdmi-cec" ];
then
	echo 'on 0' | cec-client -s
	DISPLAY=:0.0 xset dpms force on && DISPLAY=:0.0 xset s off -dpms

elif [ "$DISPLAYCTL" == "xrandr" ];
then
	DISPLAY=:0.0 /usr/bin/xrandr setx && DISPLAY=:0.0 xset s off -dpms

elif [ "$DISPLAYCTL" == "snmp" ];
then
	snmpset localhost rwBklLampsStatus.0 i 1 && DISPLAY=:0.0 xset s off -dpms

elif [ "$DISPLAYCTL" == "mqtt" ];
then
	mosquitto_pub -h 127.0.0.1 -t command/standby -m NORMAL	&& DISPLAY=:0.0 xset s off -dpms
fi
exit 0

