Skip to main content

Control your Sisyphus kinetic art tables (sisyphus-industries.com)

Project description

Control your Sisyphus Kinetic Art Table from Python 3.6 with asyncio!

This initial release is mainly targeting the functionality needed for basic integrations with home automation systems such as Home Assistant:

  • Status queries (playing/paused/current playlist/current/track/brightness/speed)

  • Play controls (play/pause/shuffle/loop/set playlist/set track)

  • Table controls (movement speed, LED brightness)

Usage example

Finding tables on your network

To find the IP addresses of all tables on your local network. This is a very naive search; it assumes your subnet mask is 255.255.255.0:

from sisyphus_control import Table

ip_addrs = await Table.find_table_ips()

Once you know the IP address, connect to the table:

async with await Table.connect(ip_addr) as Table:
  # Do stuff here

Change notifications

Register for state change notifications:

table.add_listener(my_listener)

Basic controls

In addition to a bunch of properties for querying the current state of the table, Table has several methods that allow simple control:

await table.set_brightness(1.0)  # Set maximum LED brightness
await table.set_speed(0.5)  # Set half speed
await table.play()  # Resume playing (if not already playing)

Working with playlists and tracks

Playlist and Track objects represent playlists and tracks, respectively. The following code will start playing the Default Playlist, beginning at the track named “Hep” (note that neither playlists nor tracks are required to be uniquely named):

default_playlist = table.get_playlists_named("Default Playlist")[0]
hep_track = default_playlist.get_tracks_named("Hep")[0]
await hep_track.play()

Future opportunities

The following features would be reasonable to include; I’ll happily accept pull requests:

  • Playlist editing

  • Upload tracks to table

  • Track thumbnail rendering

  • Table administration (wifi settings, etc.)

  • Interactions with Sisyphus cloud

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sisyphus_control-3.1.4.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

sisyphus_control-3.1.4-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file sisyphus_control-3.1.4.tar.gz.

File metadata

  • Download URL: sisyphus_control-3.1.4.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for sisyphus_control-3.1.4.tar.gz
Algorithm Hash digest
SHA256 0709497a49c064778ec1ea2e39f57b5596fd181946a3fd86e71adfe9f1d77d50
MD5 bb017ddd0b00d543c3d69ad2c3aa62d8
BLAKE2b-256 745361ebc281e9e06baca81c06980253e683b8e2e387612fb25dec3e1a75df53

See more details on using hashes here.

File details

Details for the file sisyphus_control-3.1.4-py3-none-any.whl.

File metadata

  • Download URL: sisyphus_control-3.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for sisyphus_control-3.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6fcf85795ddc7b98830bf0f13f4c7bf6c4604f97ea9c8af1745ae6d7a6dd7701
MD5 e593019cde93c65f8b728658c6c507e8
BLAKE2b-256 9f24c49783028814cc591efa614ecfa9f29f2ffc6b925ba1a5bf761501fff239

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page