• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created about 4 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python API and CLI for the ikea IDÅSEN desk.

idasen

PyPi Version Build Status Documentation Status Black

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 to the computer.

Install

python3 -m pip install --upgrade idasen

Configuration

Configuration that is not expected to change frequently 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
mac_address: AA:AA:AA:AA:AA:AA
positions:
    sit: 0.75
    stand: 1.1

Configuartion options:

  • mac_address - The MAC address of the desk. This is required.
  • positions - A dictionary of positions with values of desk height from the floor in meters, sit and stand are provided as examples.

The program will try to discover the device address. The device needs to be in 'discover' mode for this to work.

If discovery fails the device MAC addresses can be found using blueoothctl and bluetooth adapter names can be found with hcitool dev on linux.

If the device has not yet been paired, this can be accomplished with:

idasen pair

Again, the device will need to be in 'discover' mode for this to work.

Usage

Command Line

To print the current desk height:

idasen height

To monitor for changes to height:

idasen monitor

To save the current height as the sitting position:

idasen save sit

To delete the saved sitting position:

idasen delete sit

Assuming the config file is populated to move the desk to sitting position:

idasen sit

Community

Related projects and packaging:

More Repositories

1

LoadCellOccupany

Home automation occupancy sensor using load cells
C++
127
star
2

monitorcontrol

Python monitor controls using DDC-CI.
Python
113
star
3

w5500-rs

Embedded rust support for the Wiznet W5500 SPI internet offload chip
Rust
34
star
4

hisensetv

Python API to control Hisense brand TVs via their internal MQTT broker.
Python
33
star
5

hackrfone

Rust interface for the HackRF One software defined radio.
Rust
27
star
6

ambientsensor-rs

A rust re-implementation of an old embedded C project.
Rust
18
star
7

FanController

IR remote with Ethernet connectivity for home automation
C++
11
star
8

hisensetv_hass

Custom HomeAssistant component for Hisense televisions
Python
10
star
9

awry

Are we RTOS yet? A simple reckoning of Rust’s readiness for RTOS-related things.
Nix
8
star
10

stm32wl-unlock

Unlock the flash on STM32WL microcontrollers
Rust
8
star
11

esp-rs-nix

esp-rs tools packaged with nix
Nix
7
star
12

stm32wl-lightswitch-demo

Demo project for the stm32wlxx-hal
Rust
7
star
13

ftd2xx-embedded-hal

Implements the rust embedded-hal traits for FTDI devices.
Rust
7
star
14

nix-post-build-hook-queue

A Nix post-build-hook queue to sign and upload store paths.
Nix
6
star
15

bme280-multibus

Embedded rust driver for the Bosch BME280.
Rust
6
star
16

w5500-ll-rs

Low level rust driver for the Wiznet W5500 internet offload chip
5
star
17

stm32-cec

HDMI CEC driver for STM32 microcontrollers
Rust
4
star
18

AmbientSensor

Ambient Environment Sensor for Home Assistant
C
4
star
19

dp800

Rigol DP800 API and DP832 TUI
Rust
3
star
20

nucleo-wl55jc2-rs

Rust boilerplate for the Nucleo-WL55JC2 development board.
Rust
3
star
21

clap-num

clap v3/v4 number parsers
Rust
3
star
22

flake8-bitbucket

A flake8 plugin for bitbucket code insights.
Python
3
star
23

poe-addon

Simple board to add power over Ethernet to a project
Nix
2
star
24

nucleo-h743zi2-rs

Rust boilerplate for the Nucleo-H743ZI2 development board.
Rust
2
star
25

cast2svg

Create an animated SVG from an asciicast.
Rust
2
star
26

cover

A controller to automate my window shades
Python
2
star
27

newam-mqtt

Another incomplete rust crate for MQTT
Rust
2
star
28

corsairmi-rs

Read data from Corsair RMi and HXi series power supplies.
Rust
1
star
29

nixos-bpi-r4

NixOS on the Banana Pi BPI-R4
Nix
1
star
30

eeprom25aa02e48-rs

Platform agnostic Rust driver for the 25AA02E48 serial EEPROM device using embedded-hal traits.
Rust
1
star
31

stm32wl-subghz

Embedded rust driver for the STM32WL series sub-GHz radio peripheral.
Rust
1
star
32

setup

setup for my dotfiles
Shell
1
star