pollin a-d
[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 pcblueleds"
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_pcblueleds="Blaue Leds PC"
63 DESC_pollina="Pollin A"
64 DESC_pollinb="Pollin B"
65 DESC_werkzeug="Werkzeug LEDs"
66 DESC_stereo="Receiver On/Off"
67 DESC_ambientlights="Ambient Lichter"
68 DESC_labor="Labor Licht"
69 DESC_boiler="Warmwasser WC"
70 DESC_dart="Dart Scheibe"
71 DESC_logo="Logo"
72 DESC_spots1="Spots"
73 DESC_deckehinten="Decke Hinten"
74 DESC_deckevorne="Decke Vorne"
75 DESC_lichterkette="Blaue Lichterkette"
76 DESC_decke="Deckenlichter"
77 DESC_lichter="Alle Lichter"
78 DESC_all="Alles"
79 DESC_ymhpoweron="Receiver On"
80 DESC_ymhpoweroff="Receiver Off"
81 DESC_ymhpower="Receiver On/Off"
82 DESC_ymhvolup="VolumeUp"
83 DESC_ymhvoldown="VolumeDown"
84 DESC_ymhcd="Input CD"
85 DESC_ymhwdtv="Input WDlxTV"
86 DESC_ymhtuner="Input Tuner"
87 DESC_ymhvolmute="Mute"
88 DESC_ymhmenu="Menu"
89 DESC_ymhplus="+"
90 DESC_ymhminus="-"
91 DESC_ymhtest="Test"
92 DESC_ymhtimelevel="Time/Levels"
93 DESC_ymheffect="DSP Effect Toggle"
94 DESC_ymhprgup="DSP Up"
95 DESC_ymhprgdown="DSP Down"
96 DESC_ymhtunplus="Tuner +"
97 DESC_ymhtunminus="Tuner -"
98 DESC_ymhtunabcde="Tuner ABCDE"
99 DESC_ymhtape="Tape"
100 DESC_ymhvcr="VCR"
101 DESC_ymhextdec="ExtDec Toggle"
102 DESC_seep="Sleep Modus"
103 DESC_panicled="HAL9000 says hi"
104 DESC_blueled="Blue Led"
105 DESC_moviemode="Movie Mode"
106 echo "Content-type: text/html"
107 echo ""
108 echo "<html>"
109 echo "<head>"
110 echo "<title>Realraum rf433ctl</title>"
111 echo '<script type="text/javascript">'
112 echo 'function sendButton( onoff, btn )'
113 echo '{'
114 echo ' var req = new XMLHttpRequest();'
115 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
116 echo ' req.open("GET", url ,false);'
117 echo ' //google chrome workaround'
118 echo ' req.setRequestHeader("googlechromefix","");'
119 echo ' req.send(null);'
120 echo '}'
121 echo '</script>'
122 echo "</head>"
123 echo "<body>"
124 #echo "<h1>Realraum rf433ctl</h1>"
125 echo "<div style=\"float:left; border:1px solid black;\">"
126 for DISPID in $VALID_ONOFF_IDS; do
127   NAME="$(eval echo \$DESC_$DISPID)"
128   [ -z "$NAME" ] && NAME=$DISPID
129   if [ -z "$AJAX" ]; then
130
131   echo "<form action=\"/cgi-bin/switch.cgi\">"
132   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
133   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
134   echo "<div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div>"
135   echo "<span style='float:right; text-align:right;'>"
136   echo " <input type='submit' name='power' value='on' />"
137   echo " <input type='submit' name='power' value='off' />"
138   echo "</span>"
139   echo "</div>"
140   echo "</form>"
141   
142   else
143   
144   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
145   echo "<span style='float:left; text-align:left;'>"
146   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
147   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
148   echo "</span>"
149   echo "<div style='width:10em; float:right; display:inline-block; margin-left:1ex; vertical-align:middle;'>$NAME</div>"
150   echo "</div>"
151   
152   fi
153   if [ "$MOBILE" == "1" ]; then
154     echo "<br/>"
155   fi 
156 done
157 echo "</div>"
158 if [ "$MOBILE" != "1" ]; then                                                                                   
159 echo "<div style=\"float:left; border:1px solid black;\">"
160 for DISPID in $VALID_SEND_IDS; do
161   NAME="$(eval echo \$DESC_$DISPID)"
162   [ -z "$NAME" ] && NAME=$DISPID
163   if [ -z "$AJAX" ]; then
164
165   echo "<form action=\"/cgi-bin/switch.cgi\">"
166   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
167   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;'>"
168   echo " <input type='submit' name='power' value='send' />"
169   echo "</span></div>"
170   echo "</form>"
171
172   else
173   
174   echo "<div style=\"float:left; margin:2px; padding:1px; max-width:236px; font-size:10pt; border:1px solid black;\">"
175   echo "<span style='float:left; text-align:left;'>"
176   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
177   echo "</span>"
178   echo "<div style='width:10em; float:right; display:inline-block; margin-left:1ex; vertical-align:middle;'>$NAME</div>"
179   echo "</div>"
180     
181   fi
182 done
183 echo "</div>"
184 echo "<div style=\"float:left; border:1px solid black;\">"
185 for DISPID in $VALID_BANSHEE_IDS; do
186   NAME="$(eval echo \$DESC_$DISPID)"
187   [ -z "$NAME" ] && NAME=$DISPID
188   if [ -z "$AJAX" ]; then
189
190   echo "<form action=\"/cgi-bin/switch.cgi\">"
191   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
192   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;'>"
193   echo " <input type='submit' name='power' value='on' />"
194   echo " <input type='submit' name='power' value='off' />"
195   echo "</span></div>"
196   echo "</form>"
197   
198   else
199   
200   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;'>"
201   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
202   echo "</span></div>"
203   
204   fi
205 done
206 echo "</div>"
207 fi
208 echo "</body>"
209 echo "</html>"