3 VALID_ONOFF_IDS=(4 17 18 21 22 23)
4 GPIOPATH=/sys/class/gpio/gpio
6 for QUERY in `echo $QUERY_STRING | tr '&' ' '`; do
7 for VALIDID in $VALID_ONOFF_IDS; do
8 if [ "$QUERY" = "$VALIDID=1" ]; then
10 elif [ "$QUERY" = "$VALIDID=0" ]; then
14 if [ "$QUERY" = "mobile=1" ]; then
17 elif [ "$QUERY" = "nofloat=1" ]; then
24 GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
25 if [[ $GPIOVALUE == "0" ]]; then
33 GPIOVALUE=$(cat "${GPIOPATH}${1}/value")
34 [ "$GPIOVALUE" = "0" ]
37 echo "Content-type: text/html"
41 for CHECKID in $VALID_ONOFF_IDS; do
43 if [[ $VAL == 1 || $VAL == 0 ]]; then
44 [[ $VAL == 1 ]] && VAL=0 || VAL=1
45 echo "$VAL" > "${GPIOPATH}${CHECKID}/value"
47 GPIOSTATES+=(\"${CHECKID}\":"$(print_gpio_state $CHECKID)")
49 JSON_STATE="{${(j:,:)GPIOSTATES}}"
50 print ${(q)JSON_STATE}
51 if ((#GPIOS > 0)); then
52 print "[$(date +%s),\"$REMOTE_ADDR\",${(q)JSON_STATE}]," >> /var/log/licht/mswitch.log