X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=raspberrypi_gpio_relay_licht%2Fmswitch.cgi;h=d62bce95738112b66aecb1d0bb9cb3310af9d543;hb=daad6e004a0ec90276fbc34b86547e545f3fbe05;hp=08d1bcddcee656d45c366fb496530dc8d4c3133a;hpb=f509f01b85b420327de12c2e01eb5d9ba61d813e;p=svn42.git diff --git a/raspberrypi_gpio_relay_licht/mswitch.cgi b/raspberrypi_gpio_relay_licht/mswitch.cgi index 08d1bcd..d62bce9 100755 --- a/raspberrypi_gpio_relay_licht/mswitch.cgi +++ b/raspberrypi_gpio_relay_licht/mswitch.cgi @@ -11,6 +11,7 @@ IDGPIOMAP[ceiling4]=17 IDGPIOMAP[ceiling5]=22 IDGPIOMAP[ceiling6]=21 GPIOPATH=/sys/class/gpio/gpio +SAVESTATE=/var/log/licht/mswitch.state for k v in ${(kv)IDGPIOMAP}; do GPIOIDMAP[$v]=$k @@ -44,6 +45,16 @@ print_gpio_state() { fi } +print_gpio_state_10() { + GPIO=${IDGPIOMAP[$1]} + GPIOVALUE=$(cat "${GPIOPATH}${GPIO}/value") + if [[ $GPIOVALUE == "0" ]]; then + echo -n "1" + else + echo -n "0" + fi +} + gpio_is_on() { GPIO=${IDGPIOMAP[$1]} GPIOVALUE=$(cat "${GPIOPATH}${GPIO}/value") @@ -61,9 +72,12 @@ for CHECKID in $VALID_ONOFF_IDS; do echo "$VAL" > "${GPIOPATH}${IDGPIOMAP[$CHECKID]}/value" fi GPIOSTATES+=(\"${CHECKID}\":"$(print_gpio_state $CHECKID)") + URISTATES+=("${CHECKID}=$(print_gpio_state_10 $CHECKID)") done JSON_STATE="{${(j:,:)GPIOSTATES}}" print ${(q)JSON_STATE} if ((#GPIOS > 0)); then print "[$(date +%s),\"$REMOTE_ADDR\",${(q)JSON_STATE}]," >> /var/log/licht/mswitch.log + echo -n "${(j:&:)URISTATES}">$SAVESTATE fi +