Custom component to integrate with OpenEVSE electric vehicle chargers.
The OpenEVSE Home Assistant integration provides direct, local control over your OpenEVSE charging station. It utilizes the local API over WiFi or Ethernet to communicate, ensuring that all data remains local, secure, and fast without any cloud dependencies.
- ⚡ Local Control: Completely local communication over WiFi or Ethernet—no cloud service required.
- 🔍 Auto-Discovery: Automatic discovery of your charger using Zeroconf.
- 🔄 Real-Time Data: Fast updates via WebSockets for real-time status and power monitoring.
- 📈 HA Energy Integration: Out-of-the-box support for the Home Assistant Energy dashboard via dedicated session and total energy sensors.
- ☀️ Solar PV Divert Mode: Dynamically adjust charging current based on your home's excess solar power.
- 🛡️ Claim & Override System: Safely queue, override, or limit charge rates and sessions using Home Assistant services or the UI.
- 🎨 LED Brightness Control: Manage the charger's LED display brightness directly (firmware v4.1.0+).
- 🆙 Update Notification: Track charger firmware updates and review release notes inside Home Assistant.
Click the badge below to open this repository in HACS:
Alternatively, add it manually within HACS:
- Navigate to HACS in your Home Assistant UI.
- Click the three dots in the upper-right corner and select Custom repositories.
- Paste the URL:
https://github.com/firstof9/openevse - Select the category Integration and click Add.
- Find the OpenEVSE integration in HACS and click Install.
- Restart Home Assistant after the installation completes.
Click to view manual installation steps
[!WARNING] Manual installation bypasses HACS updates. It is highly recommended to use HACS unless you have a specific reason to install manually.
- Open your Home Assistant configuration directory (where you find
configuration.yaml). - If it does not exist, create a folder named
custom_components. - Inside
custom_components, create a new folder namedopenevse. - Download the contents of the
custom_components/openevse/directory from this repository and place them inside the new folder. - Restart Home Assistant.
- In the Home Assistant UI, go to Settings -> Devices & Services.
- If your OpenEVSE charger is detected automatically via Zeroconf, click Configure on the discovered device.
- If not, click + Add Integration in the bottom right, search for OpenEVSE, and select it.
- Enter the charger's Host/IP address (default:
openevse.local), and optional Username and Password if your charger requires authentication.
To unlock smart features like Solar PV Divert and Current Shaper, you must bind external sensors.
- Go to Settings -> Devices & Services -> OpenEVSE.
- Click Configure on the OpenEVSE integration card.
- Configure the following sensors as needed:
- Grid Sensor: The sensor measuring net grid power (in Watts).
- Solar Sensor: The sensor measuring solar generation power (in Watts).
- Voltage Sensor: The sensor measuring grid voltage (in Volts).
- Shaper Sensor: The sensor measuring live power used by other household appliances (in Watts) for overload protection.
- Invert Grid: Toggle this if your grid sensor uses negative values for export.
The integration sets up the following platforms and entities:
| Platform | Key Entities | Description |
|---|---|---|
binary_sensor |
• Vehicle Connected • Manual Override • Divert Active • Shaper Active • Limit Active • OTA Update • MQTT Connected |
Real-time binary states and diagnostics. |
button |
• Restart WiFi • Restart EVSE |
Triggers to restart hardware components. |
light |
• LED Brightness | Control charger screen/LED brightness (v4.1.0+). |
number |
• Charge Rate | Soft-limit current capacity adjustments (in Amps). |
select |
• Charge Rate • Divert Mode ( fast / eco) |
Select charge limits, divert types, or override status. |
sensor |
• Station Status • Charging Status • Charging Voltage / Current • Current Power Usage (Actual & Calc) • Usage this Session (Energy) • Total Usage (Energy) • WiFi Signal Strength • Temperatures (Ambient, ESP32, RTC, IR) • Vehicle Battery Level (SOC) (v4.1.0+) |
Sensor telemetry, stats, and diagnostic measurements. |
switch |
• Sleep Mode • Manual Override (v4.1.0+) • Solar PV Divert (v4.1.0+) • Current Shaper (v4.1.0+) |
Controls to toggle operational modes of the EVSE. |
update |
• OpenEVSE Update | Detects controller firmware updates and provides release notes. |
Services are prefixed with openevse. (e.g., openevse.set_override).
openevse.set_override: Sets a manual override on the charger.- Parameters:
state(optional): Set toactive(start charging) ordisabled(stop charging).charge_current(optional, 1-48A): Target charge current.max_current(optional, 1-48A): Maximum allowed current.auto_release(optional, boolean): Automatically release override on vehicle disconnect.
- Parameters:
openevse.clear_override: Clears the active manual override, returning the charger to its normal programmed behavior.
Claims allow multiple automations or external apps to request different charger states safely.
openevse.make_claim: Register or update a state claim on the charger.- Parameters:
state,charge_current,max_current,auto_release.
- Parameters:
openevse.release_claim: Release the current integration claim.openevse.list_claims(Returns Response Data): Returns a dictionary of all active claims on the EVSE.
openevse.set_limit: Set limits for the charging session.- Parameters:
type(required):time(minutes),energy(Wh),soc(%), orrange(km/mi).value(required, integer): Target value.auto_release(optional, boolean): Release limit on vehicle disconnect.
- Parameters:
openevse.clear_limit: Clear any active session limit.openevse.get_limit(Returns Response Data): Retrieve current session limits from the charger.openevse.list_overrides(Returns Response Data): List active overrides on the EVSE.
Here are some examples of how to invoke these services in your Home Assistant automations or scripts:
Start charging immediately at 24 Amps and release the override once the vehicle is disconnected:
service: openevse.set_override
target:
entity_id: sensor.openevse_charging_status
data:
state: active
charge_current: 24
auto_release: trueStop charging once the vehicle's battery level reaches 80%:
service: openevse.set_limit
target:
entity_id: sensor.openevse_charging_status
data:
type: soc
value: 80
auto_release: trueRemove any active time, energy, SoC, or range limit on the charger:
service: openevse.clear_limit
target:
entity_id: sensor.openevse_charging_statusFor the best user experience, it is highly recommended to install the OpenEVSE Card via HACS (Frontend section). It is designed to match this integration perfectly.
This card provides:
- Real-time charger state & power usage charts.
- Quick controls for manual overrides and sleep toggle.
- Simple slider adjustments for charge current limit.
Contributions are welcome! Please read the Contribution Guidelines before submitting pull requests.
If you like this integration, consider supporting the project:
- Add Wiki
- Expand documentation
- Add Schedule Support
- Add tests
- Current / Voltage / Power sensors
- Session & Total Energy sensors
- Temperatures & Status indicators
- Vehicle Connected detection
- RSSI & Wifi Strength
- Max & Charge Current controls
- Solar PV Divert Mode
- Current Shaper support
- Auto-discovery (Zeroconf)
- Setup and reconfiguration via UI
- WebSocket Real-Time updates
- Home Assistant Energy Integration
