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

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.

There should be a special reset sequence of buttons.

Have you googled this and checked your manual?

Yeah … no online sequence that I’ve tried works and Omnidesk customer service have not been able to assist so far either. I feel like there’s a simple fi out there somewhere, even if I have to jerry-rig it somehow.

1 Like

I reckon you’re probably right. Some simple fix you need to discover.

You could try grounding some wires like I mention here. Worth a try.

Put the finishing touches on my integration, and made a second for my work desk too.
I decided to not using a pass-through to the controller, so I could contain it in a small enclosure, and I will drive it via software.
Modelled and 3D printed a pretty rough friction fit slide on enclosure that’s good enough to provide some protection.


5 Likes

Nice. Tidy layout.

1 Like

I got into ESP32 pretty much because of this project, I’ve been looking for a way to control my desk (uplift) via home assistant for years.

Unfortunately I’ve been unable to get it to work, I’ve tried using the config in option 1, both using Arduino IDE and visual studio code and i get a number of errors:

My guess it’s a simple easy to fix rookie mistake… any ideas? thanks!!

1 Like

Hi @estley,

Have you tried or are you interested in using the HA ESPHome add-on?

It makes it easier to get started…

ok, so i was fi ally able to figure out the workflow. I setup the device in ESP home within HA, then i edit the new device’s yaml, past in the config from option 1, validate it, once it’s validated, I download the bin and try to upload it via the devices portal, it uploads just fine, but at the end I get “Update failed: Could not activate the firmware” with no other details…


Good evening,
I came across this thread and have been trying to automate my Desktronic height-adjustable table. I also use the esp8266 d1mini chip.

The Ethernet cable from the touchpad to the controller was 10-pole. After unscrewing an already broken controller, I found out which cables are actually used. However, the arrangement in the Ethernet cable differs from the one in this project:

Sequence in power supply | G     | TX    | RX    | Key2 | Key1 | G      | B-C1 | SWD  | 5V    | DC
--------------------------------------------------------------------------------------------------------
Color                    | brown | black | white | free | red  | purple | free | free | green | yellow

Unfortunately, I can’t find any information about Desktronic products online. So unfortunately I also don’t know what stands e.g. up / down.

At the moment I have a working bridge. So I can still manually raise and lower my table with the two adapters (Adapter1: 10-pole Ethernet cable from touchpad to 8-pole Ethernet cable, Adapter2: 8-pole Ethernet cable to 10-pole Ethernet cable from touchpad). I also managed to read out the RX output. (I took the G cable and the TX cable of the 8-pole Ethernet cable from Adapter1 and connected it with the corresponding pins of my d1mini) However, I did not get any further at this point. Can anyone help me with this issue?

Hi.

Does the desk appear to have Jiecang controller?

See first post for tips on identifying if so…

If it does not, it is unlikely this solution will work.

Some photos may help too.

Cheers.

The desk does not have a Jiecang controller. This is the controller I use.

Thats the setup I have right now. (The colors from Adapter to chip does not match the actual colors, but you should be able to recognise it. → I did not had all cable colors).

1 Like

And another perspective:

1 Like

If it doesn’t use the jiecang controller then you’ll be starting from scratch. The solution is doing more than simply sending a hi/lo to certain ports. It also reads the serial data coming in to understand desk state.

So you’ll have to id all that from your controller then reverse engineer that into something that can be built into a module to translate what the desk is telling you. For the jiecang controllers all that is in a desky module that is imported and loaded into the Esp32

Because yours isn’t a desky/jiecang compatible You’ll have to provide that.

Its basically like trying to drive a ZWave device with a Zigbee controller. It simply Doesn’t work no matter how similar they are.

2 Likes

Also please start another thread to seek further support. This thread is for Jiecang/Desky.

Here are some other examples of standing desk threads.

The ESPHOME Discord is another great place to get support. ssieb is particularly skilled and helpful.

Cheers.

2 Likes