A cloud-polling Home Assistant component to expose ChargePoint Home Charger, Account, and Public Station information.
- If you haven't already installed HACS, follow their instructions.
- Navigate to HACS.
- Choose "Integrations"
- Install the integration like you would any other HACS addon.
Once you have installed the component, you'll need to add and configure it. From the
Configuration > Devices & Services page, click + Add Integration in the bottom
right.
Search for ChargePoint and select the integration. You will be prompted for your ChargePoint credentials. If ChargePoint's bot protection blocks the login, see the FAQ for how to authenticate using a session token instead.
Once you are logged in, if you have any home chargers, you will be asked which zones/rooms to assign each device to.
The integration exposes the following:
Account-level sensors (always present):
- Account balance
- Active session state, power output, energy delivered, and running cost. These update on every poll and work whether you are charging at home or at a public station.
Home charger controls and sensors (one set per charger):
- Controls: Start and stop charging sessions, restart the charger, adjust the charging amperage limit, and tune LED brightness.
- Sensors: Charging status, cable state, network connectivity, active session data (power output, energy delivered, miles added, charge cost), and charging time.
You can monitor public or shared ChargePoint stations (such as apartment parking garages or office charging). This is useful for automations that alert you when a specific station becomes available.
To add public stations, open the integration options from Settings > Devices & Services > ChargePoint,
then choose Configure > Manage Public Chargers > Add chargers. Drop a pin on the map near the
stations you want to track and adjust the radius. Select the stations from the results and
save.
Each tracked station creates:
Station availability (binary_sensor) — on when the station has at least one available port.
| Attribute | Description |
|---|---|
available_ports |
Number of ports currently available |
total_ports |
Total number of ports on the station |
address |
Street address of the station |
Per-port availability (binary_sensor) — one per port, named by connector type (e.g. "Port 1 (J1772)"), with an icon matching the plug standard. On when that specific port is available.
| Attribute | Description |
|---|---|
status |
Raw port status: available, in_use, maintenance_required, unreachable |
level |
Charging level: L1, L2, or DC |
connectors |
List of connector types on this port |
max_power_kw |
Maximum power output in kW |
estimated_shared_power_kw |
Estimated available power when the station shares power across ports (only present on shared-power stations) |
Full Power Available (binary_sensor) — on when every port on the station is available simultaneously. Useful for triggering automations that need the full station capacity.
Diagnostic sensors (disabled by default in the entity registry):
| Entity | Description |
|---|---|
| Max Power | Station's maximum charge rate in kW |
| Hours | Whether the station is currently open or closed |
| Shared Power | Whether the station shares power across its ports |
| Reduced Power | Whether the station is operating at reduced power |
To remove a station, go to Settings > Devices & Services > ChargePoint and choose Configure > Manage Public Chargers > Remove charger(s).
Must be using v0.1.2 or higher for proper sensor classification.
For users that have one or more ChargePoint Home Flex(es), you can add your chargers as
sources of grid consumption in Home Assistant's energy tracking system. Simply add the
Energy Output output sensor of your device and add the Charge Cost sensor an "entity
tracking the total costs."
The sensors created by this component can be used with third-party EV charging cards like tmjo/charger-card.
Feel free to create Pull Requests adding demo configurations to this section of the README if you end up building something you'd like to share.
If you notice any issues, please create a GitHub issue describing the error and include any error messages or stack traces.
Please ensure that you have the pre-commit hooks enabled. This will ensure that your contributions are formatted and styled correctly.
pip install -r requirements_test.txt
pre-commit installI've included a simple Docker Compose file that will launch a new Home Assistant instance with the integration and its dependencies pre-installed. Simply run:
docker-compose up -dThen navigate to http://127.0.0.1:8123 in your browser.

