check this thread for the 67
or heres the code for the 67, it doesnt give vpd but ou can calculate for that with temp and humidity
#!/usr/bin/expect -f
set prompt "#"
set address DA:6E:91:88:26:2C
spawn bluetoothctl
expect -re $prompt
send "connect $address\r"
expect "Connection successful"
send "list-attributes\r"
send "menu gatt\r"
send "select-attribute /org/bluez/hci0/dev_DA_6E_91_88_26_2C/service001b/char001e\r"
send "notify on\r"
send "select-attribute /org/bluez/hci0/dev_DA_6E_91_88_26_2C/service001b/char001c\r"
send "write \"0xa5 0x00 0x00 0x03 0x03 0x49 0x79 0xd7 0x00 0x01 0x02 0x03 0x20 0x78 0xe9\"\r"
send "select-attribute /org/bluez/hci0/dev_DA_6E_91_88_26_2C/service001b/char001e\r"
send "read\r"
sleep 2
send "quit\r"
expect eof
Temp in C
/config/./FILENAME.sh | grep a5 | awk 'NR==2 { print "0x" $16 $17 }' | xargs printf "%d\n"
this will show temp in F from terminal
/config/./FILENAME.sh | grep a5 | awk 'NR==2 { print "0x" $16 $17 }' | xargs printf "%d\n" |xargs -n 1 bash -c 'echo $(($1 * 9/5 + 3200 ))' args | xargs -n 1 bash -c 'echo $(($1 /100))' args
Humidity
/config/./FILENAME.sh | grep '20 01\| a5' | awk 'NR==1 {print "0x" $18};NR==2 {print $3}' | awk 'NR%2{printf "%s",$0;next;}1' | xargs printf "%d\n"
call these proof of concept stringsā¦