otti switch mobile version
[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" == "mobile" ]; then
14       MOBILE='1'
15     elif [ "$POWER" == "?" ]; then
16       POWER=$VALUE
17     elif [ "$VALUE" == "ajax" ]; then
18       AJAX='?'
19     elif [ "$AJAX" == "?" ]; then
20       AJAX=$VALUE
21     fi
22     i=$i+1
23   done
24 done
25
26 UNIXSOCK=/var/run/powersensordaemon/cmd.sock
27 VALID_ONOFF_IDS="decke ambientlights lichter all werkzeug labor dart logo spots1 deckehinten deckevorne boiler lichterkette"
28 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"
29 VALID_BANSHEE_IDS="playPause next prev"
30
31 [ "$POWER" == "send" ] && POWER=on
32 if [ "$POWER" == "on" -o "$POWER" == "off" ]; then
33   for CHECKID in $VALID_ONOFF_IDS $VALID_SEND_IDS; do 
34     if [ "$CHECKID" == "$ID" ]; then
35       echo "power $POWER $ID" | usocket $UNIXSOCK
36       echo "Content-type: text/html"
37       echo ""
38       echo "<html>"
39       echo "<head>"
40       echo "<title>Realraum rf433ctl</title>"
41       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
42       echo "</head></html>"
43       exit 0
44     fi
45   done
46
47   for CHECKID in $VALID_BANSHEE_IDS; do 
48     if [ "$CHECKID" == "$ID" ]; then
49       echo "$ID/" | nc wuerfel.realraum.at 8484
50       echo "Content-type: text/html"
51       echo ""
52       echo "<html>"
53       echo "<head>"
54       echo "<title>Realraum rf433ctl</title>"
55       echo '<script type="text/javascript">window.location="http://slug.realraum.at/cgi-bin/switch.cgi";</script>'
56       echo "</head></html>"
57       exit 0
58     fi
59   done
60 fi
61
62 DESC_werkzeug="Werkzeug LEDs"
63 DESC_stereo="Receiver On/Off"
64 DESC_ambientlights="Ambient Lichter"
65 DESC_labor="Labor Licht"
66 DESC_boiler="Warmwasser WC"
67 DESC_dart="Dart Scheibe"
68 DESC_logo="Logo"
69 DESC_spots1="Spots"
70 DESC_deckehinten="Decke Hinten"
71 DESC_deckevorne="Decke Vorne"
72 DESC_lichterkette="Blaue Lichterkette"
73 DESC_decke="Deckenlichter"
74 DESC_lichter="Alle Lichter"
75 DESC_all="Alles"
76 DESC_ymhpoweron="Receiver On"
77 DESC_ymhpoweroff="Receiver Off"
78 DESC_ymhpower="Receiver On/Off"
79 DESC_ymhvolup="VolumeUp"
80 DESC_ymhvoldown="VolumeDown"
81 DESC_ymhcd="Input CD"
82 DESC_ymhwdtv="Input WDlxTV"
83 DESC_ymhtuner="Input Tuner"
84 DESC_ymhvolmute="Mute"
85 DESC_ymhmenu="Menu"
86 DESC_ymhplus="+"
87 DESC_ymhminus="-"
88 DESC_ymhtest="Test"
89 DESC_ymhtimelevel="Time/Levels"
90 DESC_ymheffect="DSP Effect Toggle"
91 DESC_ymhprgup="DSP Up"
92 DESC_ymhprgdown="DSP Down"
93 DESC_ymhtunplus="Tuner +"
94 DESC_ymhtunminus="Tuner -"
95 DESC_ymhtunabcde="Tuner ABCDE"
96 DESC_ymhtape="Tape"
97 DESC_ymhvcr="VCR"
98 DESC_ymhextdec="ExtDec Toggle"
99 DESC_seep="Sleep Modus"
100 DESC_panicled="HAL9000 says hi"
101 DESC_blueled="Blue Led"
102 DESC_moviemode="Movie Mode"
103 echo "Content-type: text/html"
104 echo ""
105 echo "<html>"
106 echo "<head>"
107 echo "<title>Realraum rf433ctl</title>"
108 echo '<script type="text/javascript">'
109 echo 'function sendButton( onoff, btn )'
110 echo '{'
111 echo ' var req = new XMLHttpRequest();'
112 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
113 echo ' req.open("GET", url ,false);'
114 echo ' //google chrome workaround'
115 echo ' req.setRequestHeader("googlechromefix","");'
116 echo ' req.send(null);'
117 echo '}'
118 echo '</script>'
119 echo "</head>"
120 echo "<body>"
121 #echo "<h1>Realraum rf433ctl</h1>"
122 echo "<div style=\"float:left; border:1px solid black;\">"
123 for DISPID in $VALID_ONOFF_IDS; do
124   NAME="$(eval echo \$DESC_$DISPID)"
125   [ -z "$NAME" ] && NAME=$DISPID
126   if [ -z "$AJAX" ]; then
127
128   echo "<form action=\"/cgi-bin/switch.cgi\">"
129   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
130   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;'>"
131   echo " <input type='submit' name='power' value='on' />"
132   echo " <input type='submit' name='power' value='off' />"
133   echo "</span></div>"
134   echo "</form>"
135   
136   else
137   
138   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;'>"
139   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
140   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
141   echo "</span></div>"
142   
143   fi
144   if [ "$MOBILE" == "1" ]; then
145     echo "<br/>"
146   fi 
147 done
148 echo "</div>"
149 if [ "$MOBILE" != "1" ]; then                                                                                   
150 echo "<div style=\"float:left; border:1px solid black;\">"
151 for DISPID in $VALID_SEND_IDS; do
152   NAME="$(eval echo \$DESC_$DISPID)"
153   [ -z "$NAME" ] && NAME=$DISPID
154   if [ -z "$AJAX" ]; then
155
156   echo "<form action=\"/cgi-bin/switch.cgi\">"
157   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
158   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;'>"
159   echo " <input type='submit' name='power' value='send' />"
160   echo "</span></div>"
161   echo "</form>"
162
163   else
164   
165   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;'>"
166   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
167   echo "</span></div>"
168   
169   fi
170 done
171 echo "</div>"
172 echo "<div style=\"float:left; border:1px solid black;\">"
173 for DISPID in $VALID_BANSHEE_IDS; do
174   NAME="$(eval echo \$DESC_$DISPID)"
175   [ -z "$NAME" ] && NAME=$DISPID
176   if [ -z "$AJAX" ]; then
177
178   echo "<form action=\"/cgi-bin/switch.cgi\">"
179   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
180   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;'>"
181   echo " <input type='submit' name='power' value='on' />"
182   echo " <input type='submit' name='power' value='off' />"
183   echo "</span></div>"
184   echo "</form>"
185   
186   else
187   
188   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;'>"
189   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
190   echo "</span></div>"
191   
192   fi
193 done
194 echo "</div>"
195 fi
196 echo "</body>"
197 echo "</html>"