Set Variable Monitoring
Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.56 (Messages); Use Case N04 — Set Variable Monitoring (Functional Block N. Diagnostics)
Overview
The CSMS sends SetVariableMonitoringRequest to install one or more monitors on Device Model variables. Each monitor specifies the threshold/delta value, a type (UpperThreshold, LowerThreshold, Delta, Periodic, PeriodicClockAligned), and a severity level.
When a monitor fires, the CS sends a NotifyEvent message to the CSMS.
The CS replies with one SetMonitoringResultType per requested monitor.
Sequence Diagram
CSMS ──── SetVariableMonitoringRequest ────▶ Charging Station
(setMonitoringData[])
CSMS ◀─── SetVariableMonitoringResponse ──── Charging Station
(setMonitoringResult[])
Initiator
CSMS → Charging Station
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| setMonitoringData | SetMonitoringDataType | 1..* | Required. List of monitors to install. |
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| setMonitoringResult | SetMonitoringResultType | 1..* | Required. Result status per monitor. |
SetMonitoringDataType (selected fields)
| Field | Type | Card. | Description |
|---|---|---|---|
| id | integer | 0..1 | Monitor id (when updating an existing monitor). |
| transaction | boolean | 0..1 | Whether the monitor is transaction-related. |
| value | decimal | 1..1 | Threshold or delta value. |
| type | MonitorEnumType | 1..1 | UpperThreshold / LowerThreshold / Delta / Periodic / PeriodicClockAligned. |
| severity | integer (0..9) | 1..1 | Severity (0 highest – 9 lowest). |
| component | ComponentType | 1..1 | Component being monitored. |
| variable | VariableType | 1..1 | Variable being monitored. |
SetMonitoringStatusEnumType values
Accepted, UnknownComponent, UnknownVariable, UnsupportedMonitorType, Rejected, Duplicate.
Examples
{
"setMonitoringData": [
{
"type": "UpperThreshold",
"value": 80.0,
"severity": 4,
"component": { "name": "EVSE", "evse": { "id": 1 } },
"variable": { "name": "Temperature" }
}
]
}{
"setMonitoringResult": [
{
"id": 1,
"status": "Accepted",
"type": "UpperThreshold",
"severity": 4,
"component": { "name": "EVSE", "evse": { "id": 1 } },
"variable": { "name": "Temperature" }
}
]
}Schema
Source:
schemas/SetVariableMonitoringRequest.json,schemas/SetVariableMonitoringResponse.json(OCPP 2.0.1 FINAL)