Jutta-Proto / protocol-wifi-cpp

C++ JURA protocol implementation for controlling a Jura coffee maker over a WiFi connection.
GNU General Public License v3.0
8 stars 0 forks source link

Protocol for WIFI dongle #4

Open mcm1957 opened 1 year ago

mcm1957 commented 1 year ago

Hi,

Is there any documentation availbale for accessing a WIFI connected Jura. I'm using an ENA-4 with WIFI dongle.

If instructed I could try to get communication data as long as it does not require soldering etc.

You can reach me here (as discussion answers) or dierectly at mcm57@gmx.at

COM8 commented 1 year ago

Currently getting back into it. Give me a couple of days and I can give you some more information. At the moment you do not need to do any modifications on your hardware. It's all done via software (emulating an app).

mcm1957 commented 1 year ago

Thanks for the Info. Don't know which ENAs you own. Feel free to contact me if you need some test with ENA-4.

COM8 commented 1 year ago

Sadly I can not debug/reverse the WIFI dongle connection since it is not compatible with my JURA E6 coffee maker.

But, I can tell you that much: The app builds up a TCP connection between the coffee maker and the app using port 51515.

The next steps would be to either further look into the decompiled Java code for the protocol or just simply snoop it via Wireshark and the app running inside a local emulator.

In case you are interested I can add you to the private repo containing the decompiled Java code. There I can give you some hints for where to look next. I also have a copy of the decompiled assembly code of the dongle itself. There one could try using Ghidra to further look into the code.

mcm1957 commented 1 year ago

Thanks for the offer. I could try to look into the java code if you allow access. BUT I'm no java programmer. I worked with C a long time and now with javascript/node most of the time. I will try to read Java. In addition I could try to setup a wireshark environment. But not sure how.

In any case I will not have noticeable time until mid/end of december as I currently msut finish some job work and will try to finish work at an ioBroker adapter until end of the year.

Anyway: Thanks a lot for your work and spwnding time for others.

P.S: E6 is listed as compatible - but I guess this realtes to a newer version of the E6

tienducle commented 1 year ago

I have a Jura E8 with WiFi dongle and could also offer to take a look into the Java code.

COM8 commented 1 year ago

I added you both to the repo with read access. The relevant parts are located inside jura-joe-app/JOE_CODE_3.0/sources/joe_android_connector/src/connection/ Let me know if you need more information than I can invite you to the matrix group for discussing, or we use the GitHub discussions feature.

srenauld commented 1 year ago

I have a Jura Z10 with a wifi dongle and would be very interested in helping, as I'd like to not have to use the app in the future. If there's anything I can help with, let me know.

(I'm familiar with java - having been a scala developer and currently being a RN dev)

COM8 commented 1 year ago

@srenauld I added you to the repo. Feel free to take a look at it.

I also created a GitHub discussion category here, so in case someone finds something out, we can discuss it there.

Sebbeben commented 1 year ago

Hi, can anyone share the firmware dump from the Wi-Fi dongle?

I have made an printable 3d model of the jura wifi dongle housing if anyone is interested?

Also I have made a schematics and pcb (the pcb is still in progress) of the original jura Wi-Fi dongle

COM8 commented 1 year ago

Regarding the firmware: https://connectivity.top-tronic.com/mobileapp/JOE/WFR_all.xml It is encrypted and since I changed jobs I sadly don't have access any more to my old actual dumps of the ESP32 chip, which then would be unencrypted.

@Sebbeben Cool! This would be awesome to host here in this repo. I would be glad, if you could make a PR for it.

Sebbeben commented 1 year ago

I would be Happy if i could contribute in any way @COM8 :)

Please till me if i made something the wrong way, im new to using GitHub.

Thanks for sharing the Link, can this be decoded then? or is a new firmware dump needed?

COM8 commented 1 year ago

As far as I'm aware, we need to dump it since I don't know how to decrypt them. I had a quick look at the source code for the Java app, but was not able to find anything for that. Perhaps the ESP32 decrypts it?

If you want, I can give you access to the JURA JOE repo with the decompiled source code and you can have a look at it your self. Perhaps you spot something I missed.

Sebbeben commented 1 year ago

@COM8 sure that would be nice :) Im not very good at this but have a friend that is awesome, he talked about that it is just doing this... then you have decrypted the code so it is worth giving a shot

COM8 commented 1 year ago

@Sebbeben Done.

vbprofi commented 9 months ago

hello experts, i am now also the proud owner of a jura e8-eb coffee machine with wifi dongle. i would like to remote and operate the machine via raspi and my notebook via wifi. that's why i'm also interested in the work and the results here. has there been any progress in debugging the wifi protocol? Are there already results that can be used for further work?

best regards

COM8 commented 9 months ago

@vbprofi sadly not that I'm aware of.