Letting users try a faulty socket guarantees a bad experience. The driver taps a card, plugs in the cable, waits, and nothing happens. Instead, taking the socket out of service remotely makes sure it also appears correctly on the map and in the app. In OCPP, the command that does this is ChangeAvailability.

Command structure

In OCPP 1.6J there are two fields:

  • connectorId: Which connector. 0 means the whole charger.
  • type: Operative (put into service) or Inoperative (take out of service).

[2, "9001", "ChangeAvailability", {"connectorId": 2, "type": "Inoperative"}]

The charger's replies:

  • Accepted: The change was applied.
  • Rejected: The change could not be applied.
  • Scheduled: A transaction is active on the connector; the change will be applied when it ends.

When the change is applied, the charger sends a StatusNotification for the connector and the status becomes Unavailable (or Available again).

In OCPP 2.0.1 and 2.1 the fields are named operationalStatus and the optional evse object; the logic is the same.

What does the Scheduled reply mean?

If the socket is currently charging, the charger does not interrupt the session. It returns Scheduled and takes the socket out of service as soon as the session ends. This lets you prepare for maintenance without inconveniencing a driver who is charging.

Use cases

A faulty socket

If a socket keeps dropping into Faulted or its cable lock will not release, set it to Inoperative until the field team arrives. Drivers will not be directed to a faulty socket.

Planned maintenance

Taking the charger out of service before a technician visit prevents anyone from starting a session during maintenance. Once maintenance is complete, you put it back into service with the Operative command.

Capacity management

If the building's electrical infrastructure has a temporary constraint, closing some sockets is an option. In most cases, however, limiting power is better than closing sockets. See limiting power with SetChargingProfile.

Commercial reasons

It can also be used to switch off charging at a location outside opening hours or to set sockets aside for a special event. To reserve a socket for a specific person, a reservation is more suitable; see ReserveNow.

Persistence

According to OCPP 1.6J, a change made with ChangeAvailability should persist even if the charger restarts. So a socket you set to Inoperative will not reopen by itself after a reset. Not knowing this can lead to the question "why is the charger still closed?". Tracking out-of-service sockets in a separate list in the dashboard is good practice.

Unavailable vs Faulted

  • Unavailable: The socket was closed deliberately, by an operator or system decision.
  • Faulted: The charger detected a fault.

It is important to separate these two statuses in reports. If planned maintenance is counted the same way as a fault in the availability (uptime) calculation, the network can look worse than it really is. For fault codes, see our OCPP error codes guide.

Good practice

  • Add a note when closing a socket: why it was closed, who closed it and when it is expected to reopen.
  • Track how long sockets stay closed; forgotten sockets mean lost revenue.
  • Run a short test session on a socket you reopen after maintenance.
  • Link closing and reopening actions to maintenance records.

Closing the whole charger

When Inoperative is sent with connectorId 0, all of the charger's connectors go out of service. This is useful, for example, when electrical installation work is planned at a location. The charger keeps its OCPP connection, however; it can continue to receive commands, send Heartbeats and install firmware updates. This lets you keep controlling the charger remotely during maintenance without shutting it down completely. When maintenance is over, sending Operative with connectorId 0 reopens all sockets together.

Conclusion

ChangeAvailability is the standard way to put a socket or charger in or out of service remotely. Thanks to the Scheduled reply it does not interrupt active sessions, and because it is persistent it stays in effect after a reset. Üreticy's OCPP software lets you open and close sockets from the dashboard and track these actions together with your maintenance and SLA processes.