diff options
Diffstat (limited to 'god/licht')
-rwxr-xr-x | god/licht | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/god/licht b/god/licht new file mode 100755 index 00000000..12e4555f --- /dev/null +++ b/god/licht @@ -0,0 +1,136 @@ +#!/bin/bash +# +#SYNOPSIS +# //god/licht [options] [0/1] +#OPTIONS +# all - toggles all lights +# links - toggles all lights on the left hand side while looking towards the Auditorium +# rechts - toggles all lights on the right hand side while looking towards the Auditorium +# kuschel - toggles the lights in the pwnie corner +# software - toggles the software corner +# tische - toggles the lights on the window side of the long table +# porsche - toggles the lights on the window side where the porsche cockpit is +# ghetto - toggles the lights in the hallway +# 0-7 - toggles individual lights + +TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` +shorthelp() { + echo "Usage: $0 [OPTIONS] [0|1]" + echo "Toggle the lights in the shack." + +} +longhelp(){ + shorthelp + +cat <<EOF + +OPTIONS + all - toggles all lights + links - toggles all lights on the left hand side while looking towards the Auditorium + rechts - toggles all lights on the right hand side while looking towards the Auditorium + kuschel - toggles the lights in the pwnie corner + software - toggles the software corner + tische - toggles the lights on the window side of the long table + porsche - toggles the lights on the window side where the porsche cockpit is + ghetto - toggles the lights in the hallway + 0-7 - toggles individual lights +EOF +} +toggle() { + LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` + if ! [ "$LAMPE" -a "$TOGGLE" ];then + longhelp + exit 1 + fi + STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE" + if [ $# != 2 ] + then + longhelp + exit 1 + else + echo "Toggle light $LAMPE ($TOGGLE)" + printf "$STRING" | nc -u -w1 licht.shack 1337 + fi +} + +toggle_all() { + for i in `seq 0 7` + do + toggle $i $TOGGLE + done + wait +} + +kuschel(){ + for i in 0 2 + do + toggle $i $TOGGLE + done + wait +} + +software(){ + for i in 1 3 + do + toggle $i $TOGGLE + done + wait +} + +tische(){ + for i in 4 6 + do + toggle $i $TOGGLE + done + wait +} + +ghetto(){ + i=7 + toggle $i $TOGGLE +} + +porsche(){ + i=5 + toggle $i $TOGGLE +} + +case "$1" in + (--help) + if [ "$2" == "--verbose" ] + then longhelp + else shorthelp + fi + ;; + all) + toggle_all + ;; + kuschel) + kuschel + ;; + software) + software + ;; + links) + kuschel + software + ;; + rechts) + tische + porsche + ghetto + ;; + tische) + tische + ;; + porsche) + porsche + ;; + ghetto) + ghetto + ;; + *) + toggle "$@" + ;; +esac + |