boiler
[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 spots1 deckehinten deckevorne boiler"
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_boiler="Warmwasser WC"
49 DESC_dart="Dart Scheibe"
50 DESC_logo="Logo"
51 DESC_spots1="Spots"
52 DESC_deckehinten="Decke Hinten"
53 DESC_deckevorne="Decke Vorne"
54 DESC_decke="Deckenlichter"
55 DESC_lichter="Alle Lichter"
56 DESC_all="Alles"
57 DESC_ymhpoweron="Receiver On"
58 DESC_ymhpoweroff="Receiver Off"
59 DESC_ymhpower="Receiver On/Off"
60 DESC_ymhvolup="VolumeUp"
61 DESC_ymhvoldown="VolumeDown"
62 DESC_ymhcd="Input CD"
63 DESC_ymhwdtv="Input WDlxTV"
64 DESC_ymhtuner="Input Tuner"
65 DESC_ymhvolmute="Mute"
66 DESC_ymhmenu="Menu"
67 DESC_ymhplus="+"
68 DESC_ymhminus="-"
69 DESC_ymhtest="Test"
70 DESC_ymhtimelevel="Time/Levels"
71 DESC_ymheffect="DSP Effect Toggle"
72 DESC_ymhprgup="DSP Up"
73 DESC_ymhprgdown="DSP Down"
74 DESC_ymhtunplus="Tuner +"
75 DESC_ymhtunminus="Tuner -"
76 DESC_ymhtunabcde="Tuner ABCDE"
77 DESC_ymhtape="Tape"
78 DESC_ymhvcr="VCR"
79 DESC_ymhextdec="ExtDec Toggle"
80 DESC_seep="Sleep Modus"
81 DESC_panicled="HAL9000 says hi"
82 DESC_blueled="Blue Led"
83 DESC_moviemode="Movie Mode"
84 echo "Content-type: text/html"
85 echo ""
86 echo "<html>"
87 echo "<head>"
88 echo "<title>Realraum rf433ctl</title>"
89 echo '<script type="text/javascript">'
90 echo 'function sendButton( onoff, btn )'
91 echo '{'
92 echo ' var req = new XMLHttpRequest();'
93 echo ' url = "http://slug.realraum.at/cgi-bin/switch.cgi?power="+onoff+"&id="+btn;'
94 echo ' req.open("GET", url ,false);'
95 echo ' //google chrome workaround'
96 echo ' req.setRequestHeader("googlechromefix","");'
97 echo ' req.send(null);'
98 echo '}'
99 echo '</script>'
100 echo "</head>"
101 echo "<body>"
102 #echo "<h1>Realraum rf433ctl</h1>"
103 echo "<div style=\"float:left; border:1px solid black;\">"
104 for DISPID in $VALID_ONOFF_IDS; do
105   NAME="$(eval echo \$DESC_$DISPID)"
106   [ -z "$NAME" ] && NAME=$DISPID
107   if [ -z "$AJAX" ]; then
108
109   echo "<form action=\"/cgi-bin/switch.cgi\">"
110   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
111   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;'>"
112   echo " <input type='submit' name='power' value='on' />"
113   echo " <input type='submit' name='power' value='off' />"
114   echo "</span></div>"
115   echo "</form>"
116   
117   else
118   
119   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;'>"
120   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>On</button>"
121   echo " <button onClick='sendButton(\"off\",\"$DISPID\");'>Off</button>"
122   echo "</span></div>"
123   
124   fi
125 done
126 echo "</div>"
127 echo "<div style=\"float:left; border:1px solid black;\">"
128 for DISPID in $VALID_SEND_IDS; do
129   NAME="$(eval echo \$DESC_$DISPID)"
130   [ -z "$NAME" ] && NAME=$DISPID
131   if [ -z "$AJAX" ]; then
132
133   echo "<form action=\"/cgi-bin/switch.cgi\">"
134   echo "<input type=\"hidden\" name=\"id\" value=\"$DISPID\" />"
135   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;'>"
136   echo " <input type='submit' name='power' value='send' />"
137   echo "</span></div>"
138   echo "</form>"
139
140   else
141   
142   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;'>"
143   echo " <button onClick='sendButton(\"on\",\"$DISPID\");'>Send</button>"
144   echo "</span></div>"
145   
146   fi
147 done
148 echo "</div>"
149 echo "</body>"
150 echo "</html>"