slight improvement to state handling

This commit is contained in:
Florian Schlegel 2020-09-12 21:01:36 +02:00
parent e6c79d209f
commit 5930c76223
1 changed files with 7 additions and 25 deletions

View File

@ -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"