dparnell / homebridge-chuango-h4

Homebridge plugin for the Chuango H4 home security system
Apache License 2.0
1 stars 0 forks source link

Chuango OV300 #12

Open TheAbstractDev opened 1 year ago

TheAbstractDev commented 1 year ago

Hi, I would like to create add the support of the OV300 model.

From what I understand, I need to intercept the calls between the app and the hub to create my own API ?

Do you have any way to do that ? I really want to integrate it to HomeKit so can we work together ?

Thanks.

dparnell commented 1 year ago

What I did was get the APK for the app and decompile it using JAD. From there I was able to reverse engineer the protocol. There is a good chance that the OV-300 uses a similar protocol to H4.

TheAbstractDev commented 1 year ago

Wow thanks for the quick reply !

I don't have any Android phone so it will be difficult for me.

Do you think that the OV-300 can work with the H4 protocol ?

dparnell commented 1 year ago

You can download the APK from a couple of sites online. You have to be careful because sometimes they contain some nasties, so best not to install it onto anything ;)

From what I can see the OV-300 uses the Chuango dreamcatcher stuff so it may just work.

TheAbstractDev commented 1 year ago

I'll try to use your plugin and if it doesn't work, I'll try to intercept the calls 😉.

Thanks.

TheAbstractDev commented 1 year ago

Update: Looks like your plugin isn't working with the OV300.

I did entered my account credentials (secondary account) & UUID

But when running homebridge, I get an error:

Error: Request failed with status code 466

dparnell commented 1 year ago

It sounds like your only option is to get yourself an old Android phone and sniff the network traffic. You should look for an older android phone because the older versions of the OS are easier to use for this kind of thing. More recent versions added a setting to applications that make it much trickier to sniff their network traffic using tools like Wireshark and they also altered the way that SSL certs are trusted by applications.

TheAbstractDev commented 1 year ago

Hi, I finally did sniffed the packets and yes, it's a totally different API.

I will create a fork of your client and your homebridge plugin for the OV300 if you're ok.

But for now, I'm stuck with the MQTT part, how have you listened the "requests" ?

Thanks

dparnell commented 1 year ago

I made another library that does the network side of things here: https://github.com/dparnell/chuango-h4-client That library handles all the MQTT stuff. If you made a similar library for the OV300 then it might be possible to make a version of this plugin that supports multiple chuango devices. I'd be interested in taking a look at your packet capture.

TheAbstractDev commented 1 year ago

I'm talking about this client library.

I've started to make some changes to based on the new API but I can't figure why you subscribe to some subscribers and how you've found them.

And yes it would be great to make a generic chuango homebridge plugin.

Can you join the Homebridge Discord or an other one to discuss ?

dparnell commented 1 year ago

I've joined the homebridge discord

dparnell commented 1 year ago

As for the subscriptions, it was part network traffic analysis and part android app reverse engineering

dparnell commented 1 year ago

I've also created a server just for hacking on the chuango alarms: https://discord.gg/syPWGWSa