eXcontrol · technical details

Power: technical details

How eXcontrol turns an LED installation on, puts it to standby and turns it off, for one screen or a whole venue. This covers what each button does, who decides, the order things happen in, and the rules that protect the hardware. New to this? Start with the simple overview.

eXcontrol v0.3.1 Expromo EPS firmware v2.2 NovaStar H-series · COEX · Expromo eXview

1 · The short version

Four ideas explain everything else

One bar for the room

Turn on · Standby · Turn off

The power bar at the top of the dashboard controls the whole room. It shows the room's state in one word and the next scheduled change. Turning the room off or to standby needs a second tap to confirm.

Groups

Parts of the room have their own target

A group (e.g. LED wall, Screens) is a named set of devices with a target: On, Standby or Off. If a device is in two groups, it follows the higher target, so switching one group off never cuts something another group still needs.

EPS power

If it's on an EPS, the EPS decides

A device fed by an Expromo EPS power unit is turned off by switching off its relay. eXcontrol starts units one at a time, never cuts power that something else still needs, and checks every command it sends.

Nothing is fought

It acts when a target changes

eXcontrol carries out a change once, then watches. If someone turns a screen back on with a remote or another controller, eXcontrol doesn't switch it off again. It shows a pop-up so you know.

2 · The pieces

How devices are wired to power

An Expromo EPS has six relays ("outputs"). During setup, each device is given Powered by: which EPS feeds it, and optionally which one output. That setting is all eXcontrol knows about the wiring, so it has to be right.

ONE EPS UNIT WHAT IS PLUGGED IN NO EPS Expromo EPS 6 zero-cross relays OUT 1 OUT 2 OUT 3 OUT 4 OUT 5 OUT 6 LED wall: H9 + COEX + cabinets Powered by: this EPS, no output set ("whole unit") Shares every output no other device claimed: here 1–4 and 6. A relay goes off only when every device sharing it is Off. cabinets and lights need no device entry at all eXview screenPowered by: this EPS · output 5 Network switchoutput 6 marked protected Own wall socket eXview in the lobby, a processor, OBS PC Nothing to switch off, so eXcontrol uses the network instead: eXview → Standby NovaStar → Black
switched by an EPS relay controlled over the network protected: never switched off automatically
One EPS can feed several things: the LED wall on some outputs and a screen on its own output. Switching the screen's output never touches the wall's outputs, and the reverse is also true.
Output ownership

A device with an output set owns that output. Devices without one share all the rest. A device with no Powered by is on its own socket.

Protected output

For the network switch or the control PC. The room, a group or a schedule never switches it off, because eXcontrol would lose its own connection. Its own button in Power › Details still works.

Spare outputs

Outputs that no configured device depends on (lights, passive loads, a spare unit) follow only the room. A group never touches them.

3 · Who decides

How each device gets its target

Buttons and schedules never switch devices directly. They set a target on the room or on a group. eXcontrol then works out each device's target and carries it out.

WHO ASKS THE ROOM GROUPS A DEVICE Power bar Schedule entry Group row API · Companion or straight to one group Room target e.g. Off, set 17:00 by "Schedule: Power off" passes down LED walltarget: Off Screenstarget: On (set later,from its own row) eXview in both groups highest wins → On Its own card: a command there overrides its groups until one of them changes. In no group: it follows the room.
  1. The room passes its target down. Setting the room (the power bar, or a schedule entry for the whole room) sets every group to the same target and clears any per-device overrides.
  2. Highest wins. A device in several groups follows the highest target among them: On beats Standby, which beats Off.
  3. No group, then the room. A device that isn't in any group follows the room's target.
  4. The device's own card overrides until one of its groups changes next. Turning something back on from its card doesn't raise a "turned on after its scheduled off" pop-up.
After a restart, group targets start as "not set", and eXcontrol switches nothing at start-up. Things stay as they are until the next change: a button, or the next schedule entry.

4 · On · Standby · Off

What the three targets do to each kind of device

