Macro Deck Delegate
Included with Macro DeckRun scripts on another PC running Macro Deck and use the variables it shares.
The Connect to another Macro Deck dialog with the Address, Username, Password and Import shared variables fields
- Run a script on another PC and wait for it to finish
- Pass input values to the script on the other PC
- Import the variables the other Macro Deck shares
- Connect to several other Macro Decks
- A
delegate_<instance>_connectedvariable for each connection
Macro Deck Delegate connects this Macro Deck to Macro Deck on another computer in your network. Your deck stays on one computer, and buttons and automations can still run things on the other one, for example on a streaming PC and a gaming PC.
You connect with the other Macro Deck's address and an account on it. The password is stored encrypted and is sent to the other Macro Deck once, when you continue in the setup dialog. You can add a connection for each computer you want to reach.
Run scripts on another PC
The Run Script on another PC action runs one of the scripts you created on the other Macro Deck and waits for it to finish. Choose the Macro Deck and the Script, and set a Timeout (60 seconds by default). When the script has inputs, you fill in their values in the action, like for a script on this computer. If the script fails on the other PC, the action fails with its error.
Example setups:
- A Go live button on the deck of your streaming PC runs a script on your gaming PC that switches OBS there to its live scene and starts the recording.
- An automation on this computer runs a script on the other PC when an event happens here, for example at a set time with a Schedule event.
Macro Deck reads the list of scripts when you connect and keeps it up to date while the other computer can be reached, so a new script there shows up in the action after a short while.
Use shared variables
With Import shared variables turned on, the variables shared on the other Macro Deck appear here, named after its computer. obs_streaming shared by a computer called Gaming-PC becomes gaming_pc_obs_streaming, so a label on this deck can show whether OBS on the gaming PC is live. To share a variable, open its menu on the Variables page of the other Macro Deck and choose Share with other Macro Decks. A shared variable that can be changed on its own Macro Deck can also be changed from here, for example with a slider or Set Variable.
Each connection also has a delegate_<instance>_connected variable, named after its computer like delegate_gaming_pc_connected, that is true while the other Macro Deck can be reached and accepts the saved sign-in. While it cannot be reached, its shared variables read as unavailable, and Macro Deck keeps trying in the background.
What you need
- Macro Deck 3 on both computers
- Both computers in the same network, or the other one reachable by its address
- An account on the other Macro Deck with permission to run scripts
- At least one script on the other Macro Deck
- To import variables: the variables shared on the other Macro Deck with Share with other Macro Decks
Set it up
Step 1: Find the address of the other PC
On the other computer, open Macro Deck and go to Settings > Network. Note one of its addresses and the Listening port (8193 by default).
Step 2: Open Macro Deck Delegate
On this computer, click Integrations in the sidebar and then Macro Deck Delegate. Click Add configuration under Configuration on the Overview tab. Turning on the switch at the top right opens the same dialog, and the integration is turned on once the setup is done.
Step 3: Connect to the other Macro Deck
In Connect to another Macro Deck, fill in:
- Address: the other Macro Deck's address with its port, for example
http://192.168.1.50:8193. - Username and Password: an account on the other Macro Deck with permission to run scripts.
- Import shared variables: turn it on to use the variables the other Macro Deck shares.
Click Continue. Macro Deck checks the address and the sign-in and adds the connection as Macro Deck (<computer name>).
- Address: the other Macro Deck's address with its port, for example
Step 4: Add the action to a button
On the Deck page, make sure the deck is unlocked (the button at the top right reads Lock) and click a button. The editor opens with Short Press selected. Click + Add action, choose Macro Deck Delegate on the left of the Add action dialog and pick Run Script on another PC. Pick the Macro Deck (left empty, the only configured one is used) and the Script, and fill in the script's inputs if it has any.
Step 5: Set the timeout
Timeout is how long the action waits for the script to finish before it gives up. The default is 60 seconds.
Step 6: Press the button
Click Save and press the button. The script runs on the other PC, and the action finishes when the script does.
Actions1
Put these on a button or run them from a flow.
- Run Script on another PC
- Runs a script on another Macro Deck, with its input values, and waits for it to finish.
Variables2
Show these values on buttons and widgets, or use them in conditions.
delegate_<instance>_connected- Whether the other Macro Deck can be reached and accepts the saved sign-in.
<instance>_<variable>- With Import shared variables on, each variable the other Macro Deck shares, with its computer's name in front, for example
gaming_pc_obs_streaming.
Frequently asked questions
Why does the setup say it could not reach a Macro Deck?
Check that Macro Deck runs on the other computer, that the address and port match Settings > Network there, and that a firewall does not block the port. The default port is 8193. If you entered the address of this computer, the setup says so: enter the address of the other PC.
Where is the password stored?
On this computer, encrypted. It crosses the local network once, when you continue in the setup dialog. If the password changes on the other Macro Deck, the integration shows Sign-in to <computer> was rejected: run the setup again with the current password.
Can I connect to more than one other Macro Deck?
Yes. Add a configuration for each computer. With more than one, choose the Macro Deck in each Run Script on another PC action.
What happens when the other PC is off?
Run Script on another PC fails with a message that the other Macro Deck could not be reached, and its delegate_<instance>_connected variable reads false. Shared variables read as unavailable. Macro Deck keeps trying in the background, and the variables catch up once the other PC is back.
Can I use HTTPS?
Yes, enter the address with https://. The other Macro Deck's certificate has to be trusted in your operating system's certificate store. On your local network, http:// works too.
Why is a shared variable missing?
A shared variable is left out when its name is already used by another variable, when it is too long with the computer's name in front, or when the other Macro Deck shares more variables than one connection can import. The connection then shows a warning that lists the variables it could not add.
More in Macro Deck
Macro Deck Companion
Included with Macro DeckControl the phones and tablets that run the Companion app: brightness, rotation, screen and screenshots.
Scripts
Included with Macro DeckBuild a set of actions once as a script and run it from any button, automation or other script.
Variables
Included with Macro DeckChange your variables from buttons and automations, and write any variable to a file.