implemented shell commands for e-lab lights

This commit is contained in:
Florian Schlegel 2017-03-13 22:59:24 +01:00
parent 129029cb4f
commit bc4bd6b121
3 changed files with 31 additions and 4 deletions

View File

@ -10,6 +10,14 @@ lounge_light_toggle() {
./light.sh 1 ./light.sh 1
} }
e-lab_light() {
./light.sh 2 "$1"
}
e-lab_light_toggle() {
./light.sh 2
}
cd "$(dirname $0)" cd "$(dirname $0)"
rm -f "$COMMAND_FILE" rm -f "$COMMAND_FILE"
mkfifo "$COMMAND_FILE" mkfifo "$COMMAND_FILE"
@ -21,16 +29,23 @@ while true; do
echo "ERROR: illegal characters" >&2 echo "ERROR: illegal characters" >&2
continue continue
fi fi
COLOR_STRING="$(echo "$line " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)"
case "$line" in case "$line" in
lounge_light_toggle) lounge_light_toggle)
lounge_light_toggle lounge_light_toggle
;; ;;
lounge_light*) lounge_light*)
lounge_light "$(echo "$line " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)" lounge_light "$COLOR_STRING"
;;
e-lab_light_toggle)
e-lab_light_toggle
;;
e-lab_light*)
e-lab_light "$COLOR_STRING"
;; ;;
*) *)
echo "ERROR; available commands:" >&2 echo "ERROR; available commands:" >&2
echo "lounge_light lounge_light_toggle" >&2 echo "lounge_light lounge_light_toggle e-lab_light e-lab_light_toggle" >&2
;; ;;
esac esac
done < "$COMMAND_FILE" done < "$COMMAND_FILE"

View File

@ -33,7 +33,7 @@ case "$ROOM_NUMBER" in
;; ;;
2) 2)
COLOR_A="$(echo "$COLOR" | sed "s/\(..\)\(..\)\(..\)/\\\x\2\\\x\1\\\x\3/g")" COLOR_A="$(echo "$COLOR" | sed "s/\(..\)\(..\)\(..\)/\\\x\2\\\x\1\\\x\3/g")"
echo "a\x00\x03$COLOR_A" echo "a\x00\x03$COLOR_A|$COLOR"
;; ;;
3) 3)
echo "" echo ""

View File

@ -31,6 +31,18 @@ lounge_light_toggle() {
echo "OK $COMMAND" echo "OK $COMMAND"
} }
e-lab_light() {
COMMAND="e-lab_light $1"
echo "$COMMAND" >> $COMMAND_FILE
echo "OK $COMMAND"
}
e-lab_light_toggle() {
COMMAND="e-lab_light_toggle"
echo "$COMMAND" >> $COMMAND_FILE
echo "OK $COMMAND"
}
read COMMAND read COMMAND
case "$COMMAND" in case "$COMMAND" in
status) status)
@ -44,7 +56,7 @@ case "$COMMAND" in
;; ;;
*) *)
echo "ERROR; available commands:" >&2 echo "ERROR; available commands:" >&2
echo "status, lounge_light [string], lounge_light_toggle" >&2 echo "status, lounge_light [string], lounge_light_toggle, e-lab_light [string], e-lab_light_toggle" >&2
exit 1 exit 1
;; ;;
esac esac