| example_FLOW | ||
| example_load_sharing.png | ||
| guide.md | ||
| How_It_Works.md | ||
| LICENSE | ||
| README.md | ||
| working_system.png | ||
Node-RED OpenEVSE Load Sharing
This Node-RED flow allows dynamic load sharing between two OpenEVSE units, including JuiceBox EVSEs retrofitted with OpenEVSE hardware. It monitors vehicle connection, charging current, and online status to allocate charging current safely and efficiently on a single breaker.
⚡ Requirements / Assumptions
Before using this flow, ensure the following:
-
Two OpenEVSE units with Static IPs
- Can be stock OpenEVSE units or JuiceBox EVSEs retrofitted with OpenEVSE hardware.
- You MUST configure your router or OpenEVSE units to assign Static IP Addresses, or this flow will not work.
- Both units share a single breaker (50 A recommended).
- If your breaker is smaller, adjustments to the flow logic are required.
- Refer to the NEC Dual-EVSE Sharing Rules for safe wiring practices.
-
Home Assistant Integration
- Both EVSE units must be added to Home Assistant using the OpenEVSE integration.
- Ensure the following entities exist for each EVSE (evse_x is a placeholder and will be replaced with whatever your setup uses, for more information see the Setup Guide):
- Vehicle Connected (
binary_sensor.evse_x_vehicle_connected) - Charging Current (
sensor.openevse_evse_x_charging_current) - Charge Rate Control (
number.openevse_evse_x_charge_rate)
- Vehicle Connected (
-
Online Status Sensor (Required)
⚠ Warning: This sensor is safety-critical. If it is unreliable, it may cause unexpected behavior. Test its stability before proceeding.
- Each EVSE must have a Home Assistant sensor indicating whether it is online.
- This flow treats offline EVSEs as 'unsafe', immediately reducing the other station to minimum current (6 A) to avoid overloading the shared breaker.
- A reliable implementation is a Ping (ICMP) sensor targeting each EVSE’s IP.
Home Assistant Ping Integration
-
Node-RED Installed
- Install via the official Home Assistant Node-RED add-on.
-
MQTT Broker (Optional)
- Only required if you want debugging messages or telemetry.
🏗️ Setup
If you need more detailed setup instructions, please follow the Setup Guide for step-by-step configuration.
-
Import the
Node-RED Open EVSE Load Sharingflow into Node-RED.- See Node-RED Import/Export Documentation for instructions.
- You can copy/paste the full flow or select Import from Clipboard.
-
Configure the flow:
- Assign your Home Assistant server.
- Update entity IDs for both EVSE units (vehicle connected, online status, charging current, and charge rate).
-
Adjust
MAX_TOTALto be whatever 80% of your breaker rating if your breaker is not the default 50 A.
⚠ Do not skip this step if your EVSEs share anything other than a 50 A breaker.
- Deploy the flow. It should looks something like this (although in this example, the system uses 'Top' and 'Bottom' names as both stations are stacked)

📈 How It Works
See the detailed logic in how_it_works.md:
- Minimum current: 6 A when no vehicles are connected.
- Single vehicle: Allocated MAX_TOTAL minus MIN_CURRENT.
- Two vehicles: Algorithm dynamically ramps charge rates to share the breaker evenly.
- Dynamic adjustment: Detects underdraw or full vehicles and reallocates current automatically.
- Safety features: Offline EVSEs default the other station to 6 A, and sessions always reset to 6 A.
⚠️ Disclaimer
This guide is provided as-is for educational and DIY purposes only.
It is not officially approved by OpenEVSE, Home Assistant, or any regulatory body.
The author makes no representations or warranties of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement.
Users are solely responsible for ensuring compliance with all applicable local electrical codes, safety regulations, and standards.
Improper installation, configuration, or use could result in electric shock, fire, or equipment damage.
By using this guide, you assume all risks and agree to hold the author harmless from any claims, losses, or damages arising from its use.
Proceed at your own risk.
Support / Contact
Bugs, questions, or improvements?
- Forgejo Repo: https://forgejo.insearchofportlandia.com
- Mastodon: @Aminorjourney@insearchofportlandia.com
