Below is a comprehensive, anonymised, beginner-friendly SEO article based on the OCPI/iHomer configuration subject from this chat.
When working with electric vehicle charging platforms, small configuration details can have a big impact on how charging stations appear and behave inside mobile apps, web portals, and roaming platforms.
One such configuration is:
OCPI_FALLBACK_CAPABILITIES
In an iHomer container environment, this setting controls what EVSE capabilities are automatically added when no capabilities are received from the charging station or from the upstream system.
For beginners, this may sound technical, but the idea is simple: if the system does not know what a charging point can do, iHomer may assume a default set of features.
That assumption can be useful, but it can also cause confusion if the assumed features do not match the real capabilities of the physical charging station.
What Is OCPI?
OCPI stands for Open Charge Point Interface. It is a widely used protocol in the electric vehicle charging industry.
OCPI allows different systems to exchange information, such as:
- charging station locations;
- connector availability;
- charging prices;
- charging sessions;
- token authorization;
- remote start and stop commands;
- EVSE capabilities.
In simple terms, OCPI helps different EV charging platforms talk to each other.
For example, a Charge Point Operator may expose its charging stations through OCPI, and an eMobility Service Provider may display those stations in a mobile app.
What Is an EVSE?
EVSE stands for Electric Vehicle Supply Equipment.
In practice, an EVSE usually represents a charging point or charging outlet that can supply power to an electric vehicle.
In OCPI, an EVSE can include information such as:
- EVSE ID;
- status;
- connectors;
- location;
- capabilities;
- parking restrictions;
- floor level;
- physical reference.
The capabilities field is especially important because it tells external systems what the EVSE supports.
What Are OCPI EVSE Capabilities?
EVSE capabilities describe what a charging point can do.
Examples include:
- support for remote start and stop;
- RFID reader availability;
- reservable charger support;
- unlock connector support;
- credit card payment terminal;
- charging profiles.
Two common capabilities are:
REMOTE_START_STOP_CAPABLE
and:
RFID_READER
These capabilities tell an external system that the charger can be started or stopped remotely and that it has an RFID reader for card-based authentication.
What Does OCPI_FALLBACK_CAPABILITIES Do?
The OCPI_FALLBACK_CAPABILITIES setting defines which capabilities should be added automatically to an outgoing EVSE when no capabilities are provided.
A typical default value is:
REMOTE_START_STOP_CAPABLE,RFID_READER
This means that if an EVSE does not already contain a list of capabilities, iHomer may automatically add these two capabilities before sending the EVSE through OCPI.
In beginner terms, this setting says:
“If the charger does not tell us what it supports, assume it supports remote start/stop and RFID.”
What Happens If OCPI_FALLBACK_CAPABILITIES Is Missing?
If OCPI_FALLBACK_CAPABILITIES is not defined in the iHomer container configuration, iHomer uses its default fallback value.
That default value is commonly:
REMOTE_START_STOP_CAPABLE,RFID_READER
So, if the environment variable is missing completely, iHomer does not necessarily leave the capabilities empty. Instead, it may automatically add the default capabilities.
This means that an outgoing EVSE that originally had no capabilities could be published as if it supports:
- remote start and stop;
- RFID authentication.
Example: EVSE Without Capabilities
Imagine iHomer receives or builds an EVSE like this:
{
"uid": "515",
"evse_id": "XX*ABC*E515"
}
There is no capabilities field.
If OCPI_FALLBACK_CAPABILITIES is missing from the container, iHomer may apply the default fallback and publish it like this:
{
"uid": "515",
"evse_id": "XX*ABC*E515",
"capabilities": [
"REMOTE_START_STOP_CAPABLE",
"RFID_READER"
]
}
From the perspective of an external OCPI consumer, this EVSE now appears to support remote start and RFID.
Why This Matters
This behaviour matters because many mobile apps and backend systems use the EVSE capabilities to decide which actions should be available to the driver.
For example, if an app sees this:
"capabilities": [
"REMOTE_START_STOP_CAPABLE",
"RFID_READER"
]
the app may display a “Start charging” button.
The driver may then press the button expecting the session to start remotely.
However, if the real charger does not actually support remote start, the command may fail later.
The Remote Start Problem
A common issue can look like this:
- The EVSE has no real capability information.
- iHomer adds fallback capabilities.
- The app sees
REMOTE_START_STOP_CAPABLE. - The app displays a remote start button.
- The user presses “Start charging”.
- The backend initially accepts the command.
- The charger or CPO later rejects it.
This can create confusing behaviour.
The API may initially respond with something like:
{
"result": "ACCEPTED",
"timeout": 60
}
But later, a callback may return:
{
"result": "REJECTED"
}
For the user, this looks like the app allowed an operation that the charger could not actually perform.
Why Would iHomer Use Fallback Capabilities?
Fallback capabilities exist because not all systems provide complete EVSE data.
Some charging stations or integrations may not send a proper capabilities list. Without a fallback, the EVSE could appear incomplete or less functional than expected.
Adding fallback capabilities can be helpful when the operator knows that most or all chargers support a certain feature.
For example, if all chargers in a network support RFID and remote start, then using fallback capabilities may be practical.
However, if the network contains mixed hardware, or if some chargers do not support remote start, fallback capabilities can cause inaccurate information to be published.
Difference Between Missing and Explicitly Disabled
There is an important difference between the variable being missing and the variable being explicitly disabled.
If the variable is missing, iHomer uses the default fallback.
Example:
# OCPI_FALLBACK_CAPABILITIES is not defined
Likely result:
REMOTE_START_STOP_CAPABLE,RFID_READER
But if the variable is explicitly set to false:
OCPI_FALLBACK_CAPABILITIES: "false"
then fallback capabilities should be disabled.
In that case, iHomer should not automatically add REMOTE_START_STOP_CAPABLE or RFID_READER to EVSEs that do not already provide capabilities.
Configuration Examples
Missing Configuration
environment:
OTHER_SETTING: "value"
Expected behaviour:
Fallback capabilities are applied using default values.
Possible result:
REMOTE_START_STOP_CAPABLE,RFID_READER
Explicitly Disabled Fallback
environment:
OCPI_FALLBACK_CAPABILITIES: "false"
Expected behaviour:
No fallback capabilities are added.
This is useful when you want the published OCPI data to reflect only confirmed charger capabilities.
Custom Fallback with Remote Start Only
environment:
OCPI_FALLBACK_CAPABILITIES: "REMOTE_START_STOP_CAPABLE"
Expected behaviour:
Only remote start/stop capability is added when no capabilities are provided.
Custom Fallback with RFID Only
environment:
OCPI_FALLBACK_CAPABILITIES: "RFID_READER"
Expected behaviour:
Only RFID reader capability is added when no capabilities are provided.
When Should You Disable OCPI_FALLBACK_CAPABILITIES?
You should consider disabling fallback capabilities when accuracy is more important than assumption.
This is especially relevant if:
- not all chargers support remote start;
- some chargers are RFID-only;
- some chargers require local authorization;
- the mobile app displays buttons based on OCPI capabilities;
- customers complain that remote start appears but does not work;
- OCPI
START_SESSIONcommands are accepted initially but later rejected; - the real charger capabilities are unknown or inconsistent.
In such cases, setting the variable to false can prevent the system from advertising features that may not exist.
When Is It Safe to Use Fallback Capabilities?
Fallback capabilities may be safe when the operator has verified that all relevant EVSEs support the configured capabilities.
For example, it may be acceptable if every charger in the network truly supports:
- remote start;
- remote stop;
- RFID authentication.
In that case, the fallback acts as a convenient default.
However, it should not be used blindly.
A fallback is an assumption, not proof.
Recommended Configuration for Accurate OCPI Data
If you want to avoid false remote-start availability, use:
OCPI_FALLBACK_CAPABILITIES: "false"
This ensures that iHomer does not automatically add capabilities to EVSEs that did not provide them.
After applying the change, verify the OCPI locations response and check:
"evses": [
{
"capabilities": []
}
]
or confirm that the capabilities field is absent when no real capabilities are available.
What Should Be Tested After Changing This Setting?
After changing OCPI_FALLBACK_CAPABILITIES, it is important to test the full flow.
Recommended checks include:
- Restart the iHomer container.
- Confirm that the environment variable is correctly applied.
- Fetch the OCPI locations endpoint.
- Inspect
location.evses[].capabilities. - Check whether
REMOTE_START_STOP_CAPABLEstill appears. - Open the mobile app or external platform.
- Verify whether the remote start button is displayed only where appropriate.
- Test a real remote start command.
- Check the command response and callback result.
- Confirm that chargers without remote-start support no longer appear as remote-start capable.
Example Troubleshooting Scenario
A team notices that the mobile app shows a “Start charging” button for many stations.
However, when users try to start a session, some stations fail.
The backend first returns:
{
"result": "ACCEPTED",
"timeout": 60
}
Later, the command callback returns:
{
"result": "REJECTED"
}
After checking the OCPI locations data, the team finds that the EVSE contains:
"capabilities": [
"REMOTE_START_STOP_CAPABLE",
"RFID_READER"
]
But the charger did not actually provide these capabilities.
The reason is that OCPI_FALLBACK_CAPABILITIES was missing from the container configuration, so iHomer used the default fallback.
The solution is to set:
OCPI_FALLBACK_CAPABILITIES: "false"
Then the EVSE will no longer be automatically marked as remote-start capable unless that capability is explicitly provided.
Common Mistake: Assuming Missing Means Empty
A common mistake is to assume that if an environment variable is missing, the feature is disabled.
In this case, the opposite may happen.
If OCPI_FALLBACK_CAPABILITIES is missing, iHomer may not disable fallback capabilities. Instead, it may use its default value.
This is why explicit configuration is important.
If you do not want fallback capabilities, configure that clearly:
OCPI_FALLBACK_CAPABILITIES: "false"
Best Practices
For production environments, it is usually better to avoid hidden assumptions.
Recommended best practices include:
- define
OCPI_FALLBACK_CAPABILITIESexplicitly; - avoid relying on undocumented or implicit defaults;
- use
falsewhen charger capabilities are unknown; - use specific fallback values only when hardware capabilities are verified;
- test the OCPI locations response after every configuration change;
- align mobile app behaviour with actual OCPI capabilities;
- document the decision in the deployment notes;
- keep separate configurations for staging and production.
Simple Explanation for Non-Technical Stakeholders
If this needs to be explained to a non-technical manager or customer, the explanation can be simplified like this:
The platform has a setting that decides what features should be assumed for a charging point when the charger does not provide that information. If the setting is missing, the system may assume that the charger supports remote start and RFID. This can cause the app to show a start button even for chargers that may not actually support remote start. To avoid this, the setting should be explicitly disabled or configured only with verified capabilities.
Conclusion
OCPI_FALLBACK_CAPABILITIES is a small but important iHomer configuration setting.
If it is missing from the container configuration, iHomer may apply the default fallback capabilities:
REMOTE_START_STOP_CAPABLE,RFID_READER
This means EVSEs without explicit capability data may still be published as supporting remote start and RFID.
That behaviour can be useful in some controlled environments, but it can also create misleading OCPI data and confusing user experiences.
For safer and more accurate behaviour, especially when not all chargers support remote start, configure the variable explicitly:
OCPI_FALLBACK_CAPABILITIES: "false"
This prevents iHomer from automatically adding capabilities and helps ensure that the OCPI data reflects the real functionality of the charging infrastructure.
I can also create a shorter WordPress-ready version with slug, excerpt, FAQ schema, and featured image prompt.