DeviceOnStandbyOff
Anything on an EPS Its output(s) switched on, then an eXview is woken and a NovaStar is un-blacked Power stays on. eXview → Standby, NovaStar → Black Its output is switched off. The EPS decides, with no soft step first.
eXview on its own socket Woken (wake packet, or the power-on command from Black) Deep Standby Same as Standby, since there's no relay to cut
NovaStar H-series / COEX on its own socket Black released Black Black
Off, but its output also feeds a device that must stay on n/a n/a Stays powered. It goes to Standby / Black instead, and its card says who it's kept on for.
AN EXVIEW SCREEN, OVER THE NETWORK Onpicture on Blackpicture muted, fully awake StandbyLED supplies off, low power Black · instant On · instant screen's own timer Standby · about 20 s of silent reboot to get there Wake · only the wake packet works from Standby · 30–70 s NovaStar H-series and COEX have On ⇄ Black only. There's no standby over the network.
While an eXview is entering or leaving Standby it goes silent for a while. eXcontrol expects that and shows Going to standby… or Waking…, not a fault. The Black → Standby timer is a setting on the screen itself, which eXcontrol can't read.

5 · Order of work

What happens, step by step, when a target changes

Each change runs as one job, in a fixed order. If a newer change arrives while a job is running, the newer one wins. Progress is shown live in the power bar.

  1. Soft off. Devices that aren't losing their power go to Standby or Black over the network. That covers everything set to Standby, screens on their own socket, and devices kept powered for someone else.
  2. Switch-offs. EPS units in reverse order. The relays switch off at current zero, so switching off needs no stagger, only the right order.
  3. Switch-ons. One EPS unit at a time, with a 1 s gap between units, so there is only one inrush at a time. A unit that is fully off uses its own built-in sequence. Otherwise only the missing outputs are switched on, 300 ms apart.
  4. Wait, then wake. eXcontrol waits for each device to come online (up to 4 min each), then wakes the screens 2 s apart and releases Black on the NovaStar processors it blacked out.
