hs.streamdeck
ModuleDirect hardware control of Elgato Stream Deck devices — buttons, encoders, and the LCD touch strip on the Stream Deck Plus.
Enumerating devices
const decks = hs.streamdeck.all()
decks.forEach(d => console.log(d.deckType + " — " + d.serialNumber))
Watching for connect / disconnect events
hs.streamdeck.on("connected", device => console.log("Connected: " + device.deckType))
hs.streamdeck.on("disconnected", device => console.log("Disconnected: " + device.deckType))
Driving a device
const deck = hs.streamdeck.all()[0]
deck.setBrightness(50)
deck.setButtonColor(1, HSColor.named("red"))
deck.onButton((device, button, isDown) => {
console.log("button " + button + (isDown ? " down" : " up"))
})
Types
This module provides the following types:
Properties
This module has no properties.
Methods
hs.streamdeck.all() -> HSStreamDeckDevice[]
All Stream Deck devices currently connected to the system.
Declaration
hs.streamdeck.all() -> HSStreamDeckDevice[]
Returns
HSStreamDeckDevice[]
An array of `HSStreamDeckDevice` objects
Example
hs.streamdeck.all().forEach(d => console.log(d.deckType))
hs.streamdeck.findBySerialNumber(serialNumber) -> HSStreamDeckDevice
Find the connected device with the given serial number.
Declaration
hs.streamdeck.findBySerialNumber(serialNumber) -> HSStreamDeckDevice
Parameters
| Name | Type | Description |
|---|---|---|
| serialNumber | string | The serial number to search for |
Returns
HSStreamDeckDevice
An `HSStreamDeckDevice` if found, `null` otherwise
Example
const deck = hs.streamdeck.findBySerialNumber("AL12K1A00000")
hs.streamdeck.on(event, listener) -> None
Register a listener for Stream Deck connect/disconnect events.
Declaration
hs.streamdeck.on(event, listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| event | any | The event to listen for |
| listener | any | Called with the affected device when a matching event occurs |
Returns
None
Example
hs.streamdeck.on('connected', device => console.log("connected: " + device.deckType))
hs.streamdeck.on('disconnected', device => console.log("disconnected: " + device.deckType))
hs.streamdeck.off(event, listener) -> None
Remove a previously registered Stream Deck connect/disconnect listener.
Declaration
hs.streamdeck.off(event, listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| event | any | The event the listener was registered for |
| listener | any | The function originally passed to `on` |
Returns
None
Example
const onConnected = device => console.log(device.deckType)
hs.streamdeck.on('connected', onConnected)
// later…
hs.streamdeck.off('connected', onConnected)
hs.streamdeck.once(event, listener) -> None
Register a listener that fires at most once for a Stream Deck connect/disconnect event.
Declaration
hs.streamdeck.once(event, listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| event | any | The event to listen for |
| listener | any | Called the next time a matching event occurs, then automatically removed |
Returns
None
Example
hs.streamdeck.once('connected', device => console.log("First deck seen: " + device.deckType))