Local Home Assistant integration for Ford Charge Station Pro EV charger and Home Integration System
  • Python 96.4%
  • Shell 3.6%
Find a file
Aminorjourney f1a84bd1b3 Updated README.md
Added new URLs marking this project's migration from Github to a custom server
2026-01-27 17:28:48 -08:00
custom_components/local_fcsp Many new changes to the integration, adding smart entity creation based on if the Ford Charge Station Pro is attached to a real Home Integration System (or a fake one) 2025-09-14 21:42:37 -07:00
.gitignore Initial commit of local_fcsp Home Assistant integration 2025-07-01 11:47:55 -07:00
bump_version.sh Replace repo files with local version 2025-07-05 14:33:58 -07:00
CHANGELOG.md Many new changes to the integration, adding smart entity creation based on if the Ford Charge Station Pro is attached to a real Home Integration System (or a fake one) 2025-09-14 21:42:37 -07:00
CONTRIBUTING.md Complete redesign, hopefully with everything working now. Added new readme, contributing files, and improved logic throughout. Now with sarcastic nerdy comments in the code 2025-07-07 12:28:19 -07:00
hacs.json Refactoring for binary_sensor.py to tackle erratic behavior for previous version - and hopefully make the power cut sensor more reliable. Binary_sensor now relies on the majority of its logic being in coordinator.py 2025-08-16 21:12:21 -07:00
LICENSE Initial commit of local_fcsp Home Assistant integration 2025-07-01 11:47:55 -07:00
README.md Updated README.md 2026-01-27 17:28:48 -08:00

Ford Charge Station Pro Local for Home Assistant (local-fcsp)

Author: Nikki Gordon-Bloomfield
Based on: Eric Pullens fcsp-api


🚘 What Is This?

A Home Assistant custom integration for your Ford Charge Station Pro (FCSP) — 100% local, no Internet required.

It wraps Eric Pullens fcsp-api Python library to surface charger and inverter data as native Home Assistant sensors.
Status, power flow, raw JSON, and inverter metrics — all formatted cleanly for your dashboard.


🛠️ Features

  • 🔌 Detects vehicle connection & charging status
  • Shows Intelligent Backup Power (IBP) state
  • 🏠 Displays inverter details if installed
  • 🕒 “Last Updated” sensor shows time since last data change
  • 🧪 Optional debug sensors with cleaned JSON output
  • 📦 MDI icons and device-level grouping for clean dashboards

🚨 Requirements

  • Your FCSP must be reachable over your local network (IP required)
  • The developer key is currently universal and pre-filled
  • Inverter sensors only appear if an inverter is connected
  • This is not an official Ford product — use it at your own risk

📦 Installation

  1. Go to HACS → Integrations → Custom Repositories
  2. Add: https://forgejo.insearchofportlandia/Aminorjourney/local-fcsp
  3. Set category to Integration
  4. Click Install
  5. Reboot Home Assistant

📁 Manual Installation

  1. Copy the local_fcsp/ folder into config/custom_components/
  2. Restart Home Assistant
  3. Go to Settings → Devices & Services → Add Integration
  4. Search for “Ford Charge Station Pro Local” and follow the setup wizard

🔍 Available Sensors

💡 Sensor names may vary slightly in Home Assistant, but are always prefixed with:

  • sensor.ford_charge_station_pro_...
  • sensor.home_integration_system_...
Sensor Name Description Icon
Info Model, serial, firmware, IP address, etc. mdi:information
Status Charger status (Idle, Charging, Powering Home, etc.) mdi:ev-station
State Inverter state (Off, Powering Home, etc.) mdi:sine-wave
Last Updated How recently the data changed mdi:update
Raw Data Cleaned raw JSON for charger/inverter mdi:file-search-outline
Network Info IP, MAC, and connectivity data mdi:access-point-network
Device Summary Aggregated FCSP hardware metadata mdi:information-outline

🧪 Debug Mode

If enabled during setup:

  • Adds “Raw JSON” sensors for charger, inverter, and system internals
  • Great for troubleshooting or reverse-engineering
  • Turn it off if you prefer a cleaner sensor list

🔄 Polling & Updates

  • Default polling interval is 60 seconds
  • You can reduce it (30 seconds works fine), but excessive polling may cause unreliable FCSP responses.
    Ask me how I know. 💀

To update:

  • Pull the latest version from GitHub
  • Restart Home Assistant

🧭 Future Development

This integration doesn't (yet) expose all the data that fcsp-api makes available — and its currently read-only.
But future functionality may include:

  • Manual control (start/stop charging)
  • Adjustable current limit
  • More sensors and attributes
  • Event-based automation triggers

🧑‍💻 Want to help?
PRs are welcome! If you're handy with Python or Home Assistant development, fork it and send some love.
Even issue reports or ideas are super helpful.


FAQ

🔋 Does this let me start or stop charging?
Nope — this is a passive sensor-only integration for now. Starting/stopping charging is something that you can do through Ford's official smartphone FordPass app, and the developers of FordPass-HA [SquidBytes] and [marq24] are working on develping this functionality through fordpass-ha (https://github.com/marq24/ha-fordpass) (While (https://github.com/itchannel/fordpass-ha) is the original, (https://github.com/marq24/ha-fordpass)is the EV and PHEV specific fork offering EV owners the most comprehensive feature-set at this time.

Can I change the current limit?
No. The integration reads the hardware current limit as set inside the unit at install.
You can set a software limit, but only through FordPass at this time.

🔮 Will it eventually control those things?
Maybe! Contributions welcome. The fcsp-api library can support more, but the integration currently prioritizes safe read-only polling.

💥 Will this break my FCSP?
Probably not — but dont hammer it with short polling intervals.
Too-frequent polling can cause the FCSP to act weirdly (e.g., display CF fault codes).
We recommend a minimum of 30 seconds between updates to keep it stable.


👩‍💻 Developer Notes

  • DeviceInfo is used to register both the FCSP and (optionally) the Inverter
  • All sensors are grouped with their respective hardware
  • Time formatting uses Home Assistants dt utilities
  • Inverter firmware is often non-printable — converted into clean hex strings (e.g., 01 1A FF)
  • Null bytes, whitespace, and junk strings are scrubbed automatically
  • Charger faults (starting with CF) are returned as-is in Status

⚠️ Disclaimer

This is a personal, unofficial project.
It's unsupported, unpolished, and occasionally weird.
It may break. It may misbehave. It may invite you to play Global Thermonuclear War.
Use at your own risk — and please dont sue me if your FCSP starts speaking Klingon.


🙏 Thanks


📣 Contact

Built by Nikki Gordon-Bloomfield from Transport Evolved