I do not see any error messages or any debug messages in the log. Home Assistant does not seem to load the component and blocks the loading of all the other climate components (e.g. Nest), which makes me think there is something broken in the code :-/
Any help would be appreciated, this is my first component!
awesome, does home assistant find the device automatically?
why is this ip address hardcoded in your code? “self.HOST = ‘18.104.22.168’” or do you need to change this in the code to the actual ip address of the thermostat in a network?
I’ve got BEOK and looks very similar, its missing that ID sticker. I guess I need to extract it somehow. I can try to take a look at wifi communication to find it. Now Im wondering, if authentication is based only on ID, that means bruteforcing ID ( how long is it and what format ? ) we could control someones thermostat ?
Can you post format of that key ? I’m not sure what to look for, how long it is and is it only digits / hex or … ? I’ve dumped data from app and deserialized it. I got field called key with some md5 data and field called password with 6 digits but doesn’t seem to work when I test it with your component.
File “/config/custom_components/climate/wifithermostat.py”, line 196, in current_temperature
File “/config/custom_components/climate/wifithermostat.py”, line 128, in read_status
data = bytearray.fromhex(hex(self.id_effect)[2:])
ValueError: non-hexadecimal number found in fromhex() arg at position 9
I also got one yesterday, and don’t have a sticker with ID on it perhaps it is easy for you to sniff the encrypted id and reverse it, for me it isn’t lol, I’m using currently this method to integrate it in hass: https://community.openhab.org/t/electronic-heating-thermostat-reverse-engineering-beok-floureon-decdeal/39251/6
because without the ID, your method is not working unfortunately, I would rather use your method.
since the method on the openhab forum is also written in python, can’t the method without needing the ID not be integrated into your code, they are both written in python
Hi, I did see this as well but the python involved there is beyond my capabilities I’m afraid…
To sniff the packets, I am using the “Packet Capture” app.
Once your thermostat is installed and configured with your app, you can use “Packet Capture” to see the traffic from the app.
You should see one of the packets being repeated often, which is your encrypted key in hex. You can then use the windows calculator to convert into decimal and the formula in the python code to reverse your product id.
I gave this a spin last night and connections to the thermostat timed out… not too sure what the problem is… I do however wonder whether the model I have is different and the API doc is wrong. That would also explain why @typeonegative cannot get my module to work.
@Emmanuel: Have you tried to use the broadlink.discover() function, using the broadlink API ? (not in HA, on a python terminal) ? I think I’ll update my code using this methode, but I’m running out of time this summer
And I fixed the google assistant issue yesterday !
@typeonegative: You have to create a custom_components/climate folder, on the HA config folder, and put the broadlink thermostat code on it, then add this to your configuration file:
- platform: broadlink
Finaly restart your HA instance, and you’ll be done