All Projects → abcminiuser → python-homeassistant-streamdeck

abcminiuser / python-homeassistant-streamdeck

Licence: other
Python client to control a HomeAssistant instance using an Elgato Stream Deck controller.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-homeassistant-streamdeck

streamdeck-dcs
Plugin for Stream Deck to send controls to DCS.
Stars: ✭ 19 (-54.76%)
Mutual labels:  streamdeck
go-streamdeck
Go interface to an Elgato Streamdeck
Stars: ✭ 44 (+4.76%)
Mutual labels:  streamdeck
AutoHotStreamDeck
An AutoHotkey wrapper for interacting with the Elgato Stream Deck
Stars: ✭ 57 (+35.71%)
Mutual labels:  streamdeck
streamdeck-unity
Enables Stream Deck integration with Unity.
Stars: ✭ 22 (-47.62%)
Mutual labels:  streamdeck
KMlink
Streamdeck plugin to drive Keyboard Maestro
Stars: ✭ 100 (+138.1%)
Mutual labels:  streamdeck
streamdeck-stopwatch
C# Stopwatch implementation for the Elgato Stream Deck device
Stars: ✭ 20 (-52.38%)
Mutual labels:  streamdeck
ElgatoLegacy
Use your Elgato Stream Deck on Windows 7, 8 and 8.1!
Stars: ✭ 25 (-40.48%)
Mutual labels:  streamdeck
streamdeck-cpu
Stream Deck SDK: CPU sample plugin
Stars: ✭ 103 (+145.24%)
Mutual labels:  streamdeck
streamdeck keyboard maestro
A Streamdeck plugin for Keyboard Maestro integration
Stars: ✭ 20 (-52.38%)
Mutual labels:  streamdeck
streamdeck-discord-message
A Stream Deck plugin that sends a message to a Discord channel.
Stars: ✭ 26 (-38.1%)
Mutual labels:  streamdeck
streamdeck-plugintemplate
Stream Deck SDK: Plugin Template
Stars: ✭ 211 (+402.38%)
Mutual labels:  streamdeck
StreamDeckMonitor
Customizable C# app to display Real-Time System Statistics on the Elgato 'Stream Deck' Device
Stars: ✭ 36 (-14.29%)
Mutual labels:  streamdeck
streamdeck
Golang API for the Corsair / Elgato StreamDeck
Stars: ✭ 46 (+9.52%)
Mutual labels:  streamdeck
deckmaster
An application to control your Elgato Stream Deck on Linux
Stars: ✭ 106 (+152.38%)
Mutual labels:  streamdeck
streamdeck-stockticker
Stock Ticker plugin for Stream Deck
Stars: ✭ 29 (-30.95%)
Mutual labels:  streamdeck
icalbuddy-km-and-stream-deck
Use icalBuddy and Keyboard Maestro to show calendar events on Stream Deck
Stars: ✭ 40 (-4.76%)
Mutual labels:  streamdeck

Python Elgato HomeAssistant Client

Example Deck

This is an open source Python 3 application to control a Home Assistant home automation instance remotely, via an Elgato Stream Deck. This client is designed to be able to run run cross-platform, so that the StreamDeck can be connected to both full PCs as well as stand-alone Raspberry Pis.

Unlike the official software client, which can be made to integrate with Home Assistant via it's "Open Website" command macros, this client supports dynamic updates of the button images to reflect the current entity states.

Status:

Working. You can define your own page layout in the configuration YAML file, and attach HomeAssistant lights and other entities to buttons on the StreamDeck. The current state of the entity can be shown on the button in both text form, as as image form (live button state updates are supported). The HomeAssistant action to trigger when a button is pressed is also configurable.

This is my first asyncio project, and I'm not familiar with the technology, so everything can be heavily improved. If you know asyncio, please submit patches to help me out!

Nothing is robust yet, and the configuration format used in the config.yaml file is not yet documented.

Dependencies:

Python

Python 3.8 or newer is required. On Debian systems, this can usually be installed via:

sudo apt install python3 python3-pip

Python Libraries

You will need to have the following libraries installed:

StreamDeck, my own library to interface to StreamDeck devices:

pip3 install StreamDeck

Pillow, the Python Image Library (PIL) fork, for dynamic tile image creation:

pip3 install pillow

aiohttp, for Websocket communication with Home Assistant:

pip3 install aiohttp

PyYAML, for configuration file parsing:

pip3 install pyyaml

License:

Released under the MIT license:

Permission to use, copy, modify, and distribute this software
and its documentation for any purpose is hereby granted without
fee, provided that the above copyright notice appear in all
copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.

The author disclaims all warranties with regard to this
software, including all implied warranties of merchantability
and fitness.  In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].