collect Xiomi Mijia values and send them to influx
[air-quality] / ble-mijia.sh
1 #!/bin/bash -e
2 mac=A4:C1:38:D8:3F:9C
3 test ! -z "$1" && mac=$1
4
5
6 gatttool -b $mac --char-write-req --handle='0x0038' --value="0100" --listen | tee /dev/stderr | grep --line-buffered value: | while read bt ; do
7
8 #echo "XXX[$bt]"
9
10 temphexa=$(echo $bt | awk -F ' ' '{print $7$6}'| tr [:lower:] [:upper:] )
11 humhexa=$(echo $bt | awk -F ' ' '{print $8}'| tr [:lower:] [:upper:])
12 temperature100=$(echo "ibase=16; $temphexa" | bc)
13 humidity=$(echo "ibase=16; $humhexa" | bc)
14 temperature=$(echo "scale=2;$temperature100/100"|bc)
15
16 echo $(date +%Y-%m-%d\ %H:%M:%S) $temperature $humidity
17
18 curl --silent -XPOST 'http://10.60.0.92:8086/write?consistency=any&db=rot13' --data-binary "mijia,dc=trnjanska,mac=$mac temperature=$temperature,humidity=$humidity"
19
20 done # gattool