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.addWatcher((event, device) => {
if (event === "connected") console.log("Connected: " + device.deckType)
if (event === "disconnected") console.log("Disconnected: " + device.deckType)
})
Driving a device
const deck = hs.streamdeck.all()[0]
deck.setBrightness(50)
deck.setButtonColor(1, HSColor.named("red"))
deck.buttonCallback((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.addWatcher(listener) -> None
Register a listener for Stream Deck connect/disconnect events.
Declaration
hs.streamdeck.addWatcher(listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| listener | function | A JavaScript function called with the event name and the affected device |
Returns
None
Example
hs.streamdeck.addWatcher((event, device) => console.log(event + ": " + device.deckType))
hs.streamdeck.removeWatcher(listener) -> None
Remove a previously registered connect/disconnect listener.
Declaration
hs.streamdeck.removeWatcher(listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| listener | function | The function originally passed to ``addWatcher(_:)`` |
Returns
None
Example
hs.streamdeck.removeWatcher(myHandler)