Skip to content

Elgato script functions

Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.

elgato.cameraHub.isAvailable

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.

var answer = await Cb.Call("elgato.cameraHub.isAvailable");
answer = cb.call("elgato.cameraHub.isAvailable")

elgato.cameraHub.set

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).

var answer = await Cb.Call("elgato.cameraHub.set", new { control = "zoom", value = 150 });
answer = cb.call("elgato.cameraHub.set", control="zoom", value=150)

elgato.cameraHub.webcams

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.

var answer = await Cb.Call("elgato.cameraHub.webcams");
answer = cb.call("elgato.cameraHub.webcams")

elgato.lights.add

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.

var answer = await Cb.Call("elgato.lights.add", new { address = "192.168.1.50" });
answer = cb.call("elgato.lights.add", address="192.168.1.50")

elgato.lights.discover

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).

var answer = await Cb.Call("elgato.lights.discover");
answer = cb.call("elgato.lights.discover")

elgato.lights.identify

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.

var answer = await Cb.Call("elgato.lights.identify", new { device = "Key Light" });
answer = cb.call("elgato.lights.identify", device="Key Light")

elgato.lights.isRunning

Checks whether Cuebot is watching your Elgato lights right now.

Gives back: true while Cuebot checks your lights, otherwise false.

var answer = await Cb.Call("elgato.lights.isRunning");
answer = cb.call("elgato.lights.isRunning")

elgato.lights.list

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.

var answer = await Cb.Call("elgato.lights.list");
answer = cb.call("elgato.lights.list")

elgato.lights.rename

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.

var answer = await Cb.Call("elgato.lights.rename", new { device = "Key Light", name = "Desk Light" });
answer = cb.call("elgato.lights.rename", device="Key Light", name="Desk Light")

elgato.lights.setBrightness

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.

var answer = await Cb.Call("elgato.lights.setBrightness", new { device = "Key Light", brightness = 75 });
answer = cb.call("elgato.lights.setBrightness", device="Key Light", brightness=75)

elgato.lights.setColor

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.

var answer = await Cb.Call("elgato.lights.setColor", new { device = "Light Strip", hue = 270, saturation = 100 });
answer = cb.call("elgato.lights.setColor", device="Light Strip", hue=270, saturation=100)

elgato.lights.setPower

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.

var answer = await Cb.Call("elgato.lights.setPower", new { device = "Key Light", state = "On" });
answer = cb.call("elgato.lights.setPower", device="Key Light", state="On")

elgato.lights.setTemperature

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.

var answer = await Cb.Call("elgato.lights.setTemperature", new { device = "Key Light", temperature = 4500 });
answer = cb.call("elgato.lights.setTemperature", device="Key Light", temperature=4500)

elgato.lights.start

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.

var answer = await Cb.Call("elgato.lights.start");
answer = cb.call("elgato.lights.start")

elgato.studio.isRunning

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.

var answer = await Cb.Call("elgato.studio.isRunning");
answer = cb.call("elgato.studio.isRunning")