Skip to content

Linak / IKEA IDÅSEN Desk Controller - Bluetooth C# Library

License

Notifications You must be signed in to change notification settings

jechtom/linak-desk-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linak / IKEA IDÅSEN Desk Controller - Bluetooth C# Library

This is library and a CLI (command line interface) tool to control Linak desks with bluetooth support. This unit is used in IKEA IDÅSEN desks. It should work fine with other LINAK desks, but I have not tested it.

Remark: Only IKEA IDÅSEN desks got interface made by LINAK. Cheaper desks from IKEA use different manufacturer.

Written in .NET/C#.

Pull requests welcome.

Reverse Engineering

See protocol.md.

Howto Use It

Compile it. And run LinakDeskCli.exe. Parameters:

# show help
LinakDeskCli.exe

# scan bluetooth devices
LinakDeskCli.exe scan

# list already paired bluetooth devices
LinakDeskCli.exe list

# connect and show info about Linak desk (where FFFFFFFFFFFF is ID of the desk)
LinakDeskCli.exe info FFFFFFFFFFFF

# move desk to the first height preset position
LinakDeskCli.exe move FFFFFFFFFFFF m1

# move desk to 40cm height position
LinakDeskCli.exe move FFFFFFFFFFFF 40cm

# set first height present to current desk position
LinakDeskCli.exe set FFFFFFFFFFFF 1=current

# set first height preset to 10cm, second to 70cm and reset third position
LinakDeskCli.exe set FFFFFFFFFFFF 1=10;2=70;3=reset

Remark: Use app to do initialy pairing if needed.

Missing Features

  • Pairing process.
  • User identification and desk offsets.
  • Setting name of the desk.

Setting Powershell Alias

You can create command aliases like desk-up or desk-down to perform move command.

# Edit profile file
notepad $PROFILE

# Add any custom functions you need. For example:
Function desk-down() { & 'E:\programs\linak-desk\LinakDeskCli' move FFFFFFFFFFFF m1 }
Function desk-up() { & 'E:\programs\linak-desk\LinakDeskCli' move FFFFFFFFFFFF m2 }

See it in action:

Sample Outputs

Sample info command output:

> LinakDeskCli.exe info FFFFFFFFFFFF
Connecting...
Height and speed: Height: 14,08cm; Speed: 0
Desk "Desk 1234" (Id=<<REDACTED>>, DeskType=Desk)
Capabilities: MemorySize=3;Flags=[BluetoothAllowed]
Memory: [1]=>14,06cm, [2]=>48,58cm, [3]=>51,40cm
Offset: 271,37cm
Position: Height: 14,08cm; Speed: 0
Connected.
Done.

Sample move command output:

> LinakDeskCli.exe move FFFFFFFFFFFF 2
Found. Connecting...
Height and speed: Height: 46,90cm; Speed: 0
Desk "Desk 1234" (Id=<<REDACTED>>, DeskType=Desk)
Capabilities: MemorySize=3;Flags=[BluetoothAllowed]
Memory: [1]=>14,06cm, [2]=>48,58cm, [3]=>51,40cm
Offset: 271,37cm
Position: Height: 46,90cm; Speed: 0
Connected.
Moving to memory position 2.
Height and speed: Height: 46,92cm; Speed: 704
Height and speed: Height: 46,95cm; Speed: 1072
Height and speed: Height: 46,99cm; Speed: 1360
Height and speed: Height: 47,05cm; Speed: 1712
Height and speed: Height: 47,12cm; Speed: 2080
Height and speed: Height: 47,21cm; Speed: 2448
Height and speed: Height: 47,31cm; Speed: 2800
Height and speed: Height: 47,40cm; Speed: 3088
Height and speed: Height: 47,52cm; Speed: 3456
Height and speed: Height: 47,66cm; Speed: 3616
Height and speed: Height: 47,79cm; Speed: 3680
Height and speed: Height: 47,93cm; Speed: 3712
Height and speed: Height: 48,05cm; Speed: 3648
Done.

Credits

Based on work from:

About

Linak / IKEA IDÅSEN Desk Controller - Bluetooth C# Library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages