90 lines
1.7 KiB
Bash
Executable File
90 lines
1.7 KiB
Bash
Executable File
#!/bin/bash --
|
|
|
|
# shold be started from a separate account
|
|
# access via ssh:
|
|
# cat .ssh/authorized_keys
|
|
# restrict,command="/home/automation/chch-power/shell.sh" ssh-rsa AAAA...
|
|
|
|
COMMAND_FILE=/tmp/command
|
|
if [ ! -p "$COMMAND_FILE" ]; then
|
|
echo "ERROR; command watcher not listening:" >&2
|
|
exit 1
|
|
fi
|
|
|
|
status() {
|
|
STATUS="$(cat /tmp/status)"
|
|
if [ -z "$STATUS" ]; then
|
|
STATUS="geschlossen"
|
|
fi
|
|
echo "$STATUS"
|
|
}
|
|
|
|
corridor_light() {
|
|
COMMAND="corridor_light $1"
|
|
echo "$COMMAND" >> $COMMAND_FILE
|
|
echo "OK $COMMAND"
|
|
}
|
|
|
|
corridor_light_toggle() {
|
|
COMMAND="corridor_light_toggle"
|
|
echo "$COMMAND" >> $COMMAND_FILE
|
|
echo "OK $COMMAND"
|
|
}
|
|
|
|
lounge_light() {
|
|
COMMAND="lounge_light $1"
|
|
echo "$COMMAND" >> $COMMAND_FILE
|
|
echo "OK $COMMAND"
|
|
}
|
|
|
|
lounge_light_toggle() {
|
|
COMMAND="lounge_light_toggle"
|
|
echo "$COMMAND" >> $COMMAND_FILE
|
|
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
|
|
COLOR_STRING="$(echo "$COMMAND " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)"
|
|
case "$COMMAND" in
|
|
status)
|
|
status
|
|
;;
|
|
corridor_light_toggle)
|
|
corridor_light_toggle
|
|
;;
|
|
corridor_light\ *)
|
|
corridor_light $COLOR_STRING
|
|
;;
|
|
lounge_light_toggle)
|
|
lounge_light_toggle
|
|
;;
|
|
lounge_light\ *)
|
|
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 "status, corridor_light [string], corridor_light_toggle, lounge_light [string], lounge_light_toggle, e-lab_light [string], e-lab_light_toggle" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|