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
Install Lumia Stream
Download and install Lumia Stream from lumiastream.com. Configure your smart lights within the Lumia Stream application.
Enable API Access
In Lumia Stream, go to Settings → API and enable the API server. Note the host address and port number displayed.
Configure FaustBot
In FaustBot, navigate to Lumia Stream in the sidebar. Enter the host and port from Lumia Stream, then click Connect.
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 StreamDisconnected Connection to Lumia Stream lostLight State Changed A light's state was modifiedCommand Executed A Lumia Stream command was triggeredEffects
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.