I think the messages can be noisy if you’re not grounded properly. Try adding the ground wire like this. Remove it if anything smokes etc;) I think it is ok.
I assume you are still powering via usb?
So i got this Uppspel IKEA desk and long story short: I’ve built my own little desky, but could not find a suitable enclosure for a USB-C D1 Mini. So i’ve remixed the one from Okham and made a few modifications.
Hi guys. Looking for help integrating my desk into Home Assistant. I have some “Ergostol” with a 000-DH16_V02 board. No control via RJ connector.
I’ve already searched a bit on the Internet and apparently there are no ready-made projects on this topic yet.
As far as I understand, control is via a connector under the screen (I soldered the wires)? Or is this a connector for flashing the controller?
Can you tell me what to read about this? I don’t have much experience yet, so would appreciate any help
Photos of my controller. Maybe it will make things a little clearer
It’s best you start your own thread for this.
This thread is for Desky / Jiecang desks.
@ me once you’ve done that and I’ll offer what I can.
Probably you’ll be starting from scratch with this desk so may well have a lot of exploration and learning to do.
Here is an example of what to post and in that thread is also some common starting points.
This is for a Vari Desk, and works great, thank you for getting me going!
I’ve made a few changes and additions to the code, including making functional minimum and maximum values to stop movement, and added presets for sitting and standing (seemed easier than trying to simulate the physical buttons).
I also had to change the throttle on the height from 200ms to 4ms to overcome an issue whereby the height displayed in HA did not match what was displayed on the desk. It also appears to have made it a bit more accurate now as a full run from standing to sitting stopped EXACTLY where it should have, whereby it was previously off .1-.2".
I originally tried going from 200ms to 100ms and it was better, but still off once in a while. I chose 4ms because of this article: https://www.devmire.com/reverse-engineering-a-standing-desk-for-fun-and-profit/ Specifically, there was a comment in the code that stated “Height should be set in bursts of x ms pulses, as it takes 4ms to read the current height”.
Correct. If I press the physical button, the desk moves without issue, but the height does not update in the home assistant dashboard. Additionally, when I press the button to retrieve height, nothing happens.
I just made some changes to the component that should make it work better. There can be an issue with the ESP sharing the wires with the display unit, so I’ve made it possible for the ESP to be mitm instead. Note that the pin names have been changed because there’s an in and an out for the up and down pins. You also need to configure the tx pin to go to the display. Don’t use the intercept: option. It’s for a future feature to have triggers for the display buttons instead of passing them through, but it’s not implemented yet. Also, don’t invert the pins any more. The code handles that directly.
The new code is in a branch since it hasn’t been tested yet, so if anyone wants to test it, that would be appreciated. If anyone wants to discuss it or finds an issue, please find me on the esphome discord server. It’s easier there.
external_components:
- source:
type: git
url: https://github.com/ssieb/esphome_components
ref: desky
components: [ desky ]
refresh: 1min
I saw that, but there were notes in the code about wiring it differently, and I didn’t see a wiring diagram for how I was supposed to wire it, or where the tx/rx wires were supposed to go (from what pin on the RJ45 jack to what pin on the ESP32) so rather than guess and mess it up, I went the other way. I’ll take a look at the readme and see if that helps.
Interesting. I went to enable UART debugging this morning, but decided to double-check before doing so, and the value is updating in HA now. I did reboot my HA server last night after an update, maybe it was just a display issue? Not sure, but it’s working now.
Yeah, so I took a look at the readme, and while it is certainly concise and well-noted, it references making use of 7 pins - but unless I’ve missed something in this thread, the only wiring diagrams I’ve seen show 6 wires being used. In fact, your code shows to use 7 pins, but that doesn’t leave 2 pins available for power and ground, so now I’m doubly confused! A complete mapping of the RJ45 end would be really appreciated. I’m al electronics n00b - there’s a reason I did this without soldering.
This uses the same wires, but it puts the ESP in the middle. So instead of tapping into the wire that connects the display and the controller and the ESP on one pin, now the display connects to the ESP on one pin and the controller connects to the ESP on another pin. The wire doesn’t connect from the display to the controller. @Mahko_Mahko if you understand what I’ve done, can you make an updated diagram with the changes?
I’ll see if I can do some doc refreshers and testing over the xmas break. Might make some doc pull requests etc.
Probably there’s a few areas to tidy up and a few feature requests to raise (such as implementing the memory presets in your component).
Testing has been complicated on my side a little by the fact that I use a more customised solution since I also built my own control panel. But I’m probably due to review it all anyway.
I’m pretty sure I still have my original “simple diy dongle” I can try to rewire and keep as a basic test device but I’ll need to put aside a little time. I’ll ping you on Discord to work through anything.
I’m just going to dump some signal sniffing in a few posts to help collate some content to work through some things with ssieb on Discord. A bit easier for larger chunks of text here.
Intial summary (and confirmation of earlier Phord findings).