chch-power/shell.sh

90 lines
1.7 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash --
# shold be started from a separate account
# access via ssh:
# cat .ssh/authorized_keys
2019-04-20 15:06:24 +02:00
# restrict,command="/home/automation/chch-power/shell.sh" ssh-rsa AAAA...
2017-02-22 23:33:58 +01:00
COMMAND_FILE=/tmp/command
2017-02-24 20:49:14 +01:00
if [ ! -p "$COMMAND_FILE" ]; then
echo "ERROR; command watcher not listening:" >&2
exit 1
fi
2017-02-22 23:33:58 +01:00
status() {
STATUS="$(cat /tmp/status)"
if [ -z "$STATUS" ]; then
STATUS="geschlossen"
fi
echo "$STATUS"
}
2017-11-30 22:09:03 +01:00
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"
}
2017-02-22 23:33:58 +01:00
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
2017-03-13 23:45:35 +01:00
COLOR_STRING="$(echo "$COMMAND " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)"
case "$COMMAND" in
status)
status
;;
2017-11-30 22:09:03 +01:00
corridor_light_toggle)
corridor_light_toggle
;;
corridor_light\ *)
corridor_light $COLOR_STRING
;;
2017-02-22 23:33:58 +01:00
lounge_light_toggle)
lounge_light_toggle
;;
2017-02-23 13:09:59 +01:00
lounge_light\ *)
2017-03-13 23:45:35 +01:00
lounge_light $COLOR_STRING
;;
e-lab_light_toggle)
e-lab_light_toggle
;;
e-lab_light\ *)
e-lab_light $COLOR_STRING
2017-02-22 23:33:58 +01:00
;;
*)
echo "ERROR; available commands:" >&2
2017-11-30 22:09:03 +01:00
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