Closed DevEddy closed 5 years ago
Hi Eddy,
support for KEY_REMOTE_CONTROL_ALARM is added in the latest commit.
Lars
Hi Lars,
thanks, finally all my devices are supported :-D
-- Eddy
Hi Eddy,
that is cool! Now, I could think about adding some functionality to flip switches and the like. I'll look into that when I have the time. I don't personally have any, but that would be an interesting feature for you I think. Feel free to open up a feature request if you are interested.
Lars
Hi Lars,
do you mean to set a value via API?
-- Eddy
Hi Eddy,
yes, setting values on your devices which eventually have an effect on their behavior. Could be flipping the light switch, could be setting a target temperature on your heating control. I would have to see what the API can do, but that is the idea.
Hi Lars,
that would be cool. I am about to integrate this in an app. So I would love this functionality. Also teaching in devices would be nice.
Are you able to reverse ingeneer those things?
-- Eddy
Hi Eddy,
what do you mean by "teaching in" devices? The protocol can be reverse engineered, yes. So far I have only read the code of the python project, but one could also read the messages the original app sends and receives, which is probably what the other guys did. You would simply put a proxy in the middle of the communication and read what goes over the wire.
Hi Lars,
cool to hear. Yeah, it's probably SSL, is it so simple? Before you can use th devices you need to teach them in by scanning the qr code or entering the last 4 digits of the included sgtin. Would be cool if we could replicate it.
-- Eddy
Hi Eddy,
well, you would need to get the device running the app to trust your proxy's certificate, but that is not really a hurdle. Also an app can explicitly require a certain certificate on the other end, but that functionality was only introduced in Android 7 if I remember correctly and maybe that isn't even used by the app.
Now I see what you mean. Yes, that should be doable. I never thought of that, since for me, I only wanted an Api to monitor and potentially modify the state of my devices, since the original app is so limited. I didn't mind to set it up in the original app. But then again, it would be nice to have everything in one place and support all scenarios.
Hi Lars,
wow, would be cool :) I will try to build a environment to sniff the communication. Maybe you have some tips of how and what tools to use?
Would love to help and make it happen.
-- Eddy
Hi Eddy,
sure. I suggest you get an emulator with an Android 6 image and a play store installed, such as Genymotion. Install the HomematicIp App on the image. Then follow these instructions: https://www.telerik.com/blogs/how-to-capture-android-traffic-with-fiddler You can also try your phone directly instead of the Android 6 image, but you might not be able to decrypt the https traffic there due to pinned certificates (if the HomematicIP app has any).
Lars
Hi Lars,
one more ;)
-- Eddy