OpenITS
Docs Schema registry AsyncAPI
Search the docs /
GitHub
Docs/Model reference/signal-control
Illustrative excerpt from openits-signal-control.yang. The full model is the normative source. View source ↗

signal-control

CORE · WIRED

Actuated signal controllers: the model for phases, detectors, coordination, preemption and priority.

Namespace
urn:openits:yang:signal-control
Latest revision
2026-07-21
Reference std
NTCIP 1202
Event types
20

Data model

The configuration and state tree. Safety constraints are expressed as YANG must and validated at every boundary.

container signal-controller {
// operating mode of the intersection
leaf mode { type operation-mode; } // free|coordinated|flash|preempt
leaf cycle-length { type uint16; units "seconds"; }
list phases {
key "id";
leaf id { type phase-id; }
leaf state { type phase-state; } // green|yellow|red|walk|ped-clear
leaf min-green { type decimal64; }
must "yellow >= 3.0 and red >= 3.0 and min-green >= 5.0" {
error-message "MUTCD minimum timing";
}
}
}

Notifications & events

Each event is its own typed notification with its own ce-type. Consumers filter by subject before parsing.

Event
ce-type
Family
comm-health-event
openits.signal-control.comm-health-event.v1
comm
controller-fault-event
openits.signal-control.controller-fault-event.v1
fault
coordination-change
openits.signal-control.coordination-change.v1
coordination
detector-report
openits.signal-control.detector-report.v1
detector
detector-transition
openits.signal-control.detector-transition.v1
detector
fault-cleared
openits.signal-control.fault-cleared.v1
fault
fault-raised
openits.signal-control.fault-raised.v1
fault
mode-changed
openits.signal-control.mode-changed.v1
mode
operational-status-report
openits.signal-control.operational-status-report.v1
operational
overlap-change
openits.signal-control.overlap-change.v1
overlap
pedestrian-event
openits.signal-control.pedestrian-event.v1
pedestrian
phase-state-change
openits.signal-control.phase-state-change.v1
phase
plan-applied
openits.signal-control.plan-applied.v1
plan
preemption-activated
openits.signal-control.preemption-activated.v1
preemption
preemption-cleared
openits.signal-control.preemption-cleared.v1
preemption
preemption-event
openits.signal-control.preemption-event.v1
preemption
tsam-mode-changed
openits.signal-control.tsam-mode-changed.v1
mode
tsam-recommendation-applied
openits.signal-control.tsam-recommendation-applied.v1
tsam
tsp-event
openits.signal-control.tsp-event.v1
tsp
unmapped-event
openits.signal-control.unmapped-event.v1
unmapped
Event families: comm coordination detector fault mode operational overlap pedestrian phase plan preemption tsam tsp unmapped

Subject & bindings

# canonical subject (reference CloudEvents binding)
openits.us-tx.txdot.d07.signal-control.i35-exit-214.comm-health-event
Open in AsyncAPI ↗ Protobuf shapes

Schema registry

Every revision is immutable and content-addressed. Cite the exact date in ce-dataschema; there is no latest alias.

2026-07-21CURRENT
schema.proto · module.yang ↗
2026-07-17
schema.proto · module.yang ↗
2026-07-14
schema.proto · module.yang ↗
2026-07-13
schema.proto · module.yang ↗
← Previous
Model reference index
Next →
dms