- Service Name:
com.unixstreamdeck.streamdeckd - Object Path:
/com/unixstreamdeck/streamdeckd - Interface:
com.unixstreamdeck.streamdeckd - Bus Type: Session bus
Retrieve the current running configuration.
Parameters: None
Returns: JSON string containing the complete configuration
Example:
dbus-send --print-reply --session \
--dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.GetConfigResponse:
{
"modules": ["/path/to/module.so"],
"decks": [
{
"serial": "AB12C3D45678",
"pages": [ /* ... */ ]
}
]
}Update the configuration in memory without saving to disk.
Parameters:
config(string): JSON string containing the new configuration
Returns: Error message if invalid, empty on success
Example:
dbus-send --session --dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.SetConfig \
string:'{"modules":[],"decks":[]}'Notes:
- Changes take effect immediately
- Configuration is not saved to disk (use
CommitConfigto save) - Invalid JSON will return an error
Reload the configuration from disk, discarding any unsaved changes.
Parameters: None
Returns: None
Example:
dbus-send --session --dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.ReloadConfigSave the current in-memory configuration to disk.
Parameters: None
Returns: Error message if save fails, empty on success
Example:
dbus-send --session --dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.CommitConfigGet information about all connected Stream Deck devices.
Parameters: None
Returns: JSON array of deck information objects
Example:
dbus-send --print-reply --session \
--dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.GetDeckInfoResponse:
[
{
"icon_size": 72,
"rows": 3,
"cols": 5,
"page": 0,
"serial": "AB12C3D45678"
},
{
"icon_size": 80,
"rows": 4,
"cols": 8,
"page": 1,
"serial": "XYZ987654321"
}
]Fields:
icon_size: Button icon dimensions in pixelsrows: Number of button rowscols: Number of button columnspage: Currently active page numberserial: Device serial number
Switch the Stream Deck to a specific page.
Parameters:
serial(string): Device serial numberpage(int): Page number to switch to (zero-indexed)
Returns: Error message if invalid, empty on success
Example:
dbus-send --session --dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.SetPage \
string:'AB12C3D45678' int32:2Notes:
- Page numbers start at 0
- Returns error if page doesn't exist
- Emits
Pagesignal on success
Get information about loaded custom modules.
Parameters: None
Returns: Array of module information including available config fields
Example:
dbus-send --print-reply --session \
--dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.GetModulesResponse:
[
{
"name": "CustomModule",
"icon_fields": [
{
"title": "Background Color",
"name": "bg_color",
"type": "Text"
}
],
"key_fields": [
{
"title": "API Key",
"name": "api_key",
"type": "Text"
}
]
}
]Simulate a button press on a Stream Deck device.
Parameters:
serial(string): Device serial numberkey_index(int): Button index to press
Returns: Error message if invalid, empty on success
Example:
# Press button 5 on device AB12C3D45678
dbus-send --session --dest=com.unixstreamdeck.streamdeckd \
/com/unixstreamdeck/streamdeckd \
com.unixstreamdeck.streamdeckd.PressButton \
string:'AB12C3D45678' int32:5Notes:
- Button indices start at 0
- Indices go left-to-right, top-to-bottom
- Triggers the same action as physically pressing the button
Simulate a handler config, and get an example response of what image that handler would generate with that config
Parameters:
serial(string): Device serial numberkey/knobConfig(string): JSON string containing a key config
Returns Error message if invalid, b64 encoded png string if valid
Emitted when the active page changes on any Stream Deck device.
Parameters:
serial(string): Device serial numberpage(int): New page number
Example - Monitor Page Changes:
dbus-monitor "type='signal',\
interface='com.unixstreamdeck.streamdeckd',\
member='Page'"Use Case: Update external UI or trigger actions when pages change