-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsbevmon
93 lines (74 loc) · 2.29 KB
/
sbevmon
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/sh
# monitor event0, event1 and event2 keys and send a raw hexcode to home assistant webhook
# monitor light sensor and send it to home assistant webhook
############ variables ####
#BWH="87161aac-f0ae-4939-8ad3-4f36b6482bb9" # button webhook
#LWH="-F45c1sMSuxX-P34CE0uT-fwx" # light webhook
#HA="homeassistant.local" # home assistant ip/hostname
HP=8123 # home assistant port
LIGHTSLEEP=1 # light loop sleep duration
LIGHTDIFF=500 # light diff to previous measure
getbwh() {
cat "/etc/squeezeplay/userpath/settings/SlimDiscovery.lua" | awk -F 'playerId=' '{print $2}' | awk -F',' '{print $1}' | md5sum | awk '{print $1}'
}
getlmsip() {
cat "/etc/squeezeplay/userpath/settings/SlimDiscovery.lua" | awk -F 'ip=' '{print $2}'| awk -F',' '{print $1}' | sed "s:\"::g" | sed "s:\:::g"
}
if [ -z "$BWH" ]; then
BWH="$(getbwh)"
fi
if [ -z "$LWH" ]; then
LWH="$(getbwh | md5sum | awk '{print $1}')"
fi
if [ -z "$HA" ]; then
HA="$(getlmsip)"
fi
if [ -n "$1" ]; then
echo "button webhook BWH: '$BWH'"
echo "light webhook LWH: '$LWH'"
echo "LMS ip HA: '$HA'"
exit
fi
############
loopev0() {
while true; do
KEYVAL="$(hexdump "/dev/input/event0" -n 12 | awk '{print $7}')"
if [ -n "$KEYVAL" ]; then
wget --post-data "key=$KEYVAL" http://$HA:$HP/api/webhook/$BWH -q -O-
fi
done
}
loopev1() {
while true; do
KEYVAL="$(hexdump "/dev/input/event1" -n 12 | awk '{print $7}')"
if [ -n "$KEYVAL" ]; then
wget --post-data "key=$KEYVAL" http://$HA:$HP/api/webhook/$BWH -q -O-
fi
done
}
loopev2() {
while true; do
KEYVAL="$(hexdump "/dev/input/event2" -n 14 | awk '{print $7 $8}')"
if [ -n "$KEYVAL" ]; then
wget --post-data "key=$KEYVAL" http://$HA:$HP/api/webhook/$BWH -q -O-
fi
done
}
looplight() {
OLDAMB=100000
while true; do
AMB="$(cat /sys/class/i2c-adapter/i2c-1/1-0010/ambient)"
if [ "$AMB" -gt "$OLDAMB" ]; then
DIFF=$(( AMB - OLDAMB ))
else
DIFF=$(( OLDAMB - AMB ))
fi
OLDAMB="$AMB"
if [ "$DIFF" -gt "$LIGHTDIFF" ]; then
wget --post-data "light=$AMB" http://$HA:$HP/api/webhook/$LWH -q -O-
fi
sleep "$LIGHTSLEEP"
done
}
loopev0 & loopev1 & loopev2 &
looplight &