diff --git a/command_watcher.sh b/command_watcher.sh index 230f20c..dff81ca 100755 --- a/command_watcher.sh +++ b/command_watcher.sh @@ -10,6 +10,14 @@ lounge_light_toggle() { ./light.sh 1 } +e-lab_light() { + ./light.sh 2 "$1" +} + +e-lab_light_toggle() { + ./light.sh 2 +} + cd "$(dirname $0)" rm -f "$COMMAND_FILE" mkfifo "$COMMAND_FILE" @@ -21,16 +29,23 @@ while true; do echo "ERROR: illegal characters" >&2 continue fi + COLOR_STRING="$(echo "$line " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)" case "$line" in lounge_light_toggle) lounge_light_toggle ;; 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 "lounge_light lounge_light_toggle" >&2 + echo "lounge_light lounge_light_toggle e-lab_light e-lab_light_toggle" >&2 ;; esac done < "$COMMAND_FILE" diff --git a/light.sh b/light.sh index 322c8b8..dcee1be 100755 --- a/light.sh +++ b/light.sh @@ -33,7 +33,7 @@ case "$ROOM_NUMBER" in ;; 2) 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) echo "" diff --git a/shell.sh b/shell.sh index a828f84..09aeaa6 100755 --- a/shell.sh +++ b/shell.sh @@ -31,6 +31,18 @@ lounge_light_toggle() { 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 case "$COMMAND" in status) @@ -44,7 +56,7 @@ case "$COMMAND" in ;; *) 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 ;; esac