movie mode via webinterface
[svn42.git] / powersensordaemon / switch.cgi
1 #!/bin/sh
2
3 for QUERY in `echo $QUERY_STRING | tr '&' ' '`; do
4   for VALUE in `echo $QUERY | tr '=' ' '`; do
5     if [ "$VALUE" == "id" ]; then
6       ID='?'
7     elif [ "$ID" == "?" ]; then
8       ID=$VALUE
9     elif [ "$VALUE" == "power" ]; then
10       POWER='?'
11     elif [ "$POWER" == "?" ]; then
12       POWER=$VALUE
13     elif [ "$VALUE" == "ajax" ]; then
14       AJAX='?'
15     elif [ "$AJAX" == "?" ]; then
16       AJAX=$VALUE
17     fi
18     i=$i+1
19   done
20 done
21
22 UNIXSOCK=/var/run/powersensordaemon/cmd.sock
23 VALID_ONOFF_IDS="decke ambientlights lichter all werkzeug labor dart logo idee deckehinten deckevorne"
24 VALID_SEND_IDS="ymhpoweron ymhpoweroff ymhpower ymhvolup ymhvoldown ymhcd ymhwdtv ymhtuner ymhaux ymhsattv ymhvolmute ymhmenu ymhplus ymhminus ymhtest ymhtimelevel ymheffect ymhprgup ymhprgdown ymhtunplus ymhtunminus ymhtunabcde ymhtape ymhvcr ymhextdec ymhsleep ymhp5 panicled blueled moviemode"
25
26
27 [ "$POWER" == "send" ] && POWER=on
28 if [ "$POWER" == "on" -o "$POWER" == "off" ]; then
29   for CHECKID in $VALID_ONOFF_IDS $VALID_SEND_IDS; do 
30     if [ "$CHECKID" == "$ID" ]; then
31       echo "power $POWER $ID" | usocket $UNIXSOCK
32       echo "Content-type: text/html"
33       echo ""
34       echo "<html>"
35       echo "<head>"
36       echo "<title>Realraum rf433ctl</title>"
37       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
38       echo "</head></html>"
39       exit 0
40     fi
41   done
42 fi
43
44 DESC_werkzeug="Werkzeug LEDs"
45 DESC_stereo="Receiver On/Off"
46 DESC_ambientlights="Ambient Lichter"
47 DESC_labor="Labor Licht"
48 DESC_dart="Dart Scheibe"
49 DESC_logo="Logo"
50 DESC_idee="Idee"
51 DESC_deckehinten="Decke Hinten"
52 DESC_deckevorne="Decke Vorne"
53 DESC_decke="Deckenlichter"
54 DESC_lichter="Alle Lichter"
55 DESC_all="Alles"
56 DESC_ymhpoweron="Receiver On"
57 DESC_ymhpoweroff="Receiver Off"
58 DESC_ymhpower="Receiver On/Off"
59 DESC_ymhvolup="VolumeUp"
60 DESC_ymhvoldown="VolumeDown"
61 DESC_ymhcd="Input CD"
62 DESC_ymhwdtv="Input WDlxTV"
63 DESC_ymhtuner="Input Tuner"
64 DESC_ymhvolmute="Mute"
65 DESC_ymhmenu="Menu"
66 DESC_ymhplus="+"
67 DESC_ymhminus="-"
68 DESC_ymhtest="Test"
69 DESC_ymhtimelevel="Time/Levels"
70 DESC_ymheffect="DSP Effect Toggle"
71 DESC_ymhprgup="DSP Up"
72 DESC_ymhprgdown="DSP Down"
73 DESC_ymhtunplus="Tuner +"
74 DESC_ymhtunminus="Tuner -"
75 DESC_ymhtunabcde="Tuner ABCDE"
76 DESC_ymhtape="Tape"
77 DESC_ymhvcr="VCR"
78 DESC_ymhextdec="ExtDec Toggle"
79 DESC_seep="Sleep Modus"
80 DESC_panicled="HAL9000 says hi"
81 DESC_blueled="Blue Led"
82 DESC_moviemode="Movie Mode"
83 echo "Content-type: text/html"
84 echo ""
85 echo "<html>"
86 echo "<head>"
87 echo "<title>Realraum rf433ctl</title>"
88 echo '<script type="text/javascript">'
89 echo 'function sendButton( onoff, btn )'
90 echo '{'
91 echo ' var req = new XMLHttpRequest();'
92 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
93 echo ' req.open("GET", url ,false);'
94 echo ' //google chrome workaround'
95 echo ' req.setRequestHeader("googlechromefix","");'
96 echo ' req.send(null);'
97 echo '}'
98 echo '</script>'
99 echo "</head>"
100 echo "<body>"
101 #echo "<h1>Realraum rf433ctl</h1>"
102 echo "<div style=\"float:left; border:1px solid black;\">"
103 for DISPID in $VALID_ONOFF_IDS; do
104   NAME="$(eval echo \$DESC_$DISPID)"
105   [ -z "$NAME" ] && NAME=$DISPID
106   if [ -z "$AJAX" ]; then
107
108   echo "<form action=\"/cgi-bin/switch.cgi\">"
109   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
110   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
111   echo " <input type='submit' name='power' value='on' />"
112   echo " <input type='submit' name='power' value='off' />"
113   echo "</span></div>"
114   echo "</form>"
115   
116   else
117   
118   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
119   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
120   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
121   echo "</span></div>"
122   
123   fi
124 done
125 echo "</div>"
126 echo "<div style=\"float:left; border:1px solid black;\">"
127 for DISPID in $VALID_SEND_IDS; do
128   NAME="$(eval echo \$DESC_$DISPID)"
129   [ -z "$NAME" ] && NAME=$DISPID
130   if [ -z "$AJAX" ]; then
131
132   echo "<form action=\"/cgi-bin/switch.cgi\">"
133   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
134   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
135   echo " <input type='submit' name='power' value='send' />"
136   echo "</span></div>"
137   echo "</form>"
138
139   else
140   
141   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
142   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
143   echo "</span></div>"
144   
145   fi
146 done
147 echo "</div>"
148 echo "</body>"
149 echo "</html>"