LEDSTRIPS="esp-mainroom-leds.base48.cz esp-srk-leds.base48.cz esp-basestation-leds.base48.cz"
LEDDELAY=0.3
STATE=~/.bashrc_leds-state
export LEDSDEFAULTCOLOR="255,32,32"
leds-color-save(){
> $STATE
for ledstrip in $LEDSTRIPS; do
TRY=$(timeout 0.7 bash -c "exec 3<>/dev/tcp/$ledstrip/23;
echo \"get()\" >&3; sleep 0.1;
head -n3 <&3;")
if [ "$TRY" != "" ]; then
set $TRY
echo $ledstrip $1,$2,$3 >> $STATE
fi
done
}
leds-color-restore(){
cat $STATE | while read line; do
set $line
leds-set-color $1 $2
done
}
leds-set-color(){
STRIP=$1
shift
timeout 0.2 bash -c "echo \"go($*)\" > /dev/tcp/$STRIP/23"
}
leds-set-color-all(){
for ledstrip in $LEDSTRIPS; do
leds-set-color $ledstrip $*
done
}
leds-blink-with-color(){
leds-set-color $*
sleep $LEDDELAY
leds-set-color-all 0,0,0
sleep $LEDDELAY
leds-set-color $LEDSDEFAULTCOLOR
}
leds-blink-with-color-all(){
COLOR=${1:-"0,255,0"}
leds-color-save
leds-set-color-all 0,0,0
sleep $LEDDELAY
leds-set-color-all $COLOR
sleep $LEDDELAY
leds-set-color-all 0,0,0
sleep $LEDDELAY
leds-set-color-all $COLOR
sleep $LEDDELAY
leds-set-color-all 0,0,0
sleep $LEDDELAY
leds-color-restore
}
leds-blink-red-all(){
leds-blink-with-color-all 255,0,0
}
leds-blink-green-all(){
leds-blink-with-color-all 0,255,0
}
leds-eval(){
$*
if [ "$?" == "0" ]; then
leds-blink-green-all
else
leds-blink-red-all
fi
}