SLX Charging Controller is Home Assistant integration and part of Salix Project
SLX Charging Controller controls EVSE (aka. charger) based on car battery state of charge (SOC). It decides when to start and stop charging to:
- Immediatelly charge your car to avoid battery staying in low SOC
- Stop charging before battery is fully charged to avoid accelerated degradation.
- Switch between charging from grid and charging using excess solar production.
For its operation, SLX Charging Controller requires other Home Assistant integrations:
- Car integration - to check car's battery SOC
- EVSE integration - to control charging process
For supported integrations configuration process is simplified. However, manual integration using entities is also possible.
Supported car's integrations:
Car integration | Brand | Comment |
---|---|---|
kia_uvo | Kia( UVO) Hyundai (Bluelink) |
Tested with: Hyundai Kona |
Manual Configuration | N/A | You can select required entities (e.g. SOC) using manual setup |
Planned: BMW Connected Drive | BMW | (planned) |
Supported EVSE integrations:
EVSE integration | Brand | Comment |
---|---|---|
OpenEVSE | OpenEVSE | Tested |
Manual Configuration | N/A | You can select required entities (e.g. SOC) using manual setup |
Exemplary scenario: You are connecting quite discharged car to the charger (e.g. SOC is 8%)
- SLXCharging controller - checks SOC
- Because SOC it is below
SOC Limit Min
(20%). Charging starts immediatelly with full power. - Charging continues until SOC reaches 20%.
- Then charger is switched to PVCharge mode (charging from excess energy produced).
- SLX Charging Controller monitors battery SOC and if it exceeds
SOC Limit Max
(e.g. 80%), charger is switched to STOPPED mode (no charging active).
Integration have few entities used to controll it's operation:
This entity allows you to control in which mode SLX Charging Controller is working. You can select ECO mode for charging using excess solar energy produced at house (EVSE must support it). You can also switch to FAST mode which will make sure your car is charged immediatelly to required SOC.
Charge Method value |
Description |
---|---|
ECO default |
Keeps SOC between SOC Limit Min and SOC Limit Max Uses both normal charging (full power available) and PVCharge (charging with excess solar energy) |
FAST | Runs normal charging until car reaches SOC target |
MANUAL | Disables automation built in SLX charging Controller. You can then manually set charger mode using Charge mode entity |
In typical scenario value of this entity is changed by SLX Charging Controller. It represents state of EVSE.
When Charge Method
is set to MANUAL
you can directly control Charge mode
.
Charge Mode values | Description |
---|---|
STOPPED | Charging is stopped |
PVCHARGE | EVSE is charging car using only excess energy produced by Solar |
NORMAL CHARGE | EVSE is charging car using it's default power setting |
UNKNOWN | EVSE state was not read or set by SLX Charging Controller (usually after restart) |
You can easily modify values of expected SOC in different scenarios
SOC related entities | Description |
---|---|
SOC Limit Min default = 20% |
Minimum SOC that system tries to keep |
SOC Limit Max default = 80% |
Maximum SOC kept when charging in ECO mode Can be overwritten by SOC target |
SOC target default = 20% |
In Charge Method = FAST charging is run until SOC = SOC target is reached In Charge Method = ECO you can temporarily increase maximum SOC If SOC target > SOC Limit Max charging using excess solar will be continued until SOC target is reached |
Integration also defines few entities informing you about current status of charging:
Status entities | Description |
---|---|
Battery Energy Estimation | Estimated energy stored in battery |
Battery SOC Estimation | Estimated battery state of charge. This value is used in making decision about charging. |
Request SOC Update | Counter of how many times SLX Charging Controller request of SOC update. Note: Requires fix for replacing % with just decimal number |
- Login to Home Assistant console using SSH (You can use Terminal&SSH add-on to open console directly in browser)
- Go into customer_components directory
[core-ssh /$] cd /config/custom_components/
- Copy repository
git clone https://github.com/artursulkowski/slxchargingcontroller.git
- Add integration
SLX Charging Controller automatically detects supported car and EVSE integrations.
SLX Charging controller can work directly on entities provided by EVSE and car intergrations. That allows you to connect with integrations which aren't supported yet.
Input | Unit of Measurement | Device Class | Description |
---|---|---|---|
EVSE Session Energy | kWh, Wh | any | amount of energy added during charging session |
EVSE | any | plug | Status of charger's plug: On - pluged in, Off - unpluged |
Input | Unit of Measurement | Device Class | Description |
---|---|---|---|
Car SOC | % | any | Car's battery SOC |
Car SOC Update time (optional) |
any | timestamp | Time in which Car SOC was read. In an ideal world we could use state.last_updated, but in case of Hyundai-Kia-Connect real update time is stored in separate entity |
Project is still at early stage of development. I am still discovering small issues at my own setup. I am registering them in issues
At the moment my goal is to increase number of supported integrations of both cars and EVSE. I will provide more details on cooperation soon. Follow the project to stay tuned.