standing-desk-interceptor
                                
                                
                                
                                    standing-desk-interceptor copied to clipboard
                            
                            
                            
                        Posibility to use with custom controller based on ESP32
Hello,
Thanks for your work, it's really nice! Good job!
Are you pleanning (if it's possible) to create sort of sdk/api/library (whatever) in order to make possibil to use some custom controllers based on ESP32 or something? It would be really really nice to have.
The up and down commands should be possible to use from an esp32 right now :) You just have to set Pin4 to high and talk serial on RX/TX Pins.
I don't know where the height is stored at the moment. Didn't come around designing the pcb for intercepting
Future plan would be having an omega onion to intercept the communication and control the table with both the custom mc and the normal buttons.
But once, the protocol is in the open, it should be easy to implement a custom controller :) it is just normal serial communication, which should be possible with every MC
@nv1t Nice job. Please don't stop. This can be a great project. Let me know if I can contribute, I'm frontend software engineer, so I can do web UI, not sure I can do something for this project, but I'll be glad to help.
I had a look into the esp32 and i think i am going to use it as a main Microcontroller for this project. It does support 2x UART Interfaces and MicroPython. I have seen some Threading/asyncio implementation and it really might be the right platform for this :)
@evghenix feel free to have a look: https://github.com/grssmnn/ha-flexispot-standing-desk
I still have a problem when the control panel is turned off and I try to query the height. The desk controller is returning 0x00 0x00 0x00 as payload.
@grssmnn @nv1t I've started new project. Currently it's in development phase but MVP is done (probably with some bugs) :) The goal is to collect as many desks as we can with similar functionality and have sort of universal firmware for them. You can check the homepage https://deskmatik.com and the repo https://github.com/deskmatik/deskmatik
It's written in C++ not sure how bad or good it is, C++ is not mine best skill and it supports Flexidesk (thanks for the protocol interception). Tested it with ESP8266 (NodeMCU)
Now it has WiFi connection interface. It tries to connect to the WiFi network, in case it fails the ESP starts Access Point mode. In this mode you can connect to its WiFi network, navigate to default IP which is 192.168.4.1 and setup your WiFi network credentials. The desk control is now done over simple http requests.
Future plans:
- Add more main boards like ESP32 (which is probably already supported, just have to check this).
 - Create good and intuitive UI.
 - Integrate MQTT communication protocol.
 - Make home assistant integration.
 - Native mobile app.
 - More features like Pin Code, scheduled movements to the desired position, etc.
 - Maybe a security protocol implementation in your local network will be a great plus.
 - OTA updates.
 - Good documentation.
 
A lot of ideas and not much free time. Hope you can enjoy it.
Some screen shots:

And if you use Home Assisant, I have just built anESPHome implementation: https://github.com/iMicknl/LoctekMotion_IoT/tree/main/packages/esphome. You can use all presets (up to 4 if your device allows it), up/down and it will display the height. (I have the same issue as @grssmnn here, the height will only be refreshed after you execute a command).
@evghenix looks great! Cool project :)
Hey @iMicknl , thanks. Cool project. It looks like more desks are using same communication protocol. BTW, I also started developing the native app for it. I'll update you when I have first stable release. I'm planing the mobile app as well.
The app will make all stuff more user friendly. Currently my app has settings and control views. Also you can control the desk using hotkeys. CTRL+ALT+UP, CTRL+ALT+DOWN and CTRL+ALT+1,2,3 to move the desk at saved position.
Here you can track the progress of it https://github.com/deskmatik/deskmatik/issues/1
Here are some screen shots:
