This is my attempt -- quite bad as it is -- to make a Node-RED implementation of load sharing work for Open-EVSE units. While the Open EVSE team are working on native load-sharing, this is an interim solution I've come up with. It's not foolproof, but seems reasonably robust. Use at your OWN RISK.
Find a file
2026-01-28 15:32:34 -08:00
example_FLOW Update example_FLOW 2026-01-28 15:22:11 -08:00
example_load_sharing.png Upload files to "/" 2026-01-28 15:29:40 -08:00
guide.md Update guide.md 2026-01-28 15:19:58 -08:00
How_It_Works.md Add How_It_Works.md 2026-01-28 15:06:35 -08:00
LICENSE Initial commit 2026-01-27 18:26:43 -08:00
README.md Update README.md 2026-01-28 15:32:34 -08:00
working_system.png Upload files to "/" 2026-01-27 18:30:54 -08:00

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.

Example Home Assistant Screenshot


Requirements / Assumptions

Before using this flow, ensure the following:

  1. 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 (50A 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.
  2. 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)
  3. 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 (6A) to avoid overloading the shared breaker.
    • A reliable implementation is a Ping (ICMP) sensor targeting each EVSEs IP.
      Home Assistant Ping Integration
  4. Node-RED Installed

  5. 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.

  1. Import the Node-RED Open EVSE Load Sharing flow into Node-RED.

  2. Configure the flow:

    • Assign your Home Assistant server.
    • Update entity IDs for both EVSE units (vehicle connected, online status, charging current, and charge rate).
  3. Adjust MAX_TOTAL to be whatever 80% of your breaker rating if your breaker is not the default 50A.

Do not skip this step if your EVSEs share anything other than a 50A breaker.

  1. 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) EVSE setup diagram

📈 How It Works

See the detailed logic in how_it_works.md:

  • Minimum current: 6A 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 6A, and sessions always reset to 6A.

⚠️ 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?


🔗 References