more ir code stuff, still missing button 7
[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"
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 echo "Content-type: text/html"
83 echo ""
84 echo "<html>"
85 echo "<head>"
86 echo "<title>Realraum rf433ctl</title>"
87 echo '<script type="text/javascript">'
88 echo 'function sendButton( onoff, btn )'
89 echo '{'
90 echo ' var req = new XMLHttpRequest();'
91 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
92 echo ' req.open("GET", url ,false);'
93 echo ' //google chrome workaround'
94 echo ' req.setRequestHeader("googlechromefix","");'
95 echo ' req.send(null);'
96 echo '}'
97 echo '</script>'
98 echo "</head>"
99 echo "<body>"
100 #echo "<h1>Realraum rf433ctl</h1>"
101 echo "<div style=\"float:left; border:1px solid black;\">"
102 for DISPID in $VALID_ONOFF_IDS; do
103   NAME="$(eval echo \$DESC_$DISPID)"
104   [ -z "$NAME" ] && NAME=$DISPID
105   if [ -z "$AJAX" ]; then
106
107   echo "<form action=\"/cgi-bin/switch.cgi\">"
108   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
109   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;'>"
110   echo " <input type='submit' name='power' value='on' />"
111   echo " <input type='submit' name='power' value='off' />"
112   echo "</span></div>"
113   echo "</form>"
114   
115   else
116   
117   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;'>"
118   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
119   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
120   echo "</span></div>"
121   
122   fi
123 done
124 echo "</div>"
125 echo "<div style=\"float:left; border:1px solid black;\">"
126 for DISPID in $VALID_SEND_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;\"><div style='width:10em; display:inline-block; vertical-align:middle;'>$NAME</div><span style='float:right; text-align:right;'>"
134   echo " <input type='submit' name='power' value='send' />"
135   echo "</span></div>"
136   echo "</form>"
137
138   else
139   
140   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;'>"
141   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
142   echo "</span></div>"
143   
144   fi
145 done
146 echo "</div>"
147 echo "</body>"
148 echo "</html>"