X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=raspberrypi_gpio_relay_licht%2Fmswitch.cgi;h=d62bce95738112b66aecb1d0bb9cb3310af9d543;hp=08d1bcddcee656d45c366fb496530dc8d4c3133a;hb=cdd9cf8f41352f1f707c53f464cd19be334c5578;hpb=12b3f1162fd89d6c8598333df6a0bf4e1de8246d 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 +