-
-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange situation: I have to unplug my desk for it to work, but after some time, it stops again. Need help. #114
Comments
Hi @Metus88 I have the exact same config and the exact same issue, I wasn't working for me until I read your post and decided to remove the plug and plug it again it is now taking command from my esp32 but after some time it does not respond :( |
@JustAnotherPU yes |
Here's my take as someone who has literally no idea and just bought an E7Q. Is it perhaps possible that during normal operation, communication always starts with the keypad sending a wakeup command and only after that sends actual data? Because if yes and that's not how the code currently works, it might be that perhaps previous controller units had some kind of fallback (maybe for older keypads that didn't do that?) which isn't present anymore in newer controllers/firmwares? In any case, I'd suggest sniffing the uart of the keypad during normal operation and checking what is going on there. |
Same issue here. |
My desk does have a touch control panel which I first touch, and afterwards I am able to touch again to execute my action. Via the ESPHome integration I can just control it directly and the "Wake screen" button is for my configuration not functional. It seems that for newer versions this might be required actually, and that we need to execute this function prior to all other executions. This would be a relatively easy fix in the ESPHome configuration. ps. welcome @Hypfer 😉, I am a big fan of your Valetudo project, still runs like a charm on my old Roborock! |
Yes it does! (I created automation in home assistant, First I send the command wake screen and later I send the command that I want and it works 100% of the time. )
I have 4 RJ45 ports for motors, 2 RJ45 ports for the keypad, and 2 strange ports with only 2 pins (each). One of these strange ports is used by the keypad. The keypad has 2 cables: one RJ45 and one strange cable with only 2 pins (maybe for power). I installed both the original keypad and the ESP32 at the same time.
The Esp32 is powered directly from the RJ45 desk port.
Could you explain to me how to edit the ESPHome YAML to execute a wake screen command before every other command? I read somewhere in this repository that before sending a command, a pin has to be triggered for a specific amount of time (I don't remember exactly). However, I would also like to test whether increasing that time fixes the problem. Maybe my ESP32 does not trigger that pin for long enough? (What do you think? How I can increase it?) |
I don't have an oscilloscope, so I think I have to build something with an ESP32. Maybe you have some advice? (tutorials/links/guides) Is it possible to sniff the data without opening the keypad or without cutting the cable of the keypad? |
Essentially, you just want some way of accessing the wires over which the communication happens and something that is capable of listening in on that. Personally I don't really like soldering together some bodges, so I've ordered 2 pairs of these in male and female on aliexpress to build some passthrough where I can easily attach something that speaks UART to the RX/TX lines as well. Just wire them together with some dupont cables and hope that signal integrity is still good enough (with UART at that baudrate it probably is) As for the listening to what is happening: You could also just use a USB UART adapter and take turns. Or two of them with timestamped logs If you decide to do the same, please make sure to measure everything thrice before plugging it into the desk. Btw: Aliexpress has those <Some kind of connector>-to-terminal-blocks things for all sorts of connectors. They're pretty useful |
My Hardware:
My software settings:
office-desk-esp32.yaml
I used the PIN of famous #67
Just to be clear, the E7Q model has 4 motors (CB38M4A(IB)-1) with 2 RJ45 ports for keypads and comes with a premium keypad (HS13M-1C0).
I used one RJ45 port for the standard keypad and the other to connect my ESP32.
At the beginning, I thought everything was working great. Home Assistant could control the desk, and the physical keypad worked perfectly.
However, after some time (some hours), Home Assistant can no longer control the desk! (In the ESPHome logs, I can see that it sends commands, but in reality, nothing happens). The physical keypad still works. However, if I change the desk height using the keypad, the new height is correctly reflected in Home Assistant. So I believe ESPHome is still functioning, but the commands sent by the ESP32 are not affecting the desk.
If I unplug the desk from power (European 230V) and then reconnect it, both the physical keypad and the ESP32 work again, and they can fully control the desk.
Another important hint is that even when the ESP32 stops working, the physical keypad turns on when the ESP32 sends a command (so it detects the signal from the ESP32).
I'm very confused.
My thoughts:
So, I really don't know what to think.
Thanks for your help!
EDIT: unplug RJ45 esp32 and plug again only doesn't work.
UPDATE: If I press Wake screen on home assistant (when esp32 stop working) seems that it works again without unplug and plug again power to the desk. However how I say before is strange because the physical keypad turn on when I send commands from esp32 and they are not elaborate in reality. So I thought that the wake up screen was already hit. 😒😵💫😳
The text was updated successfully, but these errors were encountered: