Skip to content

Stream Deck API Library for Home Assistant

License

Notifications You must be signed in to change notification settings

Patrick762/streamdeckapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPI version

streamdeckapi

Stream Deck API Library for Home Assistant Stream Deck Integration

Only compatible with separate Stream Deck Plugin or the bundled server.

Server

This library also contains a server to use the streamdeck with Linux or without the official Stream Deck Software.

For this to work, the following software is required:

Cairo Installation for Windows:

pip install pipwin

pipwin install cairocffi

Limitations

  • Slow icon updates on Raspberry Pi Zero
  • No doubleTap event

Installation on Linux / Raspberry Pi

Install requirements: sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0 libjpeg-dev zlib1g-dev libopenjp2-7 libtiff5 libgtk-3-dev python3-pip

Allow all users non-root access to Stream Deck Devices:

sudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0fd9", GROUP="users", TAG+="uaccess"
EOF

Reload access rules: sudo udevadm control --reload-rules

Install the package: pip install streamdeckapi

Reboot your system

Start the server: streamdeckapi-server

Example service

To run the server on startup, you can use the following config in the file /etc/systemd/system/streamdeckapi.service:

[Unit]
Description=Stream Deck API Service
Wants=network-online.target
After=network.target

[Service]
WorkingDirectory=/home/pi
ExecStart=/home/pi/.local/bin/streamdeckapi-server
User=pi
StandardOutput=console

[Install]
WantedBy=multi-user.target

To start the service, run sudo systemctl start streamdeckapi.service.

To enable the service, run sudo systemctl enable streamdeckapi.service.