added command handling
This commit is contained in:
parent
b1883f0ec6
commit
e177bedd69
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
COMMAND_FILE=/tmp/command
|
||||||
|
COMMAND_FILE_TMP=/tmp/command_tmp
|
||||||
|
|
||||||
|
lounge_light() {
|
||||||
|
echo "not implemented"
|
||||||
|
}
|
||||||
|
|
||||||
|
lounge_light_toggle() {
|
||||||
|
./light.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
cd "$(dirname $0)"
|
||||||
|
touch "$COMMAND_FILE"
|
||||||
|
chmod 666 "$COMMAND_FILE"
|
||||||
|
while inotifywait -qq -e close_write "$COMMAND_FILE"; do
|
||||||
|
mv "$COMMAND_FILE" "$COMMAND_FILE_TMP"
|
||||||
|
sleep .1 # wait for possible further/parallel writes to end
|
||||||
|
while IFS='' read -r line || [[ -n "$line" ]]; do
|
||||||
|
echo "Text read from file: $line"
|
||||||
|
case "$line" in
|
||||||
|
lounge_light_toggle)
|
||||||
|
lounge_light_toggle
|
||||||
|
;;
|
||||||
|
lounge_light*)
|
||||||
|
lounge_light "$COMMAND"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR; available commands:" >&2
|
||||||
|
echo "lounge_light lounge_light_toggle" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done < "$COMMAND_FILE_TMP"
|
||||||
|
rm "$COMMAND_FILE_TMP"
|
||||||
|
touch "$COMMAND_FILE"
|
||||||
|
chmod 666 "$COMMAND_FILE"
|
||||||
|
done
|
9
run.sh
9
run.sh
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cd "$(dirname $0)"
|
cd "$(dirname $0)"
|
||||||
|
|
||||||
(
|
(
|
||||||
while true; do
|
while true; do
|
||||||
/usr/bin/python3 chch-power.py >/dev/null 2>&1
|
/usr/bin/python3 chch-power.py >/dev/null 2>&1
|
||||||
|
@ -8,3 +9,11 @@ cd "$(dirname $0)"
|
||||||
done
|
done
|
||||||
) &
|
) &
|
||||||
disown $!
|
disown $!
|
||||||
|
|
||||||
|
(
|
||||||
|
while true; do
|
||||||
|
./command_watcher.sh >/dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
) &
|
||||||
|
disown $!
|
||||||
|
|
22
shell.sh
22
shell.sh
|
@ -5,6 +5,8 @@
|
||||||
# cat .ssh/authorized_keys
|
# cat .ssh/authorized_keys
|
||||||
# command="/home/automation/chch-power/shell.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA...
|
# command="/home/automation/chch-power/shell.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA...
|
||||||
|
|
||||||
|
COMMAND_FILE=/tmp/command
|
||||||
|
|
||||||
status() {
|
status() {
|
||||||
STATUS="$(cat /tmp/status)"
|
STATUS="$(cat /tmp/status)"
|
||||||
if [ -z "$STATUS" ]; then
|
if [ -z "$STATUS" ]; then
|
||||||
|
@ -13,14 +15,32 @@ status() {
|
||||||
echo "$STATUS"
|
echo "$STATUS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
|
||||||
read COMMAND
|
read COMMAND
|
||||||
case "$COMMAND" in
|
case "$COMMAND" in
|
||||||
status)
|
status)
|
||||||
status
|
status
|
||||||
;;
|
;;
|
||||||
|
lounge_light_toggle)
|
||||||
|
lounge_light_toggle
|
||||||
|
;;
|
||||||
|
lounge_light*)
|
||||||
|
lounge_light "$(echo $COMMAND | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "ERROR; available commands:" >&2
|
echo "ERROR; available commands:" >&2
|
||||||
echo "status" >&2
|
echo "status lounge_light lounge_light_toggle" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue