Skip to main content

Charge Manager

The charge_manager module implements a charge manager that can distribute an available amount of current across one or more WARP Chargers (of any generation). The charge manager ensures that the configured group of WARP Chargers never draws more than the available current and attempts to distribute it as fairly as possible. A WARP Energy Manager also uses the charge manager to safely implement phase switching of a group of WARP Chargers via an external contactor.

charge_manager/available_current

The currently available current. This current is distributed among the configured chargers.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/charge_manager/available_current
{ "current": 16000 }

Write

curl http://$HOST/charge_manager/available_current -d '{ "current": 16000 }'

or abbreviated:

curl http://$HOST/charge_manager/available_current -d '16000'
NameDescription
current
int (mA)

The available current. Only currents that are less than the configured maximum current maximum_available_current from charge_manager/config are accepted.




charge_manager/state

The state of the charge manager and all configured chargers. Used by the web interface for display. Changes to this object are not considered an API breaking change!




charge_manager/low_level_state

The low-level state of the charge manager and all configured chargers. Used by the web interface for display. Changes to this object are not considered an API breaking change!




charge_manager/low_level_config

The low-level configuration of the charge manager. Used for fine-tuning the distribution algorithm. Changes to this object are not considered an API breaking change!




charge_manager/config

The charge manager configuration.

Example
# $HOST e.g. warp-AbCd

Read

curl http://$HOST/charge_manager/config
{
"enable_charge_manager": true,
"enable_watchdog": false,
"default_available_current": 16000,
"maximum_available_current": 32000,
"minimum_current_auto": true,
"minimum_current": 9200,
"minimum_current_1p": 6000,
"minimum_current_vehicle_type": 1,
"verbose": true,
"requested_current_threshold": 60,
"requested_current_margin": 3000,
"chargers": [
{ "host": "127.0.0.1", "name": "warp-AbCd" },
{ "host": "warp2-22oH.local", "name": "warp2-22oH" }
]
}

Write

curl http://$HOST/charge_manager/config -d '{
"enable_charge_manager": true,
"enable_watchdog": false,
"default_available_current": 16000,
"maximum_available_current": 32000,
"minimum_current_auto": true,
"minimum_current": 9200,
"minimum_current_1p": 6000,
"minimum_current_vehicle_type": 1,
"verbose": true,
"requested_current_threshold": 60,
"requested_current_margin": 3000,
"chargers": [
{ "host": "127.0.0.1", "name": "warp-AbCd" },
{ "host": "warp2-22oH.local", "name": "warp2-22oH" }
]
}'
NameDescription
enable_charge_manager
bool

Specifies whether the charge manager should be enabled.

  • true - If the charge manager is enabled.
  • false - If the charge manager is not enabled.
enable_watchdog
bool

Specifies whether the watchdog should be enabled. The watchdog sets the available current to the default setting (default_available_current) if no message is received on charge_manager/available_current for 30 seconds. This increases robustness against failure of external control, e.g. with PV excess charging.

  • true - If the watchdog is enabled.
  • false - If the watchdog is not enabled.
verbose
bool

Specifies whether each current distribution should be recorded in the event log.

  • true - If current distributions should be logged.
  • false - If current distributions should not be logged.
default_available_current
int (mA)

Current that should be available after restart of the charge manager. When triggered, the watchdog resets the available current to this current.

maximum_available_current
int (mA)

Maximum that may be set as available current via the API and web interface. Should be configured to the maximum permitted current of the charger group connection, which is limited e.g. by the grid connection, fusing or supply line.

minimum_current_auto
bool

Specifies whether the minimum charge current is set based on the selected vehicle type (minimum_current_vehicle_type).

  • true - Minimum charge current is set based on the selected vehicle type. minimum_current and minimum_current_1p are ignored or overwritten.
  • false - minimum_current and minimum_current_1p determine the minimum charge current.
minimum_current_vehicle_type
int

Vehicle type for which the minimum charge current is selected.

  • 0 - No specific vehicle type selected.
  • 1 - Renault Twingo Z.E., Renault ZOE R110 or R135
minimum_current
int (mA)

Smallest amount of current to be allocated to a charger in three-phase operation for it to start a charging session. This can influence how many chargers charge simultaneously.

minimum_current_1p
int (mA)

Smallest amount of current to be allocated to a charger in single-phase operation for it to start a charging session. This can influence how many chargers charge simultaneously.

requested_current_threshold
int (s)

Chargers with an electricity meter that measures phase currents are limited to the largest phase current plus the configured margin requested_current_threshold seconds after charge start. This allows the available current to be distributed more efficiently across multiple chargers.

requested_current_margin
int (mA)

Margin added to the largest measured phase current.

chargers
object[10]

Chargers to be controlled by the charge manager.

  • [0..9] - A charger to be controlled
NameDescription
host
string

IP address of the charger to be controlled

name
string

Display name of the charger to be controlled

rot
int

Phase rotation of the charger to be controlled

  • 0 - Unknown
  • 1 - L123
  • 2 - L132
  • 3 - L231
  • 4 - L213
  • 5 - L321
  • 6 - L312