Integration

Lumia Stream

Connect FaustBot to Lumia Stream to control your smart lights during streams. Create immersive lighting experiences triggered by chat events, donations, or custom scripts.

Overview

Lumia Stream is a powerful smart lighting control platform that connects to various light brands including Philips Hue, LIFX, Nanoleaf, Govee, and more. FaustBot integrates directly with Lumia Stream to provide seamless lighting automation.

Light Control

Turn lights on/off, set colors, and adjust brightness.

Color Effects

Flash colors, strobe effects, and smooth transitions.

Command Triggers

Execute pre-configured Lumia Stream commands.

Alert System

Send visual alerts for stream events.

Preset Colors

Quick access to named color presets.

Multi-Light Support

Control individual lights or all lights at once.

Setup

Connect to Lumia Stream

1

Install Lumia Stream

Download and install Lumia Stream from lumiastream.com. Configure your smart lights within the Lumia Stream application.

2

Enable API Access

In Lumia Stream, go to Settings → API and enable the API server. Note the host address and port number displayed.

Screenshot: Lumia Stream API settings
3

Configure FaustBot

In FaustBot, navigate to Lumia Stream in the sidebar. Enter the host and port from Lumia Stream, then click Connect.

4

Verify Connection

Once connected, FaustBot will display your available lights and commands. The connection status will show as active in the status bar.

Default Connection

By default, Lumia Stream runs on localhost:39231. If running on a different machine, use that machine's IP address instead.

Triggers

React to Lumia Stream connection events:

Connected Successfully connected to Lumia Stream
Disconnected Connection to Lumia Stream lost
Light State Changed A light's state was modified
Command Executed A Lumia Stream command was triggered

Effects

Light Control

Turn On Light

Turn a specific light on.

Turn Off Light

Turn a specific light off.

Turn On All

Turn all lights on at once.

Turn Off All

Turn all lights off at once.

Set Brightness

Set light brightness (0-100).

Set Brightness All

Set all lights to same brightness.

Color Control

Set Color

Set a light to a hex color.

Set Color By Name

Set color using light name.

Set Color All

Set all lights to same color.

Set Preset Color

Use a named preset color.

Flash Color

Briefly flash a color.

Reset to Default

Restore default lighting.

Alerts & Effects

Send Alert

Trigger a visual alert effect.

Strobe

Create a strobe light effect.

Trigger Command

Execute a Lumia command by ID.

Trigger Command By Name

Execute a command by name.

Scripting API

Control Lumia Stream programmatically from your scripts:

Connection

# Check connection status
if CPH.LumiaIsConnected():
    info = CPH.LumiaGetConnectionInfo()
    CPH.Log(f"Connected to Lumia at {info['host']}:{info['port']}")
else:
    # Attempt to connect
    if CPH.LumiaConnect():
        CPH.Log("Successfully connected to Lumia Stream")

# Disconnect when done
CPH.LumiaDisconnect()

Light Control

# Get all available lights
lights = CPH.LumiaGetLights()
for light in lights:
    CPH.Log(f"Light: {light['name']} ({light['id']})")

# Get a specific light by ID
light = CPH.LumiaGetLight("light-123")
CPH.Log(f"Light {light['name']} is {'on' if light['isOn'] else 'off'}")

# Turn lights on/off
CPH.LumiaTurnOn("light-123")
CPH.LumiaTurnOff("light-123")

# Control all lights
CPH.LumiaTurnOnAll()
CPH.LumiaTurnOffAll()

# Set brightness (0-100)
CPH.LumiaSetBrightness("light-123", 75)
CPH.LumiaSetBrightnessAll(50)

Color & Effects

# Set color by light ID (hex color, duration in ms)
CPH.LumiaSetColor("light-123", "#FF5500", 500)

# Set color by light name
CPH.LumiaSetColorByName("Desk Lamp", "#00FF00", 300)

# Set all lights to same color
CPH.LumiaSetColorAll("#0000FF", 1000)

# Use preset colors (red, green, blue, yellow, cyan, magenta, orange, purple, pink, white, warm, cool)
CPH.LumiaSetPresetColor("purple")

# Flash effect
CPH.LumiaFlashColor("#FF0000", 200)

# Strobe effect (color, count, interval in ms)
CPH.LumiaStrobe("#FFFFFF", 5, 100)

# Send custom alert
CPH.LumiaSendAlert("flash", "#00FFFF", 500)

# Reset to default warm white
CPH.LumiaResetToDefault()

Commands

# Get all available commands
commands = CPH.LumiaGetCommands()
for cmd in commands:
    CPH.Log(f"Command: {cmd['name']} ({cmd['id']}) - Type: {cmd['type']}")

# Trigger command by ID
CPH.LumiaTriggerCommand("cmd-456")

# Trigger command by name
CPH.LumiaTriggerCommandByName("Alert: New Follower")

# Get total counts
light_count = CPH.LumiaGetLightCount()
cmd_count = CPH.LumiaGetCommandCount()
CPH.Log(f"Lumia has {light_count} lights and {cmd_count} commands")

See the full API reference for all available Lumia Stream methods.