ikea IDÅSEN desk API and CLI.
Project description
This is a heavily modified fork of rhyst/idasen-controller.
The IDÅSEN is an electric sitting standing desk with a Linak controller sold by ikea.
The position of the desk can controlled by a physical switch on the desk or via bluetooth using an phone app.
This is a command line interface written in python to control the Idasen via bluetooth from a desktop computer.
Set Up
Prerequisites
The desk should be connected and paired to the computer.
Install
python3.8 -m pip install --upgrade idasen
Developers Install
Development is done with poetry, a virtual environment manager. First, install poetry using their guide.
Then install all the packages using poetry install:
poetry install
To install this as a command available from the system build the package then install it with pip:
poetry build
python3.8 -m pip install dist/idasen-0.2.0-py3-none-any.whl
Configuration
Configuration that is not expected to change frequency can be provided via a YAML configuration file located at ~/.config/idasen/idasen.yaml.
You can use this command to initialize a new configuartion file:
idasen init
Configuartion options:
mac_address - The MAC address of the desk. This is required.
stand_height - The standing height from the floor of the desk in meters.
sit_height - The standing height from the floor of the desk in meters.
The program will try to find the device address, but if it fails, it has to be done manually. Device MAC addresses can be found using blueoothctl and bluetooth adapter names can be found with hcitool dev on linux.
Usage
Command Line
To print the current desk height:
idasen height
To monitor for changes to height :
idasen monitor
Assuming the config file is populated to move the desk to standing position:
idasen stand
Assuming the config file is populated to move the desk to sitting position:
idasen sit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.