-
Notifications
You must be signed in to change notification settings - Fork 12
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
unicode decode error - v09e - Encrypted messages from juicebox #73
Comments
I suspect that my device may have updated and now it's using a new protocol, possibly encrypted. the format appears to be I haven't been logging all the packets previously, but it was working previously and I saw others with a format like |
Yes. My older device started doing the same thing yesterday but the newer one is still ok. I won't be able to give debug or anything until tomorrow evening but at least your report helped with my sanity. |
By blocking traffic out to Enel X and rebooting, I was able to have it stay at v07 instead of getting updated to v08 (which is what it looks like my older unit changed to yesterday). I have both EXPERIMENTAL and IGNORE_ENELX enabled but unsure how they play into it. Will try to get more info later. |
I was able to get my system back into the mode where it's sending v09u messages - I rebooted several times, but not sure what may have finally triggered it back to that mode. I also did some debugging of the "encrypted" messages and it seems unlikely to me that it couldn't be decoded with some effort. The data doesn't look completely random to me, so probably just xor'd with a key known to both sides or something like that. |
Can you provide a few example strings you are now getting? |
It's not doing it anymore - but here's one of the packets I captured:
I was hesitant to share, since this leaks my unique id - but I guess there isn't any harm in it I also have hex values from two separate packets after the
They both start with a common prefix, and there are some common bytes throughout. |
As it returned just with reboots I suppose the firmware can send in both formats and depending of server response it will change the format. |
That does seem likely, however if that's the case, it would be good to know more about which message does that so it could be blocked. One thing I did change is that originally I was using I'm assuming the |
Removed the firewall blocks and rebooted again and I'm staying on v07 but ... I noticed something new. My older unit (haven't checked the newer one) is now reaching out and getting what look like normal certs and what might be two new URLs: https://juicenet-prod3-usa.enelx.com/v2/unit/[ MY ID ]/data https://juicenet-prod3-usa.enelx.com/v1/unit/[ MY ID ]/keys the key one returned a 64 hex character key and an expiration date of 2025-06-04T12:43:10.079Z which looks to be pretty close to one year from when things changed yesterday (edit: yes, exactly the date/time). Maybe they turned on some testing a bit early? |
to keep for reference, this URL on directory service that have an encrypted element that changes the juicebox to encrypted protocol mode https://directory-api.emotorwerks.com/v1/profiles/juicebox/DEVICE_ID/ sample response available on wiki : https://github.com/JuiceRescue/JuiceboxRescueWiki/wiki/Directory-API |
I updated to the newest release and I'm getting:
With debug logging on, I see this as the last logged line: https://github.com/snicker/juicepassproxy/blob/master/juicebox_mqtthandler.py#L500, and the first non-ascii byte is
\x8b
The text was updated successfully, but these errors were encountered: