Stream Deck API Library for Home Assistant Stream Deck Integration
Only compatible with separate Stream Deck Plugin or the bundled server.
The docker image allows you to use the streamdeckapi server inside a docker container.
docker run -v /dev/hidraw7:/dev/hidraw7 -v ./data/streamdeckapi:/streamdeckapi/data -p 6153:6153 --privileged ghcr.io/patrick762/streamdeckapi:main
Note: You have to change hidraw7
to the path of your Stream Deck. You can find this path by using lshid
(https://pypi.org/project/lshid/).
- No zeroconf discovery
- No
doubleTap
event
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:
- LibUSB HIDAPI Installation instructions or Installation instructions
- cairo Installation instructions for Windows
Cairo Installation for Windows:
pip install pipwin
pipwin install cairocffi
- No
doubleTap
event
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
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
.