Stream deck inspired interactive dashboard for Talon Voice
Exposes a responsive webpage where the user can monitor and control Talon. The perfect use case for a spare phone or tablet!
Note If you find this repository helpful, consider sponsoring!
- Install
talon_deck_integration.py
in the Talon user directory. - Add implementation of Talon action
user.talon_deck_get_buttons()
- My implementation is available at
talon_deck_buttons.py
Note that some of theuser.
actions may be lacking from your system
- My implementation is available at
- Install dependencies for node server
npm install
- Build node server
npm run build
- Start node server
npm start
- Open Talon deck at http://localhost:3000
Before building the node server settings can be set in settings.ts
By default the node server is bound to localhost
. To enable network access change the host
field in the settings file. Either to the computers specific IP address, eg 192.168.1.100
, or allow any address by 0.0.0.0
. It's highly recommended to enable basicAuth
for anything other than localhost.
Basic auth
can be enabled in the settings file by setting a username and password.
talon_deck_integration.py
in the Talon user directory keeps track of changing states in Talon and updates a JSON file in the systems temp directory.- The node server watches for changes in the JSON file and via web sockets updates the webpage.
- On every update the Talon actions gets converted into a UUID called
actionId
that are sent to the webpage. The Talon actions never leave the server and theactionId
becomes invalid after each update. - When the user presses the icon the
actionId
is sent to the server, converted back to the Talon action and piped into the Talon repl.
This software allows you to execute actions in Talon over the network. That means that if you change the host setting from localhost
any one with access to your local network can use it. There is support for Basic auth
which is recommended to use for network access, but even that isn't particularly secure by today's standard. I strongly recommend not to put any "destructive actions" on your deck. Especially if you enable network access.