tjhorner / esphome-standing-desk

68 stars 22 forks source link

Current height and target height stopped working with esphome 2023.2.x #4

Closed paularmstrong closed 1 year ago

paularmstrong commented 1 year ago

Ever since an upgrade during the month of February from esphome 2023.1.x to 2023.2.x, my fully jarvis desk has been reporting "NA" for the current height and setting the target height to any value sends the desk up to its max height.

I've tried a fresh build and flashing of the hardware, but receive the same results. Is this just me having a weird issue?

I'm not sure where to start debugging. Any help appreciated.

tjhorner commented 1 year ago

I've seen this kind of issue before, and it's usually fixed by restarting the desk's control box entirely. Try unplugging it for around 15 seconds then plug it back in.

My working theory is that sometimes the control box can get into a weird state where it no longer reports the current height in the way that the firmware expects, but I haven't been able to verify how that actually happens because I don't have a Jarvis desk

paularmstrong commented 1 year ago

I tried this and I have the same results. I unplugged everything, let it sit for 15-20 seconds, then plugged it all back in.

The desk went into ASR error mode, which requires it to be returned to as low as it can go by holding the DOWN button until it stops. After that, I have the same issue with NA reported height and any target change sends it all the way to the top.

paularmstrong commented 1 year ago

Did some digging and saw the VERY_VERBOSE logs within this repo, so I turned that on. Does this help at all? It's mostly just repeating the following:

[11:20:54][VV][standing_desk_height:027]: Reading byte: 180
[11:20:54][VV][standing_desk_height:027]: Reading byte: 1
[11:20:54][VV][standing_desk_height:027]: Reading byte: 1
[11:20:54][VV][standing_desk_height:027]: Reading byte: 1

logs_pauls-standing-desk_run(1).txt

tjhorner commented 1 year ago

Thank you for the logs! When you captured those, were you moving your desk?

Also: Which keypad do you use with your desk? If it has a display, does the current height show up there?

Also also: Can you make sure the decoder is set properly in the configuration?

paularmstrong commented 1 year ago

Yep, I was holding the up/down buttons. Here's an update in which I've pressed both up/down, presets 1, and 4 (kind of hard to figure out which is which, but they do differ like 184, 181, 164, 167, 176, 179)

logs_pauls-standing-desk_run(4).txt

I don't see any sort of configuration like the linked docs show…

Screenshot 2023-03-01 at 10 47 43
paularmstrong commented 1 year ago

Here's my esphome config (this is the original/first version hardware, btw):

substitutions:
  device_name: pauls-standing-desk
  device_friendly_name: Paul’s standing desk

packages:
  standing_desk: github://tjhorner/esphome-standing-desk/configs/template.yaml
  desk_config: github://tjhorner/esphome-standing-desk/configs/desks/fully_jarvis.yaml
  device_base: !include common/base.yaml

esphome:
  name: "pauls-standing-desk"
  platform: ESP8266
  board: d1_mini

And the common/base.yaml

esphome:
  name: ${device_name}

wifi:
  // redacted

# Enable logging
logger:
  level: WARN

# Enable Home Assistant API
api:

ota:

web_server:
  port: 80
tjhorner commented 1 year ago

this is the original/first version hardware, btw

Ahh, gotcha. That explains why you don't see the runtime config stuff. I should've asked about that first 🙃

Based on the logs you provided, it looks like your desk's control box is using a protocol similar to what the uplift decoder expects. It's weird that it would unexpectedly switch to using a different protocol (unless Fully has a secret backdoor in which it can forcefully OTA update your control box lol), but that appears to be what's happening.

Can you try using uplift_v2.yaml instead of jarvis.yaml for the desk_config package?

paularmstrong commented 1 year ago

Can you try using uplift_v2.yaml instead of jarvis.yaml for the desk_config package?

Uh... that worked. I'm very weirded out because I haven't touched this config since I got it working months ago.

This is a very old version of the Jarvis desk, like 2015-ish? It has no wifi or back-door. So... I have no idea what's happening. Glad it's working though!

tjhorner commented 1 year ago

That is indeed very strange! Nevertheless, I will add it to the troubleshooting documentation since now we know that it is a thing that can happen... somehow.

Glad to hear it's working again :)

tjhorner commented 1 year ago

Well, I found this thread: https://github.com/phord/Jarvis/discussions/4#discussion-3037381

This person mentions that the protocol is different when using their simple two-button keypad, and another post mentions that the protocol switches to this one "after some idle time". So maybe it is related to the keypad the control box detects when powering on. I will do some more research to see if I can find any rhyme or reason to this behavior.