summaryrefslogtreecommitdiffstats
path: root/god/licht
blob: cbff9ad0bc01e89373b67997f5c9c149b8fd0d0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/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() {
  LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` 
  TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` 
  if ! [ "$LAMPE" -a "$TOGGLE" ];then
    echo "you are made of stupid"
   exit 1
  fi
  STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE"
  if [ $# != 2 ]
  then
     echo "Usage: licht <lampe> <0/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
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

kuschel(){
    for i in 0 2
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

software(){
    for i in 1 3
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

tische(){
    for i in 4 6 
    do
        printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 &
    done
    wait
}

ghetto(){
    printf "\\xA5\\x5A\\x7\\x$TOGGLE" | nc -u -w1 licht.shack 1337 
}

porsche(){
    printf "\\xA5\\x5A\\x5\\x$TOGGLE" | nc -u -w1 licht.shack 1337 
}

case "$1" in
  --help) 
      echo "Toggle the lights"
      echo "Usage: lich <lampe> <0/1>"
      ;;
  all) 
      TOGGLE=$2
      toggle_all
      ;;
  kuschel)
      TOGGLE=$2
      kuschel
      ;;
  software)
      TOGGLE=$2
      software
      ;;
  links)
      TOGGLE=$2
      kuschel
      software
      ;;
  rechts)
      TOGGLE=$2
      tische
      porsche
      ghetto
      ;;
  tische)
      TOGGLE=$2
      tische
      ;;
  porsche)
      TOGGLE=$2
      porsche
      ;;
  ghetto)
      TOGGLE=$2
      ghetto
      ;;
  *)
      toggle "$@"
      ;;
esac