Open miklik72 opened 6 years ago
I could not compile easily the dependencies of this library, but by attempting to use the the thermostat with gatttool as described here http://torsten-traenkner.de/wissen/smarthome/heizung.php
...it looks like I cannot even authenticate with the PIN. It might be that the newer firmware has slightly different characteristics. A little bit of HCI snooping has to be done to see if the app is doing something different now. And probably now there are better ways of accessing GATT stuff in python.
And I confirm. I used the HCI snooping as described in the link above and I realized that to write the PIN it writes 0x0048 instead of 0x0047 By writing the pin on that address, I succed and I am therefore authenticated.
The expect script in the link above (once amended to use 0x0048 for the PIN) then has a way of reading and setting the current temperature, but that fails too (well, it succeeds in reading something that is not my set temperature). I assume that address is changed too. The naive "+1" on the address did not work (it reads something else). Since my snoop file contains a temperature change, I should be able to find what the app is doing to get and set the temperature, but now I have limited time ;)
Hi, I have the same problem with cometblue devices. Have you find a way for read temperature?
Hello,
I can set the temperature and read the temperature perceived by the thermostat (not very useful, it's naturally higher than ambient temp) with some changes to the expect script in the link a few posts up
I published the version I am using here: https://gist.github.com/signaleleven/ffec6d96a6d46a0eaec51e4f99f122f1
char-read-hnd 0x003f Error: Characteristic value/descriptor read failed: Attribute can't be read
I don't know what's wrong. Maybe the characteristics are different?
It could be that you have a different firmware. I assume it works with the mobile app? If you have android, you can enable HCI snoop in the developer menu, and look at the sniffed traffic with wireshark...
Mobile app is working good on my iphone. Which firmware version do you have? My firmware revision string: (hex) 30 2e 30 2e 31 30, (asci): 0.0.10
Sorry, I never came back to this, but now that GATT support on python seems to be improving I am playing with the idea of making a little library. Which characteristic are you reading for getting the firmware version? I poked around and I could not find it, and the mobile app does not show it.
Hi, Looks that I cannot read characteristics from cometblue device from Lidl FW 0.0.9.silvercres. Via gatttoll I'm able read all characteristics. So I don't know, if I'm using some bad library or where is problem. How can I test reading characteristics by pygattlib?
OS: raspbian jessie 8.0 HW: Raspberry PI zero W