j5lien / esphome-idasen-desk-controller

ESPHome component for Ikea Idasen desk control
MIT License
187 stars 36 forks source link

Are you open to being sponsord? #49

Open hco opened 1 year ago

hco commented 1 year ago

Hey Julien, a friend & me have desks that could be compatible to your ESP-Home-Component, but it doesn't work reliably. Would you be willing to work on this for a bit of money? :)

Our controllers are probably called dpg1m30.

arough007 commented 1 year ago

Hey, I'm the friend.

Here is the config ``` esphome: name: desk esp32: board: esp32dev framework: type: arduino external_components: - source: github://j5lien/esphome-idasen-desk-controller@v3.0.0 # Enable logging logger: # Enable Home Assistant API api: encryption: key: "xxxxxxxx" ota: password: "xxxxxxxxxxx" wifi: ssid: !secret wifi_ssid password: !secret wifi_password manual_ip: static_ip: 192.168.2.216 gateway: 192.168.2.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Desk Fallback Hotspot" password: "wKcXidfbjOkM" captive_portal: esp32_ble_tracker: ble_client: - mac_address: "d2:f5:86:aa:72:25" # Replace with the desk bluetooth mac address id: desk_home idasen_desk_controller: # Reference to the ble client component id # ----------- # Required ble_client_id: desk_home only_up_down_command: false cover: - platform: idasen_desk_controller name: "Desk" ```
And here is the log ``` INFO Reading configuration /config/tisch-max-wz.yaml... INFO Updating https://github.com/j5lien/esphome-idasen-desk-controller.git@v3.0.0 INFO Starting log output from 192.168.2.216 using esphome API WARNING Can't connect to ESPHome API for 192.168.2.216: Error connecting to ('192.168.2.216', 6053): [Errno 113] Connect call failed ('192.168.2.216', 6053) INFO Trying to reconnect to 192.168.2.216 in the background INFO Successfully connected to 192.168.2.216 [20:09:07][I][app:102]: ESPHome version 2022.6.2 compiled on Jul 21 2022, 23:01:01 [20:09:07][C][wifi:491]: WiFi: [20:09:07][C][wifi:353]: Local MAC: 11:11:11:11:11:11 [20:09:07][C][wifi:354]: SSID: ''[redacted] [20:09:07][C][wifi:355]: IP Address: 192.168.2.216 [20:09:07][C][wifi:357]: BSSID:[redacted] [20:09:07][C][wifi:358]: Hostname: 'desk' [20:09:07][C][wifi:360]: Signal strength: -44 dB ▂▄▆█ [20:09:07][C][wifi:364]: Channel: 11 [20:09:07][C][wifi:365]: Subnet: 255.255.255.0 [20:09:07][C][wifi:366]: Gateway: 192.168.2.1 [20:09:07][C][wifi:367]: DNS1: 0.0.0.0 [20:09:07][C][wifi:368]: DNS2: 0.0.0.0 [20:09:07][C][logger:275]: Logger: [20:09:07][C][logger:276]: Level: DEBUG [20:09:07][C][logger:277]: Log Baud Rate: 115200 [20:09:07][C][logger:278]: Hardware UART: UART0 [20:09:07][C][esp32_ble_tracker:712]: BLE Tracker: [20:09:07][C][esp32_ble_tracker:713]: Scan Duration: 300 s [20:09:07][C][esp32_ble_tracker:714]: Scan Interval: 320.0 ms [20:09:07][C][esp32_ble_tracker:715]: Scan Window: 30.0 ms [20:09:07][C][esp32_ble_tracker:716]: Scan Type: ACTIVE [20:09:07][C][ble_client:035]: BLE Client: [20:09:07][C][ble_client:036]: Address: d2:f5:86:aa:72:25 [20:09:07][C][captive_portal:088]: Captive Portal: [20:09:07][C][mdns:084]: mDNS: [20:09:07][C][mdns:085]: Hostname: desk [20:09:07][C][ota:085]: Over-The-Air Updates: [20:09:07][C][ota:086]: Address: 192.168.2.216:3232 [20:09:07][C][ota:089]: Using Password. [20:09:07][C][api:138]: API Server: [20:09:07][C][api:139]: Address: 192.168.2.216:6053 [20:09:07][C][api:141]: Using noise encryption: YES [20:09:07][C][idasen_desk_controller:024]: Idasen Desk Controller: [20:09:07][C][idasen_desk_controller:025]: MAC address : d2:f5:86:aa:72:25 [20:09:07][C][idasen_desk_controller:026]: Notifications : disable [20:09:07][C][idasen_desk_controller:027]: Desk 'Desk' [20:09:11][I][ble_client:170]: Service UUID: 0x1800 [20:09:11][I][ble_client:171]: start_handle: 0x1 end_handle: 0x7 [20:09:11][I][ble_client:383]: characteristic 0x2A00, handle 0x3, properties 0xa [20:09:11][I][ble_client:383]: characteristic 0x2A01, handle 0x5, properties 0x2 [20:09:11][I][ble_client:383]: characteristic 0x2A04, handle 0x7, properties 0x2 [20:09:11][I][ble_client:170]: Service UUID: 0x1801 [20:09:11][I][ble_client:171]: start_handle: 0x8 end_handle: 0xb [20:09:11][I][ble_client:383]: characteristic 0x2A05, handle 0xa, properties 0x20 [20:09:11][I][ble_client:170]: Service UUID: 99FA0001-338A-1024-8A49-009C0215F78A [20:09:11][I][ble_client:171]: start_handle: 0xc end_handle: 0x11 [20:09:11][I][ble_client:383]: characteristic 99FA0002-338A-1024-8A49-009C0215F78A, handle 0xe, properties 0xc [20:09:11][I][ble_client:383]: characteristic 99FA0003-338A-1024-8A49-009C0215F78A, handle 0x10, properties 0x12 [20:09:11][I][ble_client:170]: Service UUID: 99FA0010-338A-1024-8A49-009C0215F78A [20:09:11][I][ble_client:171]: start_handle: 0x12 end_handle: 0x15 [20:09:11][I][ble_client:383]: characteristic 99FA0011-338A-1024-8A49-009C0215F78A, handle 0x14, properties 0x1e [20:09:11][I][ble_client:170]: Service UUID: 0x180A [20:09:11][I][ble_client:171]: start_handle: 0x16 end_handle: 0x1a [20:09:11][I][ble_client:383]: characteristic 0x2A29, handle 0x18, properties 0x2 [20:09:11][I][ble_client:383]: characteristic 0x2A24, handle 0x1a, properties 0x2 [20:09:11][I][ble_client:170]: Service UUID: 99FA0020-338A-1024-8A49-009C0215F78A [20:09:11][I][ble_client:171]: start_handle: 0x1b end_handle: 0x37 [20:09:11][I][ble_client:383]: characteristic 99FA0021-338A-1024-8A49-009C0215F78A, handle 0x1d, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0022-338A-1024-8A49-009C0215F78A, handle 0x20, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0023-338A-1024-8A49-009C0215F78A, handle 0x23, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0024-338A-1024-8A49-009C0215F78A, handle 0x26, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0025-338A-1024-8A49-009C0215F78A, handle 0x29, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0026-338A-1024-8A49-009C0215F78A, handle 0x2c, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0027-338A-1024-8A49-009C0215F78A, handle 0x2f, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0028-338A-1024-8A49-009C0215F78A, handle 0x32, properties 0x12 [20:09:11][I][ble_client:383]: characteristic 99FA0029-338A-1024-8A49-009C0215F78A, handle 0x35, properties 0x2 [20:09:11][I][ble_client:383]: characteristic 99FA002A-338A-1024-8A49-009C0215F78A, handle 0x37, properties 0x2 [20:09:11][I][ble_client:170]: Service UUID: 99FA0030-338A-1024-8A49-009C0215F78A [20:09:11][I][ble_client:171]: start_handle: 0x38 end_handle: 0xffff [20:09:11][I][ble_client:383]: characteristic 99FA0031-338A-1024-8A49-009C0215F78A, handle 0x3a, properties 0xc [20:09:11][I][ble_client:383]: characteristic 99FA0032-338A-1024-8A49-009C0215F78A, handle 0x3c, properties 0xc [20:09:11][I][ble_client:383]: characteristic 99FA0033-338A-1024-8A49-009C0215F78A, handle 0x3e, properties 0xc [20:09:11][I][ble_client:383]: characteristic 99FA0034-338A-1024-8A49-009C0215F78A, handle 0x40, properties 0xc [20:09:11][D][esp32_ble_tracker:217]: Starting scan... [20:09:12][D][esp32_ble_tracker:726]: Found device 55:2A:F7:67:25:EF RSSI=-58 [20:09:12][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:12][D][esp32_ble_tracker:751]: TX Power: 2 [20:09:13][D][esp32_ble_tracker:726]: Found device 0F:B2:D8:FB:10:06 RSSI=-58 [20:09:13][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:16][D][esp32_ble_tracker:726]: Found device D2:F5:86:AA:72:25 RSSI=-71 [20:09:16][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:16][D][esp32_ble_tracker:751]: TX Power: 2 [20:09:17][D][esp32_ble_tracker:726]: Found device 7E:54:01:A7:5E:00 RSSI=-70 [20:09:17][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:17][D][cover:170]: 'Desk' - Publishing: [20:09:17][D][cover:173]: Position: 34% [20:09:17][D][cover:186]: Current Operation: IDLE [20:09:19][D][esp32_ble_tracker:726]: Found device E9:67:59:00:AE:B3 RSSI=-71 [20:09:19][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:24][D][esp32_ble_tracker:726]: Found device 56:E2:F1:85:7F:59 RSSI=-53 [20:09:24][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:24][D][esp32_ble_tracker:751]: TX Power: 2 [20:09:30][D][esp32_ble_tracker:726]: Found device C7:9D:42:52:8F:C3 RSSI=-87 [20:09:30][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:33][D][esp32_ble_tracker:726]: Found device A4:C1:38:CD:DA:15 RSSI=-84 [20:09:33][D][esp32_ble_tracker:747]: Address Type: PUBLIC [20:09:33][D][esp32_ble_tracker:749]: Name: 'ATC_SZ' [20:09:33][D][esp32_ble_tracker:726]: Found device C0:DC:50:B1:C8:6D RSSI=-53 [20:09:33][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:36][D][esp32_ble_tracker:726]: Found device 58:B6:23:0A:55:E4 RSSI=-75 [20:09:36][D][esp32_ble_tracker:747]: Address Type: PUBLIC [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 34% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 34% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 34% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 34% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 34% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 35% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:47][D][cover:170]: 'Desk' - Publishing: [20:09:47][D][cover:173]: Position: 35% [20:09:47][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 35% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 35% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 35% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: OPENING [20:09:48][D][cover:170]: 'Desk' - Publishing: [20:09:48][D][cover:173]: Position: 36% [20:09:48][D][cover:186]: Current Operation: IDLE [20:09:48][D][esp32_ble_tracker:726]: Found device A4:C1:38:CB:7F:89 RSSI=-73 [20:09:48][D][esp32_ble_tracker:747]: Address Type: PUBLIC [20:09:48][D][esp32_ble_tracker:749]: Name: 'ATC_WZ' [20:09:51][D][cover:076]: 'Desk' - Setting [20:09:51][D][cover:084]: Position: 97% [20:09:51][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:51][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:51][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:51][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:52][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:52][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:52][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:52][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:52][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:53][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:53][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:53][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:53][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:53][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:54][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:54][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:54][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:54][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:54][D][esp32_ble_tracker:726]: Found device 32:36:26:E4:FB:89 RSSI=-86 [20:09:54][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:55][D][idasen_desk_controller:217]: Update Desk - Move from 36 to 97 [20:09:55][D][cover:170]: 'Desk' - Publishing: [20:09:55][D][cover:173]: Position: 36% [20:09:55][D][cover:186]: Current Operation: CLOSING [20:09:55][D][idasen_desk_controller:200]: Update Desk - target reached [20:09:55][D][esp32_ble_tracker:726]: Found device 46:5E:63:55:71:E6 RSSI=-84 [20:09:55][D][esp32_ble_tracker:747]: Address Type: RANDOM [20:09:55][D][cover:170]: 'Desk' - Publishing: [20:09:55][D][cover:173]: Position: 36% [20:09:55][D][cover:186]: Current Operation: CLOSING [20:09:55][D][cover:170]: 'Desk' - Publishing: [20:09:55][D][cover:173]: Position: 36% [20:09:55][D][cover:186]: Current Operation: IDLE ```

The move on 20:09:47 is me pushing the physical buttons on the desk. 20:09:51 is a press on the Linak desk card in HA. 20:09:55 is me pushing the physical button again.

j5lien commented 1 year ago

Thank you for the offer but at the moment I don't have time to work on this project. Sorry