🎛️ 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

INBOUND CONTROL PROTOCOL DEVICES Node-RED WebSocket Home Assistant via Node-RED Chataigne Timer /ws/timer CHATAIGNE Show Control Engine Art-Net DMX / UDP TCP Port 10000 MIDI USB WebSocket Port 8080 DMX Nodes 13 nodes (.140-.154) Epson DHT8000 10.50.0.5 LaserCubes USB via Mac2/Mac3 Node-RED 10.50.0.30:8080

Main Show Controller — State Machine

Runs on forest-mac1 (10.50.0.30) — Config: ForestofLigttDMX.noisette

FOREST-MAC1 — MAIN SHOW CONTROL STATE MACHINE MODULES WebSocket Server WebSocket Client → 10.50.0.30:1880/ws/timer TCP (Projector) 10.50.0.5:10000 MIDI Time WS TRIGGERS /0 = ON /off /laser /wingsOn /wingsOff /on (unused) State: Individual ON 13 zones → DMX value 250 (Father Time = 249) Hoops, Mushrooms, Umbrellas, Welcome... Red Trees, RBalls, Doors, Entrance, Lasers, Hay Bales State 1: Individual OFF 13 zones → DMX value 0 or 1 Hoops/FatherTime/HayBales=0, others=1 Control: Master ON/OFF ALL ON (/0) ALL OFF (/off) Triggers State / State 1 processors Timers 16:30 Power On (DISABLED) 21:35 Power Off (DISABLED) Projector On/Off (WS /wingsOn /wingsOff) Laser On/On 1 (WS /laser + unconditional) OUTPUTS 13 DMX Art-Net Nodes 10.50.0.140–.154 (PKnight CR041R) Epson DHT8000 TCP 10.50.0.5:10000 MIDI → Lasers Note On trigger WS Broadcast ProjectorOn/Off → connected clients Node-RED WS Client → 10.50.0.30:1880/ws/timer 4 LaserCubes LC1 Butterfly (mac2) LC2 Flower (mac3) LC3+4 Saloon (mac2/mac3)

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 NameDMX IDNode IPUniverseNotes
HoopsDMX Z110.50.0.1400
HoopsDMX210.50.0.1410
HoopsDMX310.50.0.1420
MushroomsDMX410.50.0.1430
Umbrellas LBallsDMX510.50.0.1440
WelcomeDMX610.50.0.1453Uses Universe 3 (non-standard)
Red TreesDMX710.50.0.1460
RBallsDMX810.50.0.1470
Father TimeDMX910.50.0.1480
Hay BalesDMX1010.50.0.1490
LasersDMX1310.50.0.1520
DoorsDMX1410.50.0.1530
EntranceDMX1510.50.0.1540Typo in config: "Edntrance"
⚠️
Welcome (DMX6) uses Universe 3 instead of Universe 0. This is the only non-standard universe assignment. The Entrance module has a typo in the config file: Edntrance.

Network Modules

WebSocket Server

Chataigne runs a WebSocket server that accepts trigger commands from Home Assistant and Node-RED.

Trigger MessageAction
/0ALL ON — Sets all 13 DMX zones to 250 (triggers Control/ALL ON state)
/offALL OFF — Sets all zones to 0 or 1 (triggers Control/ALL OFF state)
/laserTrigger laser sequence (MIDI Note On)
/wingsOnProjector ON — sends TCP handshake + C00 to Epson, broadcasts ProjectorOn to WS clients
/wingsOffProjector OFF — sends TCP handshake + C01 to Epson, broadcasts ProjectorOff to WS clients
/onDefined but NOT connected to any action
/1Defined but NOT connected to any action
/falseDefined 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.

CommandAction
0000\rProjector status query
C00\rProjector power OFF
C01\rProjector 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.

ZoneDMX Value
Hoops Z1250
Hoops DMX2250
Hoops DMX3250
Mushrooms DMX4250
Umbrellas LBalls DMX5250
Welcome DMX6250
Red Trees DMX7250
RBalls DMX8250
Father Time DMX9249
Hay Bales DMX10250
Lasers DMX13250
Doors DMX14250
Entrance DMX15250

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

ProcessorTriggerTimeStatusAction
Power OnTime-based16:30DisabledTriggers Control/ALL ON
Power OffTime-based21:35DisabledTriggers Control/ALL OFF
Projector OnWS /wingsOnActiveTCP handshake + C00 to Epson, broadcasts ProjectorOn
Projector OffWS /wingsOffActiveTCP handshake + C01 to Epson, broadcasts ProjectorOff
Lasers OnUnconditionalActiveMIDI Note On (fires on state entry)
Lasers On 1WS /laserActiveMIDI Note On
⚠️
Power On/Off timers are disabled. The show is currently started and stopped manually or via Home Assistant triggers rather than on a fixed schedule. Projector On/Off are WebSocket-triggered (not scheduled).

Butterfly Projector Sub-Configuration

Runs on forest-mac2 (10.50.0.31) — Config: Projector.noisette

FOREST-MAC2 — BUTTERFLY CHATAIGNE STATE MACHINE MODULES WebSocket Server WebSocket Client → 10.50.0.30:8080 MIDI Time OS WS SERVER TRIGGERS OFF Reboot Laser WS CLIENT (from Node-RED) ProjOn ProjOff On STATES Laser Arm Laser → MIDI Note On (Oct 2) Arm Laser 1 → MIDI (from /laser WS) Butterfly → MIDI Note D2 System Reboot → OS Reboot (from /reboot WS) Scheduler 16:45 → Reboot Mac (ENABLED) 16:50 → Arm Laser (DISABLED) 21:30 → Disarm Laser (DISABLED) OUTPUTS LaserCube MIDI → USB Ethernet → 10.0.0.x OS Reboot Restarts forest-mac2 Node-RED WS Client → 10.50.0.30:8080 MadMapper Butterfly-v6 → Epson DHT8000 Epson DHT8000 10.50.0.5

WebSocket Triggers

TriggerAction
/laserTrigger butterfly laser
/rebootReboot butterfly projector Mac
/offTurn 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

EventTimeStatus
Reboot16:45Enabled
Arm Laser16:50Disabled
Disarm21:30Disabled

Flower Projector Sub-Configuration

Runs on forest-mac3 (10.50.0.32) — Config: flower.noisette

FOREST-MAC3 — FLOWER CHATAIGNE STATE MACHINE MODULES WebSocket Server MIDI Time OS WS SERVER TRIGGERS Reboot Laser STATES Laser Arm Laser → MIDI Note On (Oct 1) Playlist → MIDI D1, D#1, E1 (3 notes sequenced) Mac Reboot Mac → OS Force Reboot Scheduler 14:30 → Reboot Mac (ENABLED) Laser On → Arm + Playlist (from WS) 21:30 → Laser Off (DISABLED) OUTPUTS LaserCube MIDI → USB Ethernet → 192.168.1.x OS Force Reboot Restarts forest-mac3 MadMapper Flowers → Optoma UHD50X Optoma UHD50X

WebSocket Triggers

TriggerAction
/laserTrigger flower laser
/rebootReboot 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

EventTimeStatus
Reboot14:30Enabled
Laser OnEnabled
Laser Off21:30Disabled

Fire Projector Sub-Configuration

Runs on forest-mac4 (10.50.0.33) — Config: Fire.noisette

ℹ️
Minimal configuration: Fire.noisette is a lightweight Chataigne config used exclusively for scheduled reboots. It has no scene cues, no laser, and no WebSocket Client. MadMapper manages playback independently in Conductor mode.

Modules

ModulePurpose
OSExecutes system reboot command on forest-mac4
WebSocket ServerAccepts inbound reboot trigger

States

Single state with one action: Reboot — triggers OS reboot of forest-mac4.

Scheduler

EventTimePeriodStatus
Reboot16:30Dec – Feb 5Enabled
Reboot17:00Feb 6+Enabled

Butterfly vs Flower Projector Comparison

PropertyButterflyFlower
Reboot Time16:4514:30
MIDI OctaveOctave 2Octave 1
Laser NoteD2 (Arm Laser)D1, D#1, E1 (Playlist)
Laser Trigger/laser/laser
Reboot ModeWebSocket /rebootForced Mac reboot
DashboardButterfly Wings ProjectionFlower Laser
WebSocket Client10.50.0.30:8080

Cross-System Integration Map

SourceProtocolTargetPurpose
Home AssistantWebSocketChataigne ServerMaster on/off, laser triggers
Node-REDWebSocketChataigne ServerTimer sync, wing triggers
ChataigneWebSocket ClientNode-RED (10.50.0.30:1880)Timer data
ChataigneArt-Net (UDP)PKnight Nodes (.140-.154)DMX zone control
ChataigneTCPProjector (10.50.0.5:10000)Projector power on/off/status
ChataigneMIDILaser HardwareLaser sequence triggers
Chataigne (Butterfly)WebSocket Client10.50.0.30:8080Butterfly-specific control

Known Issues

IssueDetailsImpact
Welcome DMX6 Universe 3Only module not on Universe 0 — may cause confusion during troubleshootingLow
"Edntrance" typoDMX15 module named "Edntrance" (double space) in config file instead of "Entrance"Cosmetic
"Father TIme" typoDMX9 module named "Father TIme" (capital I) in config fileCosmetic
Father Time value 249Father Time ON sets DMX value to 249 instead of 250 like all other zonesLow
/on trigger unusedWS trigger /on is defined but not connected to any action; /0 is the actual ALL ON triggerOperational
Power timers disabledPower On (16:30) and Power Off (21:35) are disabled — show must be triggered manuallyOperational
Butterfly Arm/Disarm disabledArm Laser (16:50) and Disarm (21:30) schedulers are disabledOperational
Flower Laser Off disabledLaser Off at 21:30 is disabled — laser must be stopped manuallyOperational
DMX11/DMX12 gapNo modules assigned to DMX11 or DMX12 — nodes .150 and .151 are unusedLow