TURN ON · TWO EPS UNITS, TWO SCREENS EPS 1 EPS 2 Screens start delay fully on ~2.6 s 1 s gap start delay fully on ~6.2 s wait until online (≤ 4 min) 1 +2 s 0 s12345678 s wake TURN OFF · SAME ROOM Screens EPS 2 EPS 1 own-socket screens → Standby all 6 off at once all 6 off at once Reverse order. Devices on an EPS get no soft step: the relay decides. Protected outputs stay on.
one relay switching on (the EPS's own 300 ms steps) network command to a screen waiting
The timings are measured on EPS firmware v2.2: a 1 s start delay, then one relay every ~300 ms. With five units, the room is powered in about 17 s. Screens and processors then take as long as they need to boot.

6 · EPS safety rules

The rules eXcontrol follows with every EPS command

Each rule comes from testing a real unit. eXcontrol applies them to every command, wherever it comes from: the power bar, a group, a schedule, Companion or the API.

Never restart running equipment

On a partly-on unit, POWER_ON first switches everything off, then re-sequences, so running equipment loses power for about 1 s. eXcontrol only sends POWER_ON to a fully-off unit. Otherwise it switches on just the missing outputs.

Don't interrupt a sequence

A single-output command sent during the unit's own sequence aborts it, and the remaining outputs never come on. eXcontrol waits for the sequence to finish.

One connection at a time

Two connections at once can make the unit drop both commands, then ignore everything for ~10 s. eXcontrol keeps one queue per unit, and status checks wait while a command runs.

Verify, then retry

Every command is confirmed by reading the status back, and retried up to 3 times if it didn't take. Repeating a command is harmless. This also recovers from collisions with other controllers.

Minimum off-time: 30 s

An output stays off at least 30 s before it's switched on again. This protects inrush limiters, and processors and Android screens aren't hard-cycled. eXcontrol shows a notice while it waits. It can be set per unit.

Patience before a fault

An EPS is shown as Not responding only after 3 missed status checks in a row, not after one lost reply.

7 · After power returns

Starting up, and the power-on default scene

Boot allowance

Up to 4 minutes to start

When an EPS comes on, its equipment gets up to 4 minutes to start before a missing device counts as a problem. Meanwhile the room shows Starting… and names what it's waiting for. A device whose own output is switched off is expected to be silent. It shows No power, not a fault.

Default scene

Brightness and inputs back to normal

A scene can be marked as the power-on default for one EPS, or for all. When that EPS goes from off to on, eXcontrol waits 4 s, applies the scene, and applies it again 9 s later (controllers sometimes overwrite settings while they finish booting). It only covers devices on that EPS.

It only runs if eXcontrol saw the unit off first. Restarting eXcontrol next to a wall that's already on doesn't reset anything.

After a building power cut, what each EPS does depends on its own Restore after reboot setting (in its web page). eXcontrol can't start units in sequence while it's still booting itself. On sites with several EPS units on one supply, keep restore off and let a schedule or the power bar bring the room up.

8 · Schedule

Timed changes, warnings and "+1 hour"

PartHow it works
ActionsTurn on, Standby, Turn off, or apply a scene.
TargetThe room, one group, or one EPS unit (whole-unit power, still with every safety rule from section 6). Standby isn't possible for a single EPS unit, so such an entry is skipped.
DaysPick the weekdays. With none picked, the entry runs every day.
WarningBefore a Turn off or Standby entry, a full-screen warning appears in the last 15 minutes. It names what will switch off and can be dismissed.
Extend by 1 hourAvailable in the warning and in the power bar, up to 12 hours in total. It applies to that one entry only. Other entries still run on time, and when the extension ends only that entry's own target is switched.
PrecisionThe schedule is checked every 20 s, so an entry runs within the first 20 s of its minute. It follows the PC's clock and time zone.
Run one eXcontrol per installation. Two copies pointed at the same hardware each carry out their own schedule, so the room gets switched by both. If you set up a test copy, point it at test hardware or disable its schedule.

9 · What you see

One vocabulary everywhere

Every card, row and bar uses the same words and colours. Red means someone needs to look. Nothing else is red.

WordMeaning
OnPartly onRunning. Partly on: some displays are on, others aren't, or an EPS has some outputs off.
BlackStandbyPicture off, device still reachable. Black comes back instantly. Standby takes 30–70 s to wake.
Starting…Waking…Going to standby…Turning off…A change is in progress. The power bar shows what it's working on, e.g. "Powering on EPS 2" or "Waiting for H9".
OffNo powerSwitched off as intended. No power: its EPS output is off, so it's expected to be silent.
Not respondingShould be reachable but isn't. Check its power and network.
Why a device is in its state

Each card says which group decided, e.g. On · via Screens. When an Off device is kept powered for another device, its card says so, e.g. power stays on, output also feeds H9.

Pop-ups

If something comes back on after it was set to Off or Standby (a remote, a wall switch, another controller), a pop-up says what and when, e.g. "eXview turned On after it was set to Standby (Schedule: Power off, 17:00)." Dismiss it, or leave it for the next person.

10 · Other controllers

Companion, Crestron, Q-SYS: go through eXcontrol

Other control systems should send requests to eXcontrol instead of to the EPS directly. That way the same order of work and the same safety rules apply to their commands too. Group actions aren't in the Companion module yet, but its Generic HTTP module can call these directly.

ActionRequestBody
Room or group: On / Standby / OffPOST /api/groups/<id>/state
all = the room
{"state":"on"|"standby"|"off"}
Room on / off (same as the power bar)POST /api/power/all/on · /offnone
One EPS unit on / off (safe)POST /api/power/<eps-id>/on · /offnone
One eXview: On / Black / StandbyPOST /api/devices/<id>/zones/-/power{"state":"on"|"blackout"|"standby"}
List / save groupsGET · PUT /api/groupsPUT: {"groups":[…]}
Dismiss a pop-upPOST /api/alerts/<id>/dismissall dismisses every one
Everything, liveGET /api/stateincludes groups, deviceTargets, alerts

If an access password is set (Setup › Access), it protects everything, including these requests. A controller logs in once and sends the bearer token it gets with every request. The token is valid for 30 days or until eXcontrol restarts. See Security.

11 · Not yet

Known limits of this version

Groups

No nested groups. Group targets aren't kept across a restart.

Supply

All EPS units are started one after another. There's no per-circuit "feeds" setting yet to run separate supplies in parallel.

Schedule

No exception dates (holidays). An entry missed while eXcontrol was down isn't caught up afterwards.

Companion

No group or eXview actions in the Companion module yet (use Generic HTTP).

Surfaces

Every browser sees the whole room. There's no per-tablet scoping to one group yet.

EPS firmware wishes (v2.3)

POWER_ON from partly-on that only adds missing outputs, a "busy" reply instead of dropping, a start offset per unit, and the firmware version in POWER_STATUS.