TC_B_02_CS — Cold Boot Charging Station - Pending
TC_B_02_CS — Cold Boot Charging Station - Pending
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block B. Provisioning, page 28.
Identification
| Field | Value |
|---|---|
| Test case name | Cold Boot Charging Station - Pending |
| Test case Id | TC_B_02_CS |
| Use case Id(s) | B02, F06 |
| Requirement(s) | B02.FR.01, B02.FR.02, B02.FR.04, B02.FR.05, B02.FR.06, B02.FR.08, F06.FR.17 |
| System under test | Charging Station |
| Functional block | B. Provisioning |
Description
The booting mechanism allows a Charging Station to provide some general information about the Charging Station to the CSMS on startup AND it allows the Charging Station to request whether it is allowed to start sending other OCPP messages. A CSMS can temporarily halt the Charging Stations operations by returning the Pending status at the BootNotificationResponse. During this time the CSMS is able to retrieve and set configurations from the Charging Station.
Purpose
To verify whether the Charging Station is able to correctly handle the pending state of the boot mechanism.
Prerequisite(s)
The testcases; TC_B_06_CS, TC_B_09_CS, TC_B_13_CS are executed with test result PASS.
Before (Preparations)
Configuration State:
- N/a
Memory State:
- N/a
Reusable State(s):
- N/a
Main (Test scenario)
| Charging Station | CSMS |
|---|---|
| Manual Action: Reboot the Charging Station. | |
| 1. The Charging Station sends a BootNotificationRequest | 2. The OCTT responds with a BootNotificationResponse with status Pending interval <Configured heartbeatInterval> |
| 4. The Charging Station responds with SetVariablesResponse | 3. OCTT sends SetVariablesRequest with:; - variable.name = "OfflineThreshold"; - component.name = "OCPPCommCtrlr"; - attributeValue = "300"; - attributeType is omitted |
| 6. The Charging Station responds with GetVariablesResponse | 5. OCTT sends GetVariablesRequest with:; - variable.name = "OfflineThreshold"; - component.name = "OCPPCommCtrlr"; - attributeType is omitted |
| 8. Charging Station responds with: GetBaseReportResponse | 7. OCTT sends GetBaseReportRequest with:; - requestId = <Generated requestId>; - reportBase = FullInventory |
| Charging Station | CSMS |
| 9. Charging Station responds with: NotifyReportRequest; Note(s):; - This step is repeated as often as needed to report all configuration variables. | 10. OCTT sends NotifyReportResponse |
| 12. The Charging Station responds with a RequestStartTransactionResponse | 11. The OCTT sends a RequestStartTransactionRequest; Note(s):; - This step is executed after the OCTT received all NotifyReport messages. This is indicated by the tbc and seqNo fields. |
| 14. The Charging Station responds with a TriggerMessageResponse | 13. The OCTT sends a TriggerMessageRequest; with requestedMessage BootNotification |
| 15. The Charging Station sends a BootNotificationRequest; Note(s):; - The Charging Station resends the BootNotificationRequest after having responded to the TriggerMessageRequest, so before the interval from the BootNotificationResponse has been passed. | 16. The OCTT responds with a BootNotificationResponse with status Accepted interval <Configured heartbeatInterval> |
| 17. The Charging Station notifies the CSMS about the current state of all connectors. | 18. The OCTT responds accordingly. |
Tool validations
Step 4:
Message: SetVariablesResponse
- setVariableResult[0].attributeStatus Accepted
Step 6:
Message: GetVariablesResponse
- getVariableResult[0].attributeStatus Accepted
Step 8:
Message: GetBaseReportResponse
- status Accepted
Step 12:
Message: RequestStartTransactionResponse
- status Rejected
Step 14:
Message: TriggerMessageResponse
- status Accepted or NotImplemented
Step 15:
Message: BootNotificationRequest
- reason Triggered (If the status from the response from step 14 contained Accepted)
Step 17:
Message: StatusNotificationRequest
- connectorStatus Available Message: NotifyEventRequest
- eventData[0].trigger Delta
- eventData[0].actualValue "Available"
- eventData[0].component.name "Connector"
- eventData[0].variable.name "AvailabilityState"
Post scenario validations
- A message to report the state of a connector has been received for all connectors.