phord / Jarvis

Hacking the Jarvis standup desk from fully.com for home automation using an ESP8266 arduino interface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

More reverse engineering

maraid opened this issue · comments

Hi @phord,

Firstly, thank you for the huge amount of information you shared here. With the help of your repository I created a project for Home Assistant specifically. It includes packet capturing, injecting, bug exploiting etc...

I spent quite some time fuzzing the protocol and a number of new commands came to light. I want to return the favor by sharing my findings with you. I hope it'll come in handy if you start implementing the missing features.

I was not sure how to contact you. If you're still planning to continue the development of your project and decide to incorporate some of my findings then feel free to reach me with any questions about them.

Regards,
maraid

Nice work! That's a cool find about the control lines being optional. That would make my circuit a lot simpler. :-)

I have tinkered with the code some more a couple of times, but I only did useless housekeeping. The code in my project is a real mess. It represents what I found as I worked through it, mostly, so no decent design goals. I started cleaning it here and there but I got distracted by trying to meld in my latest ESP-common library, and... well, there was no reason for that.

Thanks for sharing the details. I also want to have an always-on display and control of the display messages. I'm convinced it will only display numbers and hard-coded errors on command, but maybe you'll find out different. If I get time, I will try to incorporate your expanded command info into my project, too.

In your document, this cell has a couple of typos, I think.

"All of the preset locations are in raw positions.
Conversion: cm = min_height + raw * 0.0642mm
0x25 - Preset1
0x26 - Preset2
0x27 - Preset2 <-- Preset3
0x28 - Preset2 <-- Preset4
0x0E - Units
0x19 - TouchMode
0x17 - KillMode
0x1D - Sensitivity"

Yes, I was hoping to find a way to display anything other than numbers and error messages but no luck. Well, one time it started writing numbers on top of each other without clearing the display, but I couldn't replicate it a second time, and it didn't seem too useful anyway. In my current setup it displays the height while it's moving and then it shows the room temperature indefinitely. That's the most useful I could make it.

I hope you'll find useful information in the google sheet or things that I have overlooked.

Thanks for the corrections, sorry about the typo in your name. :-)