Skip to content

elgato-pi-deck-server - Is a local NodeJS Server Script to execute commands controlled by Elgato Stream Deck (connected to a Raspberry Pi). You can have one or several's NodeJS Server's.

License

Notifications You must be signed in to change notification settings

pablomenino/elgato-pi-deck-server

Repository files navigation

GitHub release GitHub license GitHub last commit GitHub repo size Contributors GitHub followers Twitter Follow

Welcome to elgato-pi-deck-server 👋

elgato-pi-deck-server - Is a local NodeJS Server Script to execute commands controlled by Elgato Stream Deck (Client software where Steram Deck is connected). You can have one or several's NodeJS Server's.

Table of contents

elgato-pi-deck-server - Is a local NodeJS Server Script to execute commands controlled by Elgato Stream Deck (Client software where Steram Deck is connected). You can have one or several's NodeJS Server's.

Requirements

  • NodeJS
  • NPM
  • libnotify

Installing NodeJS in Fedora:

Starting from Fedora 24, npm is a part of Node.js package and does not need to be installed separately. Therefore, to install both npm and Node.js, you need to run:

sudo dnf install nodejs

Installing libnotify in Fedora:

sudo dnf install libnotify

Usage

This guide is intended to help you to configure the script parameters (config.json) and software.

For this example elgato-pi-deck-server are be installed on Computer 1 or Computer 2:

Clone this repo:

git clone https://github.com/pablomenino/elgato-pi-deck-server/
cd elgato-pi-deck-server/

By default this script uses TCP port 8889 for the server, you can change it editing the config file config.json:

# By example if you want to use port TCP 25864

# Edit file
vi config.json

# Replace listenPort:
# From
"listenPort": "8889",
# To
"listenPort": "25864",

NOTE: You need to open the port in firewall (In this example firewalld).

sudo firewall-cmd --permanent --add-port=8889/tcp

# Or TCP 25864 Port

sudo firewall-cmd --permanent --add-port=25864/tcp

# Reload firewals policy
sudo firewall-cmd --reload

Configure IP address of elgato-pi-deck (Client) (Accept only request from that IP)

In config.json file, change IP Address for your local elgato-pi-deck node (Client):

# By example if you run elgato-pi-deck over a Raspberry Pi (This is only an example, can be other computer/OS) and you have the IP Address 10.2.20.40

# Edit file
vi config.json

# Replace line:
# From
"remoteAddress": "192.168.0.10",
# To
"remoteAddress": "10.2.20.40",

Configure custom actions

Add new actions:

By example open a new tab in Firefox with google.com:

        {
            "conn": "firefox",
            "log": "Execute Firefox",
            "notify": "Execute Firefox",
            "command": "firefox -new-tab \"https://www.google.com/\""
        },

In elgato-pi-deck you must assign elgato-pi-deck/firefox action to a button.

Execute script to bring the server up.

./NodeJS-elgato.sh

Full config example:

{
    "remoteAddress": "192.168.0.10",
    "listenPort": "8889",
    "actions":
    [
        {
            "conn": "firefox",
            "log": "Execute Firefox",
            "notify": "Execute Firefox",
            "command": "firefox -new-tab \"https://www.google.com/\""
        },
        {
            "conn": "bitwarden",
            "log": "Executed Bitwarden",
            "notify": "Executed Bitwarden",
            "command": "bitwarden"
        }
    ]
}

Configuration parameters:

conn: Action name.

log: Text to display on console (Debug propose).

notify: Notify text to be displayed.

command: Command to be execute on local computer.

Librepay

Donate using Liberapay

Paypal

paypal

About

elgato-pi-deck-server - Is a local NodeJS Server Script to execute commands controlled by Elgato Stream Deck (connected to a Raspberry Pi). You can have one or several's NodeJS Server's.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published