🎛️ Chataigne — Show Control Configuration
Chataigne v1.9.24 is the central show control application for the Forest of Light. It manages DMX Art-Net output, WebSocket communication, TCP projector control, and MIDI laser triggering. Configuration file: ForestofLigttDMX.noisette
System Architecture
Main Show Controller — State Machine
Runs on forest-mac1 (10.50.0.30) — Config: ForestofLigttDMX.noisette
DMX Modules (Art-Net Output)
All DMX modules output via Art-Net to PKnight CR041R nodes on the 10.50.0.x subnet. Each module targets Universe 0 unless otherwise noted.
| Module Name | DMX ID | Node IP | Universe | Notes |
|---|---|---|---|---|
| Hoops | DMX Z1 | 10.50.0.140 | 0 | — |
| Hoops | DMX2 | 10.50.0.141 | 0 | — |
| Hoops | DMX3 | 10.50.0.142 | 0 | — |
| Mushrooms | DMX4 | 10.50.0.143 | 0 | — |
| Umbrellas LBalls | DMX5 | 10.50.0.144 | 0 | — |
| Welcome | DMX6 | 10.50.0.145 | 3 | Uses Universe 3 (non-standard) |
| Red Trees | DMX7 | 10.50.0.146 | 0 | — |
| RBalls | DMX8 | 10.50.0.147 | 0 | — |
| Father Time | DMX9 | 10.50.0.148 | 0 | — |
| Hay Bales | DMX10 | 10.50.0.149 | 0 | — |
| Lasers | DMX13 | 10.50.0.152 | 0 | — |
| Doors | DMX14 | 10.50.0.153 | 0 | — |
| Entrance | DMX15 | 10.50.0.154 | 0 | Typo in config: "Edntrance" |
Edntrance.
Network Modules
WebSocket Server
Chataigne runs a WebSocket server that accepts trigger commands from Home Assistant and Node-RED.
| Trigger Message | Action |
|---|---|
/0 | ALL ON — Sets all 13 DMX zones to 250 (triggers Control/ALL ON state) |
/off | ALL OFF — Sets all zones to 0 or 1 (triggers Control/ALL OFF state) |
/laser | Trigger laser sequence (MIDI Note On) |
/wingsOn | Projector ON — sends TCP handshake + C00 to Epson, broadcasts ProjectorOn to WS clients |
/wingsOff | Projector OFF — sends TCP handshake + C01 to Epson, broadcasts ProjectorOff to WS clients |
/on | Defined but NOT connected to any action |
/1 | Defined but NOT connected to any action |
/false | Defined but NOT connected to any action |
WebSocket Client
Connects to Node-RED at 10.50.0.30:1880/ws/timer to receive timer synchronization data.
Projector TCP
TCP connection to the main projector at 10.50.0.5:10000.
| Command | Action |
|---|---|
0000\r | Projector status query |
C00\r | Projector power OFF |
C01\r | Projector power ON |
MIDI
MIDI output is used for laser control triggers.
Time Module
Internal time module used for scheduled state transitions (see Timers state below).
State Machine
The Chataigne state machine has 4 states that control the overall show behavior.
State: "State" — Individual ON
Sets each DMX zone to value 250 individually. This is the normal show-running state.
| Zone | DMX Value |
|---|---|
| Hoops Z1 | 250 |
| Hoops DMX2 | 250 |
| Hoops DMX3 | 250 |
| Mushrooms DMX4 | 250 |
| Umbrellas LBalls DMX5 | 250 |
| Welcome DMX6 | 250 |
| Red Trees DMX7 | 250 |
| RBalls DMX8 | 250 |
| Father Time DMX9 | 249 |
| Hay Bales DMX10 | 250 |
| Lasers DMX13 | 250 |
| Doors DMX14 | 250 |
| Entrance DMX15 | 250 |
State: "State 1" — Individual OFF
Sets each DMX zone to value 0 (blackout) or 1 (standby). This is the shutdown state.
State: "Control" — Master ON/OFF
Responds to WebSocket /on and /off triggers to switch between the Individual ON and Individual OFF states globally.
State: "Timers" — Scheduled & Triggered Actions
| Processor | Trigger | Time | Status | Action |
|---|---|---|---|---|
| Power On | Time-based | 16:30 | Disabled | Triggers Control/ALL ON |
| Power Off | Time-based | 21:35 | Disabled | Triggers Control/ALL OFF |
| Projector On | WS /wingsOn | — | Active | TCP handshake + C00 to Epson, broadcasts ProjectorOn |
| Projector Off | WS /wingsOff | — | Active | TCP handshake + C01 to Epson, broadcasts ProjectorOff |
| Lasers On | Unconditional | — | Active | MIDI Note On (fires on state entry) |
| Lasers On 1 | WS /laser | — | Active | MIDI Note On |
Butterfly Projector Sub-Configuration
Runs on forest-mac2 (10.50.0.31) — Config: Projector.noisette
WebSocket Triggers
| Trigger | Action |
|---|---|
/laser | Trigger butterfly laser |
/reboot | Reboot butterfly projector Mac |
/off | Turn off butterfly projection |
WebSocket Client
Connects to 10.50.0.30:8080 for butterfly-specific communication.
States
- Laser — Laser trigger and sequence control
- System — System-level control (reboot, power)
- Scheduler — Time-based automation
Scheduler
| Event | Time | Status |
|---|---|---|
| Reboot | 16:45 | Enabled |
| Arm Laser | 16:50 | Disabled |
| Disarm | 21:30 | Disabled |
Flower Projector Sub-Configuration
Runs on forest-mac3 (10.50.0.32) — Config: flower.noisette
WebSocket Triggers
| Trigger | Action |
|---|---|
/laser | Trigger flower laser |
/reboot | Reboot flower projector Mac |
States
- Laser — Arm + Playlist with MIDI notes D1, D#1, E1
- Mac — Forced reboot of the flower projector Mac
- Scheduler — Time-based automation
Scheduler
| Event | Time | Status |
|---|---|---|
| Reboot | 14:30 | Enabled |
| Laser On | — | Enabled |
| Laser Off | 21:30 | Disabled |
Fire Projector Sub-Configuration
Runs on forest-mac4 (10.50.0.33) — Config: Fire.noisette
Modules
| Module | Purpose |
|---|---|
| OS | Executes system reboot command on forest-mac4 |
| WebSocket Server | Accepts inbound reboot trigger |
States
Single state with one action: Reboot — triggers OS reboot of forest-mac4.
Scheduler
| Event | Time | Period | Status |
|---|---|---|---|
| Reboot | 16:30 | Dec – Feb 5 | Enabled |
| Reboot | 17:00 | Feb 6+ | Enabled |
Butterfly vs Flower Projector Comparison
| Property | Butterfly | Flower |
|---|---|---|
| Reboot Time | 16:45 | 14:30 |
| MIDI Octave | Octave 2 | Octave 1 |
| Laser Note | D2 (Arm Laser) | D1, D#1, E1 (Playlist) |
| Laser Trigger | /laser | /laser |
| Reboot Mode | WebSocket /reboot | Forced Mac reboot |
| Dashboard | Butterfly Wings Projection | Flower Laser |
| WebSocket Client | 10.50.0.30:8080 | — |
Cross-System Integration Map
| Source | Protocol | Target | Purpose |
|---|---|---|---|
| Home Assistant | WebSocket | Chataigne Server | Master on/off, laser triggers |
| Node-RED | WebSocket | Chataigne Server | Timer sync, wing triggers |
| Chataigne | WebSocket Client | Node-RED (10.50.0.30:1880) | Timer data |
| Chataigne | Art-Net (UDP) | PKnight Nodes (.140-.154) | DMX zone control |
| Chataigne | TCP | Projector (10.50.0.5:10000) | Projector power on/off/status |
| Chataigne | MIDI | Laser Hardware | Laser sequence triggers |
| Chataigne (Butterfly) | WebSocket Client | 10.50.0.30:8080 | Butterfly-specific control |
Known Issues
| Issue | Details | Impact |
|---|---|---|
| Welcome DMX6 Universe 3 | Only module not on Universe 0 — may cause confusion during troubleshooting | Low |
| "Edntrance" typo | DMX15 module named "Edntrance" (double space) in config file instead of "Entrance" | Cosmetic |
| "Father TIme" typo | DMX9 module named "Father TIme" (capital I) in config file | Cosmetic |
| Father Time value 249 | Father Time ON sets DMX value to 249 instead of 250 like all other zones | Low |
| /on trigger unused | WS trigger /on is defined but not connected to any action; /0 is the actual ALL ON trigger | Operational |
| Power timers disabled | Power On (16:30) and Power Off (21:35) are disabled — show must be triggered manually | Operational |
| Butterfly Arm/Disarm disabled | Arm Laser (16:50) and Disarm (21:30) schedulers are disabled | Operational |
| Flower Laser Off disabled | Laser Off at 21:30 is disabled — laser must be stopped manually | Operational |
| DMX11/DMX12 gap | No modules assigned to DMX11 or DMX12 — nodes .150 and .151 are unused | Low |