--- /dev/null
+#!/bin/sh
+
+VALID_ONOFF_IDS="7 18 20"
+GPIOPATH=/sys/class/gpio/gpio
+
+for QUERY in `echo $QUERY_STRING | tr '&' ' '`; do
+ for VALIDID in $VALID_ONOFF_IDS; do
+ if [ "$QUERY" == "$VALIDID=1" ]; then
+ eval "GPIO_$VALIDID"=1
+ elif [ "$QUERY" == "$VALIDID=0" ]; then
+ eval "GPIO_$VALIDID=0"
+ elif [ "$QUERY" == "$VALIDID=q" ]; then
+ eval "GPIO_$VALIDID=q"
+ fi
+ done
+ if [ "$QUERY" == "mobile=1" ]; then
+ MOBILE='1'
+ NOFLOAT='1'
+ elif [ "$QUERY" == "nofloat=1" ]; then
+ NOFLOAT='1'
+ fi
+done
+
+
+print_gpio_state() {
+ GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
+ if [ "$GPIOVALUE" = "1" ]; then
+ echo "1"
+ else
+ echo "0"
+ fi
+}
+
+gpio_is_on() {
+ GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
+ [ "$GPIOVALUE" = "1" ]
+}
+
+echo "Content-type: text/html"
+echo ""
+
+
+for CHECKID in $VALID_ONOFF_IDS; do
+ VAL=""
+ VAL="$(eval echo \$GPIO_$CHECKID)"
+ if [ $VAL == 1 -o $VAL == 0 ]; then
+ echo "$VAL" > "${GPIOPATH}${CHECKID}/value"
+ fi
+ echo -n "$CHECKID:"
+ print_gpio_state $CHECKID
+done
+
+# echo "<html>"
+# echo "<head>"
+# echo "<title>Realraum Relay Switch</title>"
+# echo '<script type="text/javascript">window.location="/cgi-bin/switch.cgi";</script>'
+# echo "</head></html>"
+# exit 0
+
#VALID_ONOFF_IDS="7 18 20 29"
VALID_ONOFF_IDS="7 18 20"
+print_gpio_state() {
+ GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
+ if [ "$GPIOVALUE" = "1" ]; then
+ echo "ON"
+ else
+ echo "Off"
+ fi
+}
+
+gpio_is_on() {
+ GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
+ [ "$GPIOVALUE" = "1" ]
+}
+
if [ "$POWER" == "1" -o "$POWER" == "0" ]; then
for CHECKID in $VALID_ONOFF_IDS ; do
if [ "$CHECKID" == "$ID" ]; then
#echo ' background-color: grey;'
echo ' margin: 0px;'
echo '}'
+
+echo '.enableborder {
+ font-weight: bold;
+ font-variant: small-caps;
+ border-style: inset;'
+echo '}'
echo '</style>'
echo "</head>"
echo "<body>"
echo "<div style=\"float:left;\">"
echo "<div style=\"float:left; border:1px solid black; margin-right:2ex; margin-bottom:2ex;\">"
for DISPID in $VALID_ONOFF_IDS; do
- NAME="$(eval echo \$DESC_$DISPID)"
+ NAME="$(eval echo -n \$DESC_$DISPID)"
[ -z "$NAME" ] && NAME=$DISPID
echo "<div class=\"switchbox\">"
echo "<span class=\"alignbuttonsleft\">"
- echo " <button class=\"onbutton\" onClick='sendButton(\"1\",\"$DISPID\");'>On</button>"
+ if gpio_is_on $DISPID; then
+ echo " <button class=\"onbutton enableborder\" onClick='sendButton(\"1\",\"$DISPID\");'>On</button>"
echo " <button class=\"offbutton\" onClick='sendButton(\"0\",\"$DISPID\");'>Off</button>"
+ else
+ echo " <button class=\"onbutton\" onClick='sendButton(\"1\",\"$DISPID\");'>On</button>"
+ echo " <button class=\"offbutton enableborder\" onClick='sendButton(\"0\",\"$DISPID\");'>Off</button>"
+ fi
echo "</span>"
- echo "<div class=\"switchnameright\">$NAME</div>"
+ echo -n "<div class=\"switchnameright\">$NAME</div>"
+# echo -n "<div class=\"switchnameright\">$NAME ("
+# print_gpio_state $DISPID
+# echo ")</div>"
echo "</div>"
if [ "$NOFLOAT" == "1" ]; then