added gamma correction for lights in e-lab

This commit is contained in:
root 2017-07-03 13:15:56 +00:00
parent 5b8b44bc3d
commit e6ac2db67f
1 changed files with 10 additions and 1 deletions

View File

@ -24,6 +24,8 @@ STATE_3="!/usr/bin/python3 /home/automation/fensterbogenbeleuchtung_animations/a
a\x00\x03\xff\xff\xff|!;\
000000000000000000"
GAMMA_LUT=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 9 9 9 10 10 10 11 11 11 12 12 13 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 24 24 25 25 26 27 27 28 29 29 30 31 32 32 33 34 35 35 36 37 38 39 39 40 41 42 43 44 45 46 47 48 49 50 50 51 52 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 72 73 74 75 77 78 79 81 82 83 85 86 87 89 90 92 93 95 96 98 99 101 102 104 105 107 109 110 112 114 115 117 119 120 122 124 126 127 129 131 133 135 137 138 140 142 144 146 148 150 152 154 156 158 160 162 164 167 169 171 173 175 177 180 182 184 186 189 191 193 196 198 200 203 205 208 210 213 215 218 220 223 225 228 231 233 236 239 241 244 247 249 252 255)
get_room_color_string() {
case "$ROOM_NUMBER" in
1)
@ -97,21 +99,28 @@ case "$ROOM_NUMBER" in
while [ $R -ne $R_ -o $G -ne $G_ -o $B -ne $B_ ]; do
DR=$(sign $(($R_-$R))); DG=$(sign $(($G_-$G))); DB=$(sign $(($B_-$B)))
R=$(($R+$DR)); G=$((G+$DG)); B=$(($B+$DB))
for i in 5:$R 4:$G 3:$B; do
PIDS=""
for i in 5:${GAMMA_LUT[$R]} 4:${GAMMA_LUT[$G]} 3:${GAMMA_LUT[$B]}; do
wget -q --timeout 3 -O- http://172.23.92.5/ecmd?channel%20$(echo $i | cut -d: -f1)%20$(echo $i | cut -d: -f2) > /dev/null 2>&1 &
PIDS="$PIDS $!"
COLOR_B_TMP="$(echo "$COLOR_B_TMP" | cut -c3-)"
done
sleep .1
kill -9 $PIDS >/dev/null 2>&1
done
done
) &
echo $! > ${TMPFILE_PID_BASE}_2_B
else
COLOR_B_TMP=$COLOR_B
PIDS="$PIDS $!"
for i in 5 4 3; do
wget -q --timeout 3 -O- http://172.23.92.5/ecmd?channel%20$i%20$(printf "%d" "0x${COLOR_B_TMP:0:2}") > /dev/null 2>&1 &
PIDS="$PIDS $!"
COLOR_B_TMP="$(echo "$COLOR_B_TMP" | cut -c3-)"
done
sleep .1
kill -9 $PIDS >/dev/null 2>&1
fi
;;
3)