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

You bet! Cheers

1 Like

Anyone try this with TiMotion controllers yet?

Not that I’m aware of.

Do you have reason to believe they are Jiecang?

I’m going to get very soon what I need to make this happen for my newly installed Fully Jarvis! Will report back once I get it working (or not :D). Thanks for all your great work. guys <3

1 Like

I was just curious if anyone had tried it yet. I can’t seem to find much info on anyone that had done any hacking on Timotion. I did find one article about medical beds that indicated that Timotion and Jiecang are different controls, but even then it could be each company uses the same base hardware and they are unique in software and construction of the beds.

1 Like

From a quick Google around I’m doubtful that one would work. But you never know.

I think you’ve probably got something more like this.

Is there a label on the control box with model details etc you can share?

Looking at the schematics I’ve got a doubt regarding the connections, and because there’s a power line involved I thought I should ask before burning something :smiley:

I’ve prepared this image above. Do I understand the schematics correctly? So the position of the eth adapter and the colored cables go like this? so the first “screw” goes with stripe orange, the second screw goes with solid orange, and so on?

Thanks!

That’s correct…

What it basically means is that the order of the incoming wires is the same as the outgoing wires through that particular connector. It just “passes straight through”.

What you can do as an intermediate step is build the adapter but don’t hook up any of the wires to the esp (you can leave them “hanging”). Then plug the handset into the adapter, and the adapter into the controller, and just check that the handset still works with the new dongle in the middle.

Then you can work on getting the esp running.

1 Like

So I built it and it *mostly *works! I’ve used the exact same config you posted, except that I changed it to my Wifi credentials. Below is a screenshot of how it looks

Model
Fully Jarvis Standing Desk

What works

  • Raise desk switch
  • Lower desk switch
  • Stop Desk

