diff --git a/light.sh b/light.sh index eee0c72..7bcf0dd 100755 --- a/light.sh +++ b/light.sh @@ -10,17 +10,16 @@ sign() { } ROOM_COUNT=3 -DFAULT_LIGHT_STATE=0 -STATE_0="a\x00\x03\x00\x00\x00|000000000000000000;\ +STATE[0]="a\x00\x03\x00\x00\x00|000000000000000000;\ a\x00\x03\x00\x00\x00|000000;\ 000000000000000000" -STATE_1="a\x00\x03\xff\xff\xff|255255255255255255;\ +STATE[1]="a\x00\x03\xff\xff\xff|255255255255255255;\ a\x00\x03\xff\xff\xff|FFFFFF;\ 000000000000000000" -STATE_2="n\x00\x02\x01\x00|!;\ +STATE[2]="n\x00\x02\x01\x00|!;\ n\x00\x02\x01\x00|FFCC11;\ 000000000000000000" -STATE_3="!/usr/bin/python3 /home/automation/fensterbogenbeleuchtung_animations/animations.py|!;\ +STATE[3]="!/usr/bin/python3 /home/automation/fensterbogenbeleuchtung_animations/animations.py|!;\ a\x00\x03\xff\xff\xff|!;\ 000000000000000000" @@ -103,7 +102,6 @@ case "$ROOM_NUMBER" in R1=$(($R1+$DR1)); G1=$(($G1+$DG1)); B1=$(($B1+$DB1)); R2=$(($R2+$DR2)); G2=$(($G2+$DG2)); B2=$(($B2+$DB2)) echo "${GAMMA_LUT[$R1]} ${GAMMA_LUT[$G1]} ${GAMMA_LUT[$B1]} ${GAMMA_LUT[$R2]} ${GAMMA_LUT[$G2]} ${GAMMA_LUT[$B2]}" |\ while read code; do printf "%03d" $code; done > /dev/udp/172.23.92.16/31302 & - # echo -en "255204017255204017" > /dev/udp/172.23.92.16/31302 & sleep .2 done done @@ -180,7 +178,7 @@ fi touch "${TMPFILE_BASE}_$ROOM_NUMBER" LIGHT_STATE=$(cat "${TMPFILE_BASE}_$ROOM_NUMBER") -[ -z "$LIGHT_STATE" ] && LIGHT_STATE=$DFAULT_LIGHT_STATE +[ -z "$LIGHT_STATE" ] && LIGHT_STATE=0 if [ -z "$COLOR" ]; then if ! [ -f "${TMPFILE_CUSTOM_BASE}_$ROOM_NUMBER" ]; then # restore previous colour @@ -188,24 +186,8 @@ if [ -z "$COLOR" ]; then else rm -f "${TMPFILE_CUSTOM_BASE}_$ROOM_NUMBER" fi - case $LIGHT_STATE in - 0) - STATE=$STATE_0 - ;; - 1) - STATE=$STATE_1 - ;; - 2) - STATE=$STATE_2 - ;; - 3) - STATE=$STATE_3 - ;; - *) - STATE=$STATE_0 - LIGHT_STATE=0 - ;; - esac + [ $LIGHT_STATE -ge ${#STATE[*]} ] && LIGHT_STATE=0 + STATE=${STATE[$LIGHT_STATE]} else STATE="$(get_room_color_string)" touch "${TMPFILE_CUSTOM_BASE}_$ROOM_NUMBER"