Repository navigation
Reference Script Functions Elgato
Also on the Cuebot Docs site.
Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.
Checks whether Cuebot can control webcam settings on this computer. Right now this works on Linux.
Gives back: true when webcam control works here, otherwise false.
C#
var answer = await Cb.Call("elgato.cameraHub.isAvailable");Python
answer = cb.call("elgato.cameraHub.isAvailable")Changes one picture setting on your webcam, like brightness or zoom. Fails with an error when the webcam or setting is not found.
| Value | What to put in |
|---|---|
device |
Which webcam: its name, id or device path. Empty means the first webcam. "All" means every webcam. |
control |
The setting: brightness, contrast, saturation, sharpness, focus, pan, tilt, whiteBalance, zoom, autoFocus, autoWhiteBalance, autoExposure, antiFlicker, mirror or flip. |
value |
The new value as a number, like 60. Zoom is 100-400 percent. On/off settings take 1 (on) or 0 (off). antiFlicker also takes "Off", "50 Hz", "60 Hz" or "Auto". |
adjust |
Optional. true adds the value to the current one instead. Default false. |
Gives back: The new value of the setting (from the first webcam).
C#
var answer = await Cb.Call("elgato.cameraHub.set", new { control = "zoom", value = 150 });Python
answer = cb.call("elgato.cameraHub.set", control="zoom", value=150)Lists your webcams and their current picture settings.
Gives back: A list of webcams. Each has deviceId, deviceName, devicePath and the settings it supports, like brightness, contrast, focus, zoomValue, autoFocus, antiFlicker, mirrored and flipped.
C#
var answer = await Cb.Call("elgato.cameraHub.webcams");Python
answer = cb.call("elgato.cameraHub.webcams")Adds an Elgato light by its network address. Handy when Cuebot does not find it on its own. Fails with an error when the light cannot be reached.
| Value | What to put in |
|---|---|
address |
The light's IP address, like "192.168.1.50". You can add a port, like "192.168.1.50:9123". Find it in the Elgato Control Center app. |
Gives back: The light that was added, with the same details as elgato.lights.list.
C#
var answer = await Cb.Call("elgato.lights.add", new { address = "192.168.1.50" });Python
answer = cb.call("elgato.lights.add", address="192.168.1.50")Looks for Elgato lights on your network right now.
Gives back: A list of the lights that were found (same details as elgato.lights.list).
C#
var answer = await Cb.Call("elgato.lights.discover");Python
answer = cb.call("elgato.lights.discover")Makes Elgato lights blink, so you can see which one is which. Fails with an error when no light matches.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. Split several with commas. "All" or empty means every light. |
Gives back: true when done.
C#
var answer = await Cb.Call("elgato.lights.identify", new { device = "Key Light" });Python
answer = cb.call("elgato.lights.identify", device="Key Light")Checks whether Cuebot is watching your Elgato lights right now.
Gives back: true while Cuebot checks your lights, otherwise false.
C#
var answer = await Cb.Call("elgato.lights.isRunning");Python
answer = cb.call("elgato.lights.isRunning")Lists every Elgato light Cuebot knows, like a Key Light or Light Strip.
Gives back: A list of lights. Each has deviceId, deviceName, productName, serialNumber, ipAddress, port and online. Lights that answered also have on, brightness, temperature (Kelvin), hue and saturation.
C#
var answer = await Cb.Call("elgato.lights.list");Python
answer = cb.call("elgato.lights.list")Gives an Elgato light a new name. The name is saved on the light itself, so Control Center shows it too.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. |
name |
The new name, like "Desk Light". |
Gives back: true when done.
C#
var answer = await Cb.Call("elgato.lights.rename", new { device = "Key Light", name = "Desk Light" });Python
answer = cb.call("elgato.lights.rename", device="Key Light", name="Desk Light")Changes how bright Elgato lights are. Fails with an error when no light matches.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. Split several with commas. "All" or empty means every light. |
brightness |
How bright, 0-100 percent, like 75. |
adjust |
Optional. true adds the number to the current brightness instead (use a minus number to dim). Default false. |
Gives back: A list of the lights that changed, with their new details.
C#
var answer = await Cb.Call("elgato.lights.setBrightness", new { device = "Key Light", brightness = 75 });Python
answer = cb.call("elgato.lights.setBrightness", device="Key Light", brightness=75)Changes the colour of Elgato lights that can show colours, like the Light Strip. Fails with an error when no light matches.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. Split several with commas. "All" or empty means every light. |
hue |
The colour, 0-360 around the colour wheel: 0 red, 120 green, 240 blue. |
saturation |
How strong the colour is, 0-100. 0 is white, 100 is full colour. |
Gives back: A list of the lights that changed, with their new details.
C#
var answer = await Cb.Call("elgato.lights.setColor", new { device = "Light Strip", hue = 270, saturation = 100 });Python
answer = cb.call("elgato.lights.setColor", device="Light Strip", hue=270, saturation=100)Turns Elgato lights on or off. Fails with an error when no light matches.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. Split several with commas. "All" or empty means every light. |
state |
Optional. "On", "Off" or "Toggle" (switch to the other one). Default "Toggle". |
Gives back: A list of the lights that changed, with their new details.
C#
var answer = await Cb.Call("elgato.lights.setPower", new { device = "Key Light", state = "On" });Python
answer = cb.call("elgato.lights.setPower", device="Key Light", state="On")Changes the colour warmth of Elgato lights, from warm yellow to cool white. Fails with an error when no light matches.
| Value | What to put in |
|---|---|
device |
Which light: its name, id or IP address. Split several with commas. "All" or empty means every light. |
temperature |
The warmth in Kelvin, 2900 (warm) to 7000 (cool), like 4500. |
adjust |
Optional. true adds the Kelvin number to the current value instead. Default false. |
Gives back: A list of the lights that changed, with their new details.
C#
var answer = await Cb.Call("elgato.lights.setTemperature", new { device = "Key Light", temperature = 4500 });Python
answer = cb.call("elgato.lights.setTemperature", device="Key Light", temperature=4500)Starts looking for Elgato lights on your network and watching them. It starts over if it was already running.
Gives back: true once it has started.
C#
var answer = await Cb.Call("elgato.lights.start");Python
answer = cb.call("elgato.lights.start")Checks whether the Elgato Studio app is open on this computer. Cuebot can only see it; Elgato Studio has no way to be controlled.
Gives back: true while Elgato Studio is running, otherwise false.
C#
var answer = await Cb.Call("elgato.studio.isRunning");Python
answer = cb.call("elgato.studio.isRunning")Cuebot by Tech Daddy Digital · MIT license · Privacy
Cuebot Docs (the same pages, nicer to read)
- Home
- Start here
-
Guides
- Chat commands
- The mod portal
- Overlays and alerts
- Writing your own overlay widgets
- Text-to-speech
- Music and now playing
- Points, store and giveaways
- Subathons and goals
- Stream apps and devices
- VTuber apps
- Stream Deck
- The phone app
- Donations and integrations
- Discord bot
- The setup assistant and AI tools
- The assistant on your own computer
- Moving from Streamer.bot
- Cuebot's servers
- Writing code (C# and Python)
- Python in detail
- Using your own code editor
- Controlling Cuebot from other programs
- Backups and your data
- Linux
- Command-line options
- Troubleshooting
- What's experimental
- Reference