What doesn’t work

  • Go to Desk Height (it actually moves the desk but not to the 80cm height is set up, it just raises the desk non-stop up until 130 (that’s what it shows on the controller screen)… no matter what target you input
  • Desk Height and Moving sensors
  • Request Desk Height

Logs when I hit the “Request Desk Height” switch

[14:00:19][VV][api.service:558]: on_switch_command_request: SwitchCommandRequest {
  key: 2153922382
  state: YES
}
[14:00:19][D][switch:013]: 'Request Desk Height' Turning ON.
[14:00:19][D][switch:037]: 'Request Desk Height': Sending state ON
[14:00:19][VV][scheduler:026]: set_timeout(name='', timeout=100)
[14:00:19][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: YES
}
[14:00:19][VV][scheduler:195]: Running timeout '' with interval=100 last_execution=6133413 (now=6133513)
[14:00:19][D][switch:017]: 'Request Desk Height' Turning OFF.
[14:00:19][D][switch:037]: 'Request Desk Height': Sending state OFF
[14:00:19][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: NO
}

Logs, when I hit the “Go To Desky Height X” button

[14:02:27][VV][api.service:678]: on_button_command_request: ButtonCommandRequest {
  key: 3728488043
}
[14:02:27][D][button:013]: 'Go To Desky Height x' Pressed.
[14:02:27][D][switch:013]: 'Raise Desk' Turning ON.
[14:02:27][D][switch:037]: 'Raise Desk': Sending state ON
[14:02:27][VV][scheduler:026]: set_timeout(name='', timeout=15000)
[14:02:27][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 529781321
  state: YES
}
[14:02:29][VV][api.service:558]: on_switch_command_request: SwitchCommandRequest {
  key: 529781321
  state: NO
}

I’m not sure what else I can provide to debug this, but I would love to get the current height sensor working, as I’m planning to mix that with a presence sensor to create automation and to know how much time I spend sitting vs standing!

Thanks!

Could you enable the uart logging and send a sample of the uart messages you are receiving (if any).

ie if you uncomment/add this bit, are you getting uart messages in the logs and what are they? Also note my comment about a mislabeled pin below. Someone else had that too. I had to use the pin labelled tx and pin number 1. But you may have to use Rx / pin 3.

Also, is the 130 height one of your presets by chance?

uart:
  - id: desk_uart
    baud_rate: 9600
    rx_pin: 1 #Labelled TX on my D1mini clone (mislabelled?)
    ##You can uncomment the debug section below to see UART messages.
    # debug:
      # direction: RX
      # dummy_receiver: true
      # after:
        # bytes: 4
      # sequence:     
        # - lambda: UARTDebug::log_int(direction, bytes, ',');
 

Hey @Mahko_Mahko, thanks for your message. I’ve tested both and it seems to me the PIN 1 is the correct one. I’m attaching below the logs I get from UART debug when I hit the Get desk height switch

[08:31:12][VV][api.service:558]: on_switch_command_request: SwitchCommandRequest {
  key: 2153922382
  state: YES
}
[08:31:12][D][switch:013]: 'Request Desk Height' Turning ON.
[08:31:12][D][switch:037]: 'Request Desk Height': Sending state ON
[08:31:12][VV][scheduler:026]: set_timeout(name='', timeout=100)
[08:31:12][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: YES
}
[08:31:12][VV][scheduler:195]: Running timeout '' with interval=100 last_execution=145386 (now=145494)
[08:31:12][D][switch:017]: 'Request Desk Height' Turning OFF.
[08:31:12][D][switch:037]: 'Request Desk Height': Sending state OFF
[08:31:12][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: NO
}
[08:31:12][D][uart_debug:176]: <<< 242,242,1,3
[08:31:12][D][uart_debug:176]: <<< 4,55,15,78
[08:31:12][D][uart_debug:176]: <<< 126
[08:31:12][D][uart_debug:176]: <<< 242,242,1,3
[08:31:12][D][uart_debug:176]: <<< 4,55,15,78
[08:31:13][D][uart_debug:176]: <<< 126
[08:31:13][D][uart_debug:176]: <<< 242,242,1,3
[08:31:13][D][uart_debug:176]: <<< 4,55,15,78
[08:31:13][D][uart_debug:176]: <<< 126
[08:31:13][D][uart_debug:176]: <<< 242,242,1,3
[08:31:13][D][uart_debug:176]: <<< 4,55,15,78
[08:31:13][D][uart_debug:176]: <<< 126
[08:31:13][D][uart_debug:176]: <<< 242,242,1,3
[08:31:13][D][uart_debug:176]: <<< 4,55,15,78
[08:31:13][D][uart_debug:176]: <<< 126
[08:31:13][D][uart_debug:176]: <<< 242,242,1,3
[08:31:13][D][uart_debug:176]: <<< 4,55,15,78
[08:31:13][D][uart_debug:176]: <<< 126
[08:31:13][D][uart_debug:176]: <<< 242,242,1,3
[08:31:13][D][uart_debug:176]: <<< 4,55,15,78
[08:31:14][D][uart_debug:176]: <<< 126
[08:31:14][D][uart_debug:176]: <<< 242,242,1,3
[08:31:14][D][uart_debug:176]: <<< 4,55,15,78
[08:31:14][D][uart_debug:176]: <<< 126
[08:31:14][D][uart_debug:176]: <<< 242,242,1,3
[08:31:14][D][uart_debug:176]: <<< 4,55,15,78
[08:31:14][D][uart_debug:176]: <<< 126
[08:31:14][D][uart_debug:176]: <<< 242,242,1,3
[08:31:14][D][uart_debug:176]: <<< 4,55,15,78
[08:31:14][D][uart_debug:176]: <<< 126
[08:31:14][D][uart_debug:176]: <<< 242,242,1,3
[08:31:14][D][uart_debug:176]: <<< 4,55,15,78
[08:31:14][D][uart_debug:176]: <<< 126
[08:31:14][D][uart_debug:176]: <<< 242,242,1,3
[08:31:14][D][uart_debug:176]: <<< 4,55,15,78
[08:31:15][D][uart_debug:176]: <<< 126
[08:31:15][D][uart_debug:176]: <<< 242,242,1,3
[08:31:15][D][uart_debug:176]: <<< 4,55,15,78
[08:31:15][D][uart_debug:176]: <<< 126
[08:31:15][D][uart_debug:176]: <<< 242,242,1,3
[08:31:15][D][uart_debug:176]: <<< 4,55,15,78
[08:31:15][D][uart_debug:176]: <<< 126
[08:31:15][D][uart_debug:176]: <<< 242,242,1,3
[08:31:15][D][uart_debug:176]: <<< 4,55,15,78
[08:31:15][D][uart_debug:176]: <<< 126
[08:31:15][D][uart_debug:176]: <<< 242,242,1,3
[08:31:15][D][uart_debug:176]: <<< 4,55,15,78
[08:31:15][D][uart_debug:176]: <<< 126
[08:31:15][D][uart_debug:176]: <<< 242,242,1,3
[08:31:15][D][uart_debug:176]: <<< 4,55,15,78
[08:31:16][D][uart_debug:176]: <<< 126
[08:31:16][D][uart_debug:176]: <<< 242,242,1,3
[08:31:16][D][uart_debug:176]: <<< 4,55,15,78
[08:31:16][D][uart_debug:176]: <<< 126
[08:31:16][D][uart_debug:176]: <<< 242,242,1,3
[08:31:16][D][uart_debug:176]: <<< 4,55,15,78
[08:31:16][D][uart_debug:176]: <<< 126
[08:31:16][D][uart_debug:176]: <<< 242,242,1,3
[08:31:16][D][uart_debug:176]: <<< 4,55,15,78
[08:31:16][D][uart_debug:176]: <<< 126
[08:31:16][D][uart_debug:176]: <<< 242,242,1,3
[08:31:16][D][uart_debug:176]: <<< 4,55,15,78
[08:31:16][D][uart_debug:176]: <<< 126
[08:31:16][D][uart_debug:176]: <<< 242,242,1,3
[08:31:16][D][uart_debug:176]: <<< 4,55,15,78
[08:31:17][D][uart_debug:176]: <<< 126
[08:31:17][D][uart_debug:176]: <<< 242,242,1,3
[08:31:17][D][uart_debug:176]: <<< 4,55,15,78
[08:31:17][D][uart_debug:176]: <<< 126
[08:31:17][D][uart_debug:176]: <<< 242,242,1,3
[08:31:17][D][uart_debug:176]: <<< 4,55,15,78
[08:31:17][VV][api.service:470]: on_ping_request: PingRequest {}
[08:31:17][VV][api.service:043]: send_ping_response: PingResponse {}
[08:31:17][D][uart_debug:176]: <<< 126
[08:31:17][D][uart_debug:176]: <<< 242,242,1,3
[08:31:17][D][uart_debug:176]: <<< 4,55,15,78
[08:31:17][D][uart_debug:176]: <<< 126
[08:31:17][D][uart_debug:176]: <<< 242,242,1,3
[08:31:17][D][uart_debug:176]: <<< 4,55,15,78
[08:31:17][D][uart_debug:176]: <<< 126
[08:31:17][D][uart_debug:176]: <<< 242,242,1,3
[08:31:17][D][uart_debug:176]: <<< 4,55,15,78
[08:31:18][D][uart_debug:176]: <<< 126
[08:31:18][D][uart_debug:176]: <<< 242,242,1,3
[08:31:18][D][uart_debug:176]: <<< 4,55,15,78
[08:31:18][D][uart_debug:176]: <<< 126
[08:31:18][D][uart_debug:176]: <<< 242,242,1,3
[08:31:18][D][uart_debug:176]: <<< 4,55,15,78
[08:31:18][D][uart_debug:176]: <<< 126
[08:31:18][D][uart_debug:176]: <<< 242,242,1,3
[08:31:18][D][uart_debug:176]: <<< 4,55,15,78
[08:31:18][D][uart_debug:176]: <<< 126
[08:31:18][D][uart_debug:176]: <<< 242,242,1,3
[08:31:18][D][uart_debug:176]: <<< 4,55,15,78
[08:31:18][D][uart_debug:176]: <<< 126
[08:31:18][D][uart_debug:176]: <<< 242,242,1,3
[08:31:18][D][uart_debug:176]: <<< 4,55,15,78
[08:31:19][D][uart_debug:176]: <<< 126
[08:31:19][D][uart_debug:176]: <<< 242,242,1,3
[08:31:19][D][uart_debug:176]: <<< 4,55,15,78
[08:31:19][D][uart_debug:176]: <<< 126
[08:31:19][D][uart_debug:176]: <<< 242,242,1,3
[08:31:19][D][uart_debug:176]: <<< 4,55,15,78
[08:31:19][D][uart_debug:176]: <<< 126
[08:31:19][D][uart_debug:176]: <<< 242,242,1,3
[08:31:19][D][uart_debug:176]: <<< 4,55,15,78
[08:31:19][D][uart_debug:176]: <<< 126
[08:31:19][D][uart_debug:176]: <<< 242,242,1,3
[08:31:19][D][uart_debug:176]: <<< 4,55,15,78
[08:31:19][D][uart_debug:176]: <<< 126
[08:31:19][D][uart_debug:176]: <<< 242,242,1,3
[08:31:19][D][uart_debug:176]: <<< 4,55,15,78
[08:31:20][D][uart_debug:176]: <<< 126
[08:31:20][D][uart_debug:176]: <<< 242,242,1,3
[08:31:20][D][uart_debug:176]: <<< 4,55,15,78
[08:31:20][D][uart_debug:176]: <<< 126
[08:31:20][D][uart_debug:176]: <<< 242,242,1,3
[08:31:20][D][uart_debug:176]: <<< 4,55,15,78
[08:31:20][D][uart_debug:176]: <<< 126
[08:31:20][D][uart_debug:176]: <<< 242,242,1,3
[08:31:20][D][uart_debug:176]: <<< 4,55,15,78
[08:31:20][D][uart_debug:176]: <<< 126
[08:31:20][D][uart_debug:176]: <<< 242,242,1,3
[08:31:20][D][uart_debug:176]: <<< 4,55,15,78
[08:31:20][D][uart_debug:176]: <<< 126
[08:31:20][D][uart_debug:176]: <<< 242,242,1,3
[08:31:20][D][uart_debug:176]: <<< 4,55,15,78
[08:31:21][D][uart_debug:176]: <<< 126
[08:31:21][D][uart_debug:176]: <<< 242,242,1,3
[08:31:21][D][uart_debug:176]: <<< 4,55,15,78
[08:31:21][D][uart_debug:176]: <<< 126
[08:31:21][D][uart_debug:176]: <<< 242,242,1,3
[08:31:21][D][uart_debug:176]: <<< 4,55,15,78
[08:31:21][D][uart_debug:176]: <<< 126
[08:31:21][D][uart_debug:176]: <<< 242,242,1,3
[08:31:21][D][uart_debug:176]: <<< 4,55,15,78
[08:31:21][D][uart_debug:176]: <<< 126
[08:31:21][VV][api.service:470]: on_ping_request: PingRequest {}
[08:31:21][VV][api.service:043]: send_ping_response: PingResponse {}
[08:31:21][D][uart_debug:176]: <<< 242,242,1,3
[08:31:21][D][uart_debug:176]: <<< 4,55,15,78
[08:31:21][D][uart_debug:176]: <<< 126
[08:31:21][D][uart_debug:176]: <<< 242,242,1,3
[08:31:21][D][uart_debug:176]: <<< 4,55,15,78
[08:31:22][D][uart_debug:176]: <<< 126
[08:31:22][D][uart_debug:176]: <<< 242,242,1,3
[08:31:22][D][uart_debug:176]: <<< 4,55,15,78
[08:31:22][D][uart_debug:176]: <<< 126
[08:31:22][D][uart_debug:176]: <<< 242,242,1,3
[08:31:22][D][uart_debug:176]: <<< 4,55,15,78
[08:31:22][D][uart_debug:176]: <<< 126
[08:31:22][D][uart_debug:176]: <<< 242,242,1,3
[08:31:22][D][uart_debug:176]: <<< 4,55,15,78
[08:31:22][D][uart_debug:176]: <<< 126

Now that is quite interesting. Are you connected to the controller via a rj45 port (8 pins) or a rj12 port (6 or 4 pins?). Do you have multiple ports on your control box?

Could you please:

  1. Change your UART debug config to similar to in this post (should just be the ‘bytes: 9’ part that matters). And get familiar with the post. Desky Standing Desk (ESPHome) [Works with Desky, Uplift, Jiecang, Assmann & others] - #23 by Mahko_Mahko
  2. Then repeat what you did with the above get desk height (and provide sample logs) then…
  3. Make your desk move via the regular handset (and provide sample logs).

You appear to be recieving the bluetooth port protocol (which has been decoded). Take a look at your messages and do a few Excel calcs and see if you can confirm that your desk height is valid.


I think we’ll crack this, it’s just whether it’s easy or needs a bit more work…

Hey!
Just Updated the ESP with that new value. I’m using the RJ45 as it’s the original connection on the headset, on RJ12 it won’t fit!

Log for get height


[09:38:48][VV][api.service:558]: on_switch_command_request: SwitchCommandRequest {
  key: 2153922382
  state: YES
}
[09:38:48][D][switch:013]: 'Request Desk Height' Turning ON.
[09:38:48][D][switch:037]: 'Request Desk Height': Sending state ON
[09:38:48][VV][scheduler:026]: set_timeout(name='', timeout=100)
[09:38:48][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: YES
}
[09:38:48][VV][scheduler:195]: Running timeout '' with interval=100 last_execution=61419 (now=61526)
[09:38:48][D][switch:017]: 'Request Desk Height' Turning OFF.
[09:38:48][D][switch:037]: 'Request Desk Height': Sending state OFF
[09:38:48][VV][api.service:156]: send_switch_state_response: SwitchStateResponse {
  key: 2153922382
  state: NO
}
[09:38:48][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:48][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:48][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:48][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:49][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:49][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:49][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:49][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:49][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:50][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:50][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:50][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:50][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:50][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:51][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:51][VV][api.service:470]: on_ping_request: PingRequest {}
[09:38:51][VV][api.service:043]: send_ping_response: PingResponse {}
[09:38:51][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:51][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:51][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:51][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:52][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:52][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:52][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:52][VV][scheduler:195]: Running interval 'update' with interval=60000 last_execution=5844 (now=65844)
[09:38:52][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:52][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:53][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:53][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:53][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:53][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:53][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:54][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:54][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:54][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:54][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:54][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:55][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:55][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:55][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:55][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:55][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:38:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126

Logs when moving the desk with the headset (using the arrow down in this case)

[09:39:56][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:57][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:58][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:39:59][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:40:00][D][uart_debug:176]: <<< 242,242,1,3,4,59,15,82,126
[09:40:00][D][uart_debug:176]: <<< 242,242,1,3,4,58,15,81,126
[09:40:00][D][uart_debug:176]: <<< 242,242,1,3,4,53,15,76,126
[09:40:00][D][uart_debug:176]: <<< 242,242,1,3,4,46,15,69,126
[09:40:01][D][uart_debug:176]: <<< 242,242,1,3,4,39,15,62,126
[09:40:01][D][uart_debug:176]: <<< 242,242,1,3,4,32,15,55,126
[09:40:01][D][uart_debug:176]: <<< 242,242,1,3,4,25,15,48,126
[09:40:01][D][uart_debug:176]: <<< 242,242,1,3,4,17,15,40,126
[09:40:01][VV][api.service:470]: on_ping_request: PingRequest {}
[09:40:01][VV][api.service:043]: send_ping_response: PingResponse {}
[09:40:01][D][uart_debug:176]: <<< 242,242,1,3,4,10,15,33,126
[09:40:02][D][uart_debug:176]: <<< 242,242,1,3,4,3,15,26,126
[09:40:02][D][uart_debug:176]: <<< 242,242,1,3,3,251,15,17,126
[09:40:02][D][uart_debug:176]: <<< 242,242,1,3,3,244,15,10,126
[09:40:02][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:02][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:03][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:03][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:03][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:03][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:03][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:04][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:04][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:04][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:04][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:04][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:05][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:05][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:05][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:05][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:06][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:06][VV][api.service:470]: on_ping_request: PingRequest {}
[09:40:06][VV][api.service:043]: send_ping_response: PingResponse {}
[09:40:06][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:06][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:06][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:06][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:07][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:07][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:07][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:07][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:07][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:08][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126
[09:40:08][D][uart_debug:176]: <<< 242,242,1,3,3,239,15,5,126

Also yes, looks like the calculations shows the correct value vs the headset
image

Right!

I think your desk will work, but it seems to use the “alternative protocol”, which is the first I’ve seen of that and it’s not supported in the current solution!

I think we need to get some advice from @ssieb on the best way forward.

I think it will be a feature request to switch between two alternatvie protocols. They are very similar.

I can help write up a summary of it and hopefully ssieb will help us work through it on the Discord thread.

You should set up a Discord and GitHub account if you don’t have them.

I need to rest now and I may not get to it for a day or so.

1 Like

There is some very interesting info on Jarvis desks in this project.

Apparently some Jarvis with the simple handset use the alternative protocol.

1 Like

I’ve pinged @ssieb on Discord and we’ll see what they reckon.

1 Like

Thank you so much, I was planning to do it over the weekend but I could have not explained it as well as you did!

1 Like

That’s a great makeover! I didn’t know tables with such control panels existed. It would be really lovely to have an adjustable table like this. I’m tall, and most regular tables are too short for me, which affects my back’s health.
That’s why I want a table with an electrical adjustment mechanism in it, just like this one https://eurekaergonomic.com/gaming-desk-l60-60-pink-l-shаped-left-erk-l60l-pk/. I like the design a lot and the L-shape is what I need in my room. It would fit just right in the corner of my room.
What are the drawbacks of such tables, if there are some?

Hey all, so I got all my parts, but I think i’m confusing myself with the wires. First, my ethernet cable to sacrifice is one of the yellow ones, and the internal wires are different colour.

This is from the controller box:

and this is what I made(!)




When I plug this in as a bypass, my desk just goes straight down, and my control pad becomes unresponsive.

I have NOT programmed the D1 yet (I don’t even know how), but I was hoping that if this was a true by-pass, I could still use my desk normally.

Any ideas? Did I cross something?

thanks

Try this as a next step.

Disconnect the duponts from D1 mini. You can leave the wires “hanging”.

First try to establish a working passthrough that doesn’t involve the esp at all. Eg it should simply be passing through to the wires between the handset and controller (a bit like an extension cord)

Check that the order of your wires of your sacrificed ethernet cable “run straight through”.

Your first goal is to insert this rig which just retains original hanset functionality and behaviour, without esp involved at all…