X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=raspberrypi_gpio_relay_licht%2Fmswitch.cgi;fp=raspberrypi_gpio_relay_licht%2Fmswitch.cgi;h=dbfc79a54336f31878a1c45180571437160a08ab;hb=2630563d5a886a22c24e39d355a0f60558c996ee;hp=0000000000000000000000000000000000000000;hpb=2e3568aad15008c643a11d9a2dec3cc977751a82;p=svn42.git diff --git a/raspberrypi_gpio_relay_licht/mswitch.cgi b/raspberrypi_gpio_relay_licht/mswitch.cgi new file mode 100755 index 0000000..dbfc79a --- /dev/null +++ b/raspberrypi_gpio_relay_licht/mswitch.cgi @@ -0,0 +1,62 @@ +#!/bin/sh + +VALID_ONOFF_IDS="4 17 18 21 22 23" +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" = "0" ]; then + echo -n "true" + else + echo -n "false" + fi +} + +gpio_is_on() { + GPIOVALUE=$(cat "${GPIOPATH}${1}/value") + [ "$GPIOVALUE" = "0" ] +} + +echo "Content-type: text/html" +echo "" + +echo "{" +for CHECKID in $VALID_ONOFF_IDS; do + VAL="" + VAL="$(eval echo \$GPIO_$CHECKID)" + [ -z $VAL ] && continue + if [ $VAL = 1 -o $VAL = 0 ]; then + [ $VAL = 1 ] && VAL=0 || VAL=1 + echo "$VAL" > "${GPIOPATH}${CHECKID}/value" + fi + echo -n "\"$CHECKID\":" + print_gpio_state $CHECKID + echo "," +done +echo "\"-1\":false}" +# echo "" +# echo "" +# echo "Realraum Relay Switch" +# echo '' +# echo "" +# exit 0 +