Live infrastructure service

DALI Crane Lighting

Multi-crane overview, per-light predictive-maintenance health, and per-crane + cluster control. All cranes, all lights, live from MQTT.

DALI Control — Reference

disconnected

Live status & health — crane QC01 (auto-updated from retained status/diagnostics — works even when lights are OFF)

SAOn/OffLevelOnlineHealth Power WOp hGear °CSC / OC faults
waiting for data…

Live camera — ET200SP system (MJPEG feed from edge PLC; routed through SpiderWeb proxy — internal IPs never exposed)

ET200SP System
Connecting…
ET200SP live stream
Camera Offline Retrying in background…
Edge PLC (Raspberry Pi + ET200SP)

Individual light

ON=action5 (recall max) · OFF=action0 · dim=action255+level · step=action3/4

Group / cluster & broadcast

Group g uses addr 128+g · broadcast = addr 255. A gear only responds to a group after it has been assigned to it (see "Group membership").

Query a light (on-demand)

result appears here ↩️ (and on cmd/resp log)

Reply arrives on dali/<crane>/cmd/resp. CMD 1 → data[0]=level. CMD 11 → data[2]=basic status bits (b0 gearFail · b1 lampFail · b2 lampOn · b3 limitError).

Dimming curve (DT6 / LED)

read-back appears here ↩️ (and on the log)

Webapp sends intent to dali/<crane>/cmd/curve; the PLC builds the DALI frames. Gear must already be DT6 (watch rc=0x91 type-mismatch on cmd/resp). The PLC owns the linear/log inversion — you just pick the curve. The PLC auto-reads-back after every set → dali/<crane>/dimcurve/<addr>.

Group membership (assign address → groups)

CMD 28/29 bytes: p=[addr, mask(groups0–7), mask(groups8–15)]. This is how you wire up clusters before using GROUP ON/OFF.

Raw CM command console

Reaches ANY command in the CM list. e.g. cmd 21 p=[addr,6] add LED gear, cmd 62 p=[] reset module, cmd 0 p=[1] poll. Reply on cmd/resp.

MQTT log

Dimming curve per channel All 64 DALI short addresses for crane QC01. Set buttons are enabled only when the gear is online and answered a dim-curve read. The PLC auto-reads-back after every set — that confirmation is the source of truth (no optimistic update).

Crane: QC01
idle
Channel Online Current curve Set (raw DT6 route B) Query
click "Refresh all" to query every channel…

Online gate — a Set is allowed only when the gear is currently online. Online is derived from the latest signal: status.online === true, or the most recent dim-curve query returned valid === true. A stale value (from the retained cache, before any query this session) shows a dotted underline marker.