Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lend any help? #8

Open
disruptivepatternmaterial opened this issue Oct 13, 2019 · 9 comments
Open

Lend any help? #8

disruptivepatternmaterial opened this issue Oct 13, 2019 · 9 comments

Comments

@disruptivepatternmaterial

A couple of us are trying to get our split systems / kumos into Homebridge to use HomeKit to control them along with our other HVAC and such. I am stumped by the key and crypt parts of your code which I am using for bootstrapping my testing...is there any chance you can explain what the flow is there around sending a command back to the system to make it change state? I just need a little bit of a "map" on your "mountain" and I can start "hiking" :)

@sushilks
Copy link
Owner

Not sure where you are suck on so difficult to provide feedback. My goal was also to make it work my home unit and the encryption part was a bit esoteric for me as well. I did not spend any time trying to understand it.

@disruptivepatternmaterial
Copy link
Author

Well, let's start with what is W and where do you get it? I've never been able to get this code to run, but I have everything working like you did once: I can copy out the m= from commands that work grabbed via Charles, but I cannot figure out how to generate them. Your blog post has a snippet that you managed to figure it out but not how. So more on how would be great.

a/o right now I have this all working in node-red and passing data via MQTT to homebridge and thereby into homekit, but I cannot make it "real" without cracking the pattern that you figured out.

@lweighall
Copy link
Contributor

For what it’s worth I ran into the same problem trying to port this to Python like a year ago. His login and credential check to get the config file and resulting hashes, is beyond me.

What I did is I stood up a docket container nodeJS as described in the read me, and then put a basic python flask app over it to do the obfuscation I needed.

@lweighall
Copy link
Contributor

If you want access to that python flask micro service let me know

@disruptivepatternmaterial
Copy link
Author

Sure that would be helpful I think...so I have his code running in my setup but the input seed seems not to be right and there is no description of W and where it comes from.

@sushilks
Copy link
Owner

Hey,
The Algorithm was just reverse-engineered from the app, The app is just a javascript app so it should be possible to see the code as it loads.
Is the TS code not working for you, or is it just a problem trying to make python work the same as the TS code?
My setup has been running for the past few years without any problems.

@disruptivepatternmaterial
Copy link
Author

Sorry, not the question I am asking...where did W come from? Can you be specific about where and how you determined it? I am profiling the app and I see all kinds of codes and keys being thrown around but none of them seem to work in my case. So just need some idea of how you got W. The rest I have working completely.

@sushilks
Copy link
Owner

This was a long time back when I looked at this, I had the code running in a debugger and it took some time to go through the layers to identify the structure and the variables.
I can help you out with the debug if you describe how you are looking at the code.

@sushilks
Copy link
Owner

I looked at my notes, The variable W is embedded in the app code itself. It's split into two parts "44c73283b498d432ff25f5" and "c8e06a016aef931e68f0a00ea710e36e6338fb22db".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants