Merge commit '1f7761d53c316364ed555bf6db2b5a347be4cd99'
This commit is contained in:
commit
478f9224de
10
README
10
README
|
@ -1,8 +1,8 @@
|
|||
Steuerung Stomversorgung im Chaostreff Chemnitz mittels PIFACE 2
|
||||
|
||||
Taster-Codes (k=kurz, l=lang, sl=sehr lang):
|
||||
Taster-Codes (k=kurz, l=lang):
|
||||
|
||||
k l -> diesen Raum an-/ausschalten
|
||||
k sl -> alle Räume anschalten
|
||||
sl -> alle Räume ausschalten
|
||||
k k l -> experimentell (derzeit Licht in der Lounge)
|
||||
k -> Licht in diesem Raum
|
||||
l -> alle Räume ausschalten
|
||||
kk -> diesen Raum an-/ausschalten
|
||||
kl -> alle Räume anschalten
|
|
@ -90,6 +90,8 @@ def exec_chch_button_cmd(event):
|
|||
if count == 1:
|
||||
if event.pin_num == 0:
|
||||
call(["/home/automation/chch-power/light.sh","1"])
|
||||
elif event.pin_num == 1:
|
||||
call(["/home/automation/chch-power/light.sh","2"])
|
||||
else:
|
||||
sys.stderr.write("No room specific function for room " + str(event.pin_num) + "\n")
|
||||
# '. .' toggle current room
|
||||
|
|
|
@ -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"
|
||||
|
|
56
light.sh
56
light.sh
|
@ -12,17 +12,17 @@ sign() {
|
|||
ROOM_COUNT=3
|
||||
DFAULT_LIGHT_STATE=0
|
||||
STATE_0="a\x00\x03\x00\x00\x00|000000000000000000;\
|
||||
000000000000000000;\
|
||||
000000000000000000"
|
||||
a\x00\x03\x00\x00\x00|000000;\
|
||||
000000000000000000"
|
||||
STATE_1="a\x00\x03\xff\xff\xff|255255255255255255;\
|
||||
000000000000000000;\
|
||||
000000000000000000"
|
||||
a\x00\x03\xff\xff\xff|FFFFFF;\
|
||||
000000000000000000"
|
||||
STATE_2="n\x00\x02\x01\x00|!;\
|
||||
000000000000000000;\
|
||||
000000000000000000"
|
||||
n\x00\x02\x01\x00|FFCC11;\
|
||||
000000000000000000"
|
||||
STATE_3="!/usr/bin/python3 /home/automation/fensterbogenbeleuchtung_animations/animations.py|!;\
|
||||
000000000000000000;\
|
||||
000000000000000000"
|
||||
a\x00\x03\xff\xff\xff|!;\
|
||||
000000000000000000"
|
||||
|
||||
get_room_color_string() {
|
||||
case "$ROOM_NUMBER" in
|
||||
|
@ -32,7 +32,8 @@ case "$ROOM_NUMBER" in
|
|||
echo "a\x00\x03$COLOR_A|$COLOR_B$COLOR_B"
|
||||
;;
|
||||
2)
|
||||
echo ""
|
||||
COLOR_A="$(echo "$COLOR" | sed "s/\(..\)\(..\)\(..\)/\\\x\2\\\x\1\\\x\3/g")"
|
||||
echo "a\x00\x03$COLOR_A|$COLOR"
|
||||
;;
|
||||
3)
|
||||
echo ""
|
||||
|
@ -80,14 +81,41 @@ case "$ROOM_NUMBER" in
|
|||
fi
|
||||
;;
|
||||
2)
|
||||
find "$(dirname "$TMPFILE_PID_BASE")" -name "$(basename "${TMPFILE_PID_BASE}_2_*")" -exec sh -c 'cat {} | xargs kill; rm -f {}' \;
|
||||
# COLOR_A="$(echo "$STATE" | cut -d";" -f2 | cut -d"|" -f1)"
|
||||
# COLOR_B="$(echo "$STATE" | cut -d";" -f2 | cut -d"|" -f2)"
|
||||
# echo -en "$COLOR_A" > /dev/null
|
||||
# echo -en "$COLOR_B" > /dev/null
|
||||
echo "not implemented" >&1
|
||||
exit 1
|
||||
COLOR_B="$(echo "$STATE" | cut -d";" -f2 | cut -d"|" -f2)"
|
||||
# if [ "${COLOR_B:0:1}" == "!" ]; then
|
||||
#
|
||||
# else
|
||||
# echo -en "$COLOR_A" > /dev/udp/172.23.92.18/49152 &
|
||||
# fi
|
||||
if [ "${COLOR_B:0:1}" == "!" ]; then
|
||||
(
|
||||
R=$(( RANDOM % 256 )); G=$(( RANDOM % 256 )); B=$(( RANDOM % 256 ))
|
||||
while true; do
|
||||
R_=$(( RANDOM % 256 )); G_=$(( RANDOM % 256 )); B_=$(( RANDOM % 256 ))
|
||||
while [ $R -ne $R_ -o $G -ne $G_ -o $B -ne $B_ ]; do
|
||||
DR=$(sign $(($R_-$R))); DG=$(sign $(($G_-$G))); DB=$(sign $(($B_-$B)))
|
||||
R=$(($R+$DR)); G=$((G+$DG)); B=$(($B+$DB))
|
||||
for i in 5:$R 4:$G 3:$B; do
|
||||
wget -q -O- http://172.23.92.5/ecmd?channel%20$(echo $i | cut -d: -f1)%20$(echo $i | cut -d: -f2) > /dev/null 2>&1 &
|
||||
COLOR_B_TMP="$(echo "$COLOR_B_TMP" | cut -c3-)"
|
||||
done
|
||||
sleep .1
|
||||
done
|
||||
done
|
||||
) &
|
||||
echo $! > ${TMPFILE_PID_BASE}_2_B
|
||||
else
|
||||
COLOR_B_TMP=$COLOR_B
|
||||
for i in 5 4 3; do
|
||||
wget -q -O- http://172.23.92.5/ecmd?channel%20$i%20$(printf "%d" "0x${COLOR_B_TMP:0:2}") > /dev/null 2>&1 &
|
||||
COLOR_B_TMP="$(echo "$COLOR_B_TMP" | cut -c3-)"
|
||||
done
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
# find "$(dirname "$TMPFILE_PID_BASE")" -name "$(basename "${TMPFILE_PID_BASE}_3_*")" -exec sh -c 'cat {} | xargs kill; rm -f {}' \;
|
||||
# COLOR_A="$(echo "$STATE" | cut -d";" -f3 | cut -d"|" -f1)"
|
||||
# COLOR_B="$(echo "$STATE" | cut -d";" -f3 | cut -d"|" -f2)"
|
||||
# echo -en "$COLOR_A" > /dev/null
|
||||
|
|
23
shell.sh
23
shell.sh
|
@ -31,7 +31,20 @@ 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
|
||||
COLOR_STRING="$(echo "$COMMAND " | cut -d" " -f2 | grep -oe "[a-z]\?[0-9a-fA-F]*" | head -n1)"
|
||||
case "$COMMAND" in
|
||||
status)
|
||||
status
|
||||
|
@ -40,11 +53,17 @@ case "$COMMAND" in
|
|||
lounge_light_toggle
|
||||
;;
|
||||
lounge_light\ *)
|
||||
lounge_light "$(echo "$COMMAND " | 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 "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
|
||||
|
|
Loading…
Reference in New Issue