Wiz Smart Lighting
Control your Wiz smart lights directly from FaustBot. Create immersive stream experiences with dynamic lighting effects triggered by chat events, subscriptions, raids, and more.
Overview
FaustBot connects to Wiz smart lights using their local UDP protocol on port 38899, providing fast, reliable control without requiring cloud connectivity:
Device Discovery
Automatic discovery of Wiz devices via UDP broadcast on your local network.
Power Control
Turn lights on, off, or toggle their power state instantly.
RGB Colors
Set any RGB color to match your stream theme or react to events.
Brightness
Adjust brightness from 10% to 100% for the perfect ambiance.
Color Temperature
Set warm (2200K) to cool (6500K) white tones.
32 Built-in Scenes
Activate dynamic scenes like Party, Fireplace, Ocean, and more.
Setup
Discover Wiz Devices
Wiz lights are discovered automatically on your local network. No hub or bridge required.
Ensure Devices Are Connected
Make sure your Wiz lights are connected to the same WiFi network as your computer running FaustBot. They should be set up using the official Wiz app.
Open Wiz Settings
In FaustBot, go to Wiz in the sidebar. Click Discover Devices to scan your network for Wiz lights.
Name Your Devices
Discovered devices will show their MAC address. Give each device a friendly name (e.g., "Desk Light", "Key Light") for easy identification in your actions.
Test Connection
Click on a device to test control. Try turning it on/off or changing the color to verify communication is working correctly.
Network Requirements
Wiz devices communicate via UDP broadcast on port 38899. Ensure your router allows UDP traffic on this port and that devices are on the same subnet. Some routers with "AP isolation" enabled may block device discovery.
Static IP Recommended
For the most reliable control, assign static IP addresses to your Wiz lights in your router settings. This prevents connection issues if devices receive new IP addresses after a router restart.
Effects
Use these action effects to control your Wiz lights from any action in FaustBot.
Power Control
Turn On
Turn a Wiz device on.
Turn Off
Turn a Wiz device off.
Toggle
Toggle device power state.
Brightness Control
Set Brightness
Set brightness level (10-100%).
Color Control
Set Color
Set RGB color with optional brightness.
Set Color Temperature
Set white temperature (2200K-6500K).
Scene Control
Set Scene
Activate a built-in scene (1-32).
Set Scene with Speed
Set scene with custom animation speed.
Built-in Scenes
Wiz lights support 32 built-in scenes. Dynamic scenes support a speed parameter (10-200) to control animation speed.
| ID | Scene Name | Type |
|---|---|---|
| 1 | Ocean | Dynamic |
| 2 | Romance | Dynamic |
| 3 | Sunset | Dynamic |
| 4 | Party | Dynamic |
| 5 | Fireplace | Dynamic |
| 6 | Cozy | Static |
| 7 | Forest | Dynamic |
| 8 | Pastel Colors | Dynamic |
| 9 | Wake Up | Dynamic |
| 10 | Bedtime | Dynamic |
| 11 | Warm White | Static |
| 12 | Daylight | Static |
| 13 | Cool White | Static |
| 14 | Night Light | Static |
| 15 | Focus | Static |
| 16 | Relax | Static |
| 17 | True Colors | Static |
| 18 | TV Time | Static |
| 19 | Plant Growth | Static |
| 20 | Spring | Dynamic |
| 21 | Summer | Dynamic |
| 22 | Fall | Dynamic |
| 23 | Deep Dive | Dynamic |
| 24 | Jungle | Dynamic |
| 25 | Mojito | Dynamic |
| 26 | Club | Dynamic |
| 27 | Christmas | Dynamic |
| 28 | Halloween | Dynamic |
| 29 | Candlelight | Dynamic |
| 30 | Golden White | Static |
| 31 | Pulse | Dynamic |
| 32 | Steampunk | Dynamic |
Scene Speed
Dynamic scenes support a speed parameter from 10 (slowest) to 200 (fastest). The default speed is 100. Use slower speeds for subtle ambiance or faster speeds for energetic reactions.
Using Effects from Scripts
Scripting API Not Yet Available
A dedicated scripting API for Wiz (e.g., CPH.WizSetColor()) is not yet
available. In the meantime, you can control Wiz lights from scripts by calling
pre-configured actions using CPH.RunAction().
Create actions with Wiz effects in the action editor, then call them from your scripts. This approach gives you full control over your lights while maintaining flexibility.
Power Control
# Turn on a Wiz light using an action
CPH.RunAction("Wiz - Turn On Desk Light")
# Turn off a light
CPH.RunAction("Wiz - Turn Off Desk Light")
# Toggle light power
CPH.RunAction("Wiz - Toggle Desk Light")
# You can also pass arguments to customize behavior
CPH.RunAction("Wiz - Set Light State", {
"device": "Desk Light",
"state": "on"
})Color Control
# Set RGB color on a light
CPH.RunAction("Wiz - Set Color Red")
# Dynamic color based on event
follower_name = args["userName"]
colors = ["#FF0000", "#00FF00", "#0000FF", "#FF00FF", "#FFFF00"]
color_index = hash(follower_name) % len(colors)
CPH.SetArgument("color", colors[color_index])
CPH.RunAction("Wiz - Set Custom Color")
# Set color with brightness
CPH.SetArgument("color", "#FF5500")
CPH.SetArgument("brightness", 75)
CPH.RunAction("Wiz - Set Color With Brightness")Brightness Control
# Set brightness to 50%
CPH.SetArgument("brightness", 50)
CPH.RunAction("Wiz - Set Brightness")
# Dim lights for movie mode
CPH.RunAction("Wiz - Dim Lights 25%")
# Full brightness for gaming
CPH.RunAction("Wiz - Full Brightness")
# Dynamic brightness based on sub tier
sub_tier = args.get("tier", "1000")
brightness_map = {
"1000": 50, # Tier 1
"2000": 75, # Tier 2
"3000": 100 # Tier 3
}
brightness = brightness_map.get(sub_tier, 50)
CPH.SetArgument("brightness", brightness)
CPH.RunAction("Wiz - Set Brightness")Color Temperature
# Set warm white (2200K) for cozy evening stream
CPH.SetArgument("kelvin", 2200)
CPH.RunAction("Wiz - Set Color Temperature")
# Set daylight (6500K) for bright, energetic stream
CPH.SetArgument("kelvin", 6500)
CPH.RunAction("Wiz - Set Color Temperature")
# Neutral white (4000K) for balanced lighting
CPH.SetArgument("kelvin", 4000)
CPH.SetArgument("brightness", 80)
CPH.RunAction("Wiz - Set Color Temp With Brightness")Scene Control
# Activate a built-in scene
CPH.RunAction("Wiz - Scene Party")
CPH.RunAction("Wiz - Scene Fireplace")
CPH.RunAction("Wiz - Scene Ocean")
# Set scene with custom speed (for dynamic scenes)
CPH.SetArgument("sceneId", 4) # Party scene
CPH.SetArgument("speed", 150) # Faster animation
CPH.RunAction("Wiz - Set Scene With Speed")
# React to events with scenes
if "raid" in args.get("eventType", ""):
CPH.RunAction("Wiz - Scene Party")
elif "follow" in args.get("eventType", ""):
CPH.RunAction("Wiz - Scene Romance")Best Practice: Create Reusable Actions
Create a set of reusable Wiz actions like "Wiz - Alert Flash", "Wiz - Sub Celebration", or "Wiz - Raid Mode". Then call these from multiple scripts and triggers. This makes it easy to update lighting behavior in one place.