Desky Standing Desk (ESPHome) [Works with Desky, Uplift, Jiecang, Assmann & others]

There is some very interesting info on Jarvis desks in this project.

Apparently some Jarvis with the simple handset use the alternative protocol.

1 Like

I’ve pinged @ssieb on Discord and we’ll see what they reckon.

1 Like

Thank you so much, I was planning to do it over the weekend but I could have not explained it as well as you did!

1 Like

That’s a great makeover! I didn’t know tables with such control panels existed. It would be really lovely to have an adjustable table like this. I’m tall, and most regular tables are too short for me, which affects my back’s health.
That’s why I want a table with an electrical adjustment mechanism in it, just like this one https://eurekaergonomic.com/gaming-desk-l60-60-pink-l-shаped-left-erk-l60l-pk/. I like the design a lot and the L-shape is what I need in my room. It would fit just right in the corner of my room.
What are the drawbacks of such tables, if there are some?

Hey all, so I got all my parts, but I think i’m confusing myself with the wires. First, my ethernet cable to sacrifice is one of the yellow ones, and the internal wires are different colour.

This is from the controller box:

and this is what I made(!)




When I plug this in as a bypass, my desk just goes straight down, and my control pad becomes unresponsive.

I have NOT programmed the D1 yet (I don’t even know how), but I was hoping that if this was a true by-pass, I could still use my desk normally.

Any ideas? Did I cross something?

thanks

Try this as a next step.

Disconnect the duponts from D1 mini. You can leave the wires “hanging”.

First try to establish a working passthrough that doesn’t involve the esp at all. Eg it should simply be passing through to the wires between the handset and controller (a bit like an extension cord)

Check that the order of your wires of your sacrificed ethernet cable “run straight through”.

Your first goal is to insert this rig which just retains original hanset functionality and behaviour, without esp involved at all…

Thank you very much! that was some very very awesome and sound advice!

UPDATE: Ok, got it work! @Mahko_Mahko This works really well actually, WOW nice work all!

You can now add this desk to the list BDI Stance desk (Stance 6652) to the list of working desks

I presume I have to do some tinkering with the heights, for example, the Desky height sensor is correct but when I change the target height, and go desky height, it blasts past it.

By the way, my control pad now shows the numbers.

EDIT1: Oh I see what the problem was for request the desk height, there is a lower limit of 80 cm. Can I lower value?

1 Like

Nice! Sounds like you are almost there.

Could you elaborate a little more on what isn’t working as expected?

Some other things to check:

  • Does Desky get a height value when you restart the d1mini? I.e you get a height on start-up?
  • Is the stopping distance value right for your desk? If your desk typically stops before/after the target height then adjust.

You should be ok to adjust the min_value: 80 here to say 75cm etc. But if you ask the Desky to go to a lower value than the lowest value that your desk can go to (via the handset) you might error or the desk and it might need resetting. So try not to have min_value to close to your real min value.

number:
#Target Height ("Move desk to height x").
    #You should probably limit the range you can move the desk to to within the limits you've set via the control panel, perhaps offset a little within the range.
    #Sending commands higher/lower than this may cause error messages and require desk reset (or worse).
  - platform: template
    id: desky_target_height
    name: "Desky Target Height"
    optimistic: true
    unit_of_measurement: cm
    min_value: 80
    max_value: 130.0
    step: 0.1

great! everything is perfect now, @Mahko_Mahko

I just had to adjust the min and max values, my desk’s range (by handset is 62 to 127 cm), so I just modified the min and max to be slightly in those ranges and added a few more presets.

This works really well.

Thanks all for sharing this project.

Don’t forget to add the “BDI Stance Desk” to the list now!

1 Like

Nice! I’ve added your desk… Enjoy.

Hi all, I just got a Deskhaus Apex Pro Max and looking into this. Wow, thanks everyone for the hard work so far! I like the idea on a hardwired connection, but I wondered if the bluetooth connection is also working better than some of the comments earlier?

I ended up getting a programmable control (Jiachang JCHT35K24C) that has bluetooth onboard the up/down control unit. I was wondering if I can simply add this through ESPHome’s Bluetooth Proxy until I can put together a pass-through dongle?

1 Like

I don’t think there has been as much development effort into Bluetooth based control as not many users have the Bluetooth dongle or a handset with Bluetooth.

You could look at this project. The Bluetooth commands may still be the same.

I think you’d have to do a fair bit more work to get a Bluetooth based solution working in ESPHOME.

Personally I can’t really see that much benefit doing it this way (except for wireless solution), but it could be interesting to investigate.

Thanks @Mahko_Mahko for the quick reply. I don’t think I know enough about the bluetooth resources in ESPHome (or have the time it would take) to make that happen quickly.

I’ll dig into my box of electronics, it looks like the pass-through dongle is pretty straight forward to set up.

1 Like

Great work on this integration. I’ve just losely wired up a test device to check that it all works.
But I do have a couple of questions:

  1. How are the presets intended to be used? I know the Target Height is connected to the Go To. Is the intent for us to add additional buttons to trigger this?
  2. We have the min and max limits in the Target Height. Are there any future plans to connect these into the Up and Down buttons so those limits are not exceeded?

Again, great work.

The reading/writing/triggering the presets is currently not in the main solution. Some of it has been solved here.

I’m probably going to revisit some of this at some point and try to merge it in and find more interfaces, but other contributors welcome;) All good ideas… !

Sorry, just for clarification, I was referring to the soft-buttons in the ESPHome config. i.e. the config presets and the up/down soft-buttons. I should have been more clear on this.

I don’t have the hard-controller connected as I have the entities integrated into my Stream Deck instead. But I can see that reading the controller would be of benefit to some to add consistency.

1 Like

Gottcha. That makes sense.
I can look at it at some point but it might be some way away. I reckon there is probably a pretty easy way. I don’t really use the ESPHome up/down buttons so never paid much attention to it…

Oh and for Q #1, yes the idea is just that you add as many preset buttons as you need like in the “solution” config.

Nice control panel!

In case anyone was wondering, I just got this to work with the Australian Omnidesk Pro 2020.

Thank you for an awesome project!

I did notice that the stopping distance can vary a lot. especially between reboots. ie The default 1.5 was wrong, so I set it to 2 and it was much closer. Edited the esphome yaml file to make tat the new initial value and then when I uploaded it I found that this went WAY too far and now 1.5 was the ideal value. Weird.

1 Like

Thanks for reporting back! I’ve flagged it as confirmed in the first post…

My Omnidesk Pro 2020 has jammed in the (too far) fully down position. Nothing I have tried will get it to reset or move at all. The display just flashes ASR regardless. I’d appreciate any ideas on how I can kick this in the guts and get it back working so I can try this smart desk project. Presumably I could do something like bypass the control and simply apply 24V to both Linear Actuators but I have been unable to find the pin out for them and am reluctant to try in case I blow them up.