-
Notifications
You must be signed in to change notification settings - Fork 42
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
I made progress #9
Comments
I figured out the new password hash. Rather than md5(md5(password)) it is now md5(md5(md5(password))). I updated the sample code above to use the new hash. Also I noticed the phone_id can be any randomly generated guid. So this sample code will work without having to sniff any of your own data. |
Nice work! |
@nblavoie: It is possible to move this repository? Maybe @noelhibbard can now manage it, no? |
Great working example @noelhibbard, Many thanks |
Sorry, I don't have any cameras. I had one but bricked it while trying to flash a 3rd party firmware. You should take a look at this project: It's a homebridge plugin that seems to cover most of the Wyze accessories. You could probably find hints at how you could accomplish what you need. |
So I created https://github.com/noelportugal/wyze-node a while ago...I'm trying to revisit and remove the need to find the phoneId...I wonder why would it work for you using node package uuid and not for me? I'm not using api_key so I wonder if that is the reason? |
I'm not really sure. I basically just packet sniffed the whole process when running the iOS Wyze app and then reproduced it in Node. Or maybe Wyze wants a v1 UUID (because it contains a timestamp). |
Yeah I tried UUID v1 and v4 with no luck...I gave up and hardcoded the phoneid for now...Wyze doesn't seem to care 🤷. |
I was able to use Fiddler to sniff traffic coming from the Wyze app and was able to find all the API endpoints to login, get a device list with status, change the state of a device and logout. I haven't worked out the API to refresh the access token so I am logging in/out each time to get a brand new token so it's not super efficient. I was also unable to figure out the password hash. MD5(MD5(plaintextpassword)) isn't working on the API endpoints I am using. I had use Fiddler to find my password hash and phone id. Anyways, here is some sample code:
This code is written in Nodejs and depends on request, md5 and uuid (npm i request md5 uuid).
The text was updated successfully, but these errors were encountered: