Versions
ioBroker adapter for go-e Charger EV wallboxes
This adapter integrates one or more go-e Charger wallboxes into your ioBroker home automation. It cyclically polls each wallbox via its local HTTP API, provides all relevant data as ioBroker states, and lets you control charging directly from your smart home.
For more information about the go-e Charger hardware, visit the manufacturer's website: go-e GmbH.
Features
-
supports multiple go-e Chargers within a single adapter instance
-
monitoring of car state, charging power, charging current, grid phases, and energy statistics
-
ChargeNOW – start charging immediately at a configurable current
-
ChargeManager – automatic PV surplus charging: the charging current is continuously adjusted to the available solar power, taking house consumption and the state of charge of your home battery into account. Charging of your EV can be delayed until the home battery has reached a configurable minimum state of charge.
Note: When ChargeManager is enabled on several chargers at the same time, the available surplus is split between them in the order of the wallbox list – see Several wallboxes on one PV surplus.
-
switching between 1-phase and 3-phase charging (hardware generation 3 and newer)
-
energy statistics per RFID card (card name, ID, and charged energy)
-
read-only mode per wallbox – monitor a charger purely, without sending any control commands to it (no charge release, no charging current, no phase switching), e.g. when charging is controlled elsewhere or access is managed via RFID tags
Tested with firmware V033, V040.0, V041.0, V054.7, V054.11, V055.5, V055.7, V055.8, V56.1, V56.2, V56.8, V56.9, V56.11, V57.0, V57.1, V59.4, V60.0, V60.1, V60.2, V60.5, V60.6 and with up to 3 chargers operated in parallel.
Requirements
- For hardware generation 3 and 4 you have to enable "HTTP API v1" in your go-e app.
- For phase switching you additionally have to enable "HTTP API v2" in your go-e app (hardware generation 3 and newer).
Configuration
Add one entry per go-e Charger to the wallbox list and enter its IP address. Optionally assign a name to each charger.
Enable read-only mode for a charger if the adapter should only read its data and never write to it. In read-only mode the adapter sends no control commands at all – neither the charge release, nor the charging current, nor phase switching. The ChargeNOW and ChargeManager states can still be toggled, but they have no effect on a read-only charger. Use this mode when the charging of that wallbox is controlled by another system or managed locally via RFID tags.
The poll cycle time defines how often the adapter reads data from the chargers and adjusts the charging current (minimum 3 seconds, default 10 seconds).
Per-wallbox current limits
Each wallbox can optionally be given its own minimum and maximum charging current [A]. These apply to both ChargeManager (PV surplus) and ChargeNOW, for example to throttle a single charger or to balance the load between several boxes on a shared supply.
- A value of
0means "not set": the minimum falls back to the technical minimum of 6 A, and the maximum falls back to the installation-wide maximum charging current from the standard settings. - A per-box maximum can only lower a charger below the installation limit, never raise it above.
- If the configured minimum ends up higher than the maximum, the minimum is clamped down to the maximum and a warning is logged.
The adapter also reads the current caps reported by each charger – the absolute maximum current, the cable current limit and (via API v2) the minimum charging current – and folds them into the effective limits, so a charger is never driven beyond what its hardware or the plugged cable allows. The detected caps are published as Wallbox_X.info.hardwareMaxChargeCurrent and Wallbox_X.info.hardwareMinChargeCurrent to help you choose sensible per-box values.
PV surplus charging with ChargeManager
ChargeManager calculates the charging current from numeric ioBroker states supplied by an energy-management, inverter, meter, or user-created data source. It does not depend on a particular vendor, but the selected states must represent the quantities described below.
Configure the object IDs of the following states:
- currently available solar power [W]
- current home power consumption [W]
- current state of charge of your home battery [%] (only required in the battery-aware modes, see Home battery mode below)
Input requirements
| Input | Expected value | Unit | Sign |
|---|---|---|---|
| Solar power | Total current PV generation | W | Positive generation |
| Home power consumption | Total current household demand | W | Positive consumption |
| Home battery state of charge | Current battery charge level | % | 0 to 100 |
All configured states must contain numeric values. Power values in kW must be converted to W before they are selected. A grid import/export state cannot be used directly because ChargeManager currently expects separate generation and consumption values.
If no home battery is installed, set the Home battery mode to Disabled (see below). No battery state of charge has to be configured, and ChargeManager charges purely from the available PV surplus. The former helper-state workaround (a constant state set to Settings.Setpoint_HomeBatSoC) is no longer needed.
Wallbox consumption in the home-consumption value
Enable Charger consumption is included in the home power consumption value when the selected home-consumption state rises by approximately the charging power after charging starts. ChargeManager then adds the measured wallbox power back before calculating the available surplus. This prevents the controller from treating its own charging load as additional household demand.
Leave the option disabled when the selected state already excludes wallbox consumption.
Calculation
ChargeManager uses the following calculation once per poll cycle:
available power =
solar power
- home power consumption
+ wallbox power, if it is included in home power consumption
- grid reserve
+ battery bonus (Battery priority mode only)
target current = floor(available power / 230 V / active phases)
Six settings on the ChargeManager configuration page tune this calculation:
- Home battery mode (default Battery priority) – how the home battery is taken into account:
- Disabled – no home battery is used. No SoC state has to be configured, and no battery power is ever assigned to the car.
- Minimum SOC – EV charging is blocked below
Settings.Setpoint_HomeBatSoC, but the battery never contributes power to the car. - Battery priority – as above, plus the battery bonus described below.
- Battery SoC hysteresis [%] (default 0) – how far the SoC may fall below the minimum before a running controller stops. It keeps a battery hovering around its minimum from toggling the charge release every cycle; starting still requires the full minimum SoC.
- Maximum battery SoC age [s] (default 0 = off) – surplus control stops when the SoC state has not been updated within this time, so a dead helper state cannot silently keep the car charging.
- Grid reserve power [W] (default 100) – power kept free on the grid connection instead of being assigned to the car. Increase it to keep more safety headroom; set it to
0to hand the full surplus to the car. - Maximum battery bonus [W] (default 2000) – how much extra power, on top of the pure solar surplus, may be drawn while the home battery is above its minimum state of charge. The bonus is
0when the battery is exactly at the minimum SoC and grows linearly to this maximum as the battery approaches 100 %, so a fuller battery lets the car charge faster. Set it to0to charge purely from the measured solar surplus without ever discharging the home battery into the car. - Minimum ChargeManager current [A] (default 6) – the surplus charging current below which the charger is switched off after a short delay. This applies to PV surplus charging only.
The maximum charging current [A] (default 16, up to 32) is configured on the standard settings page, not here: it is an installation-wide limit of the shared power supply (main breaker / circuit protection) rather than a ChargeManager tuning value. It caps the current the adapter will ever assign to any wallbox, in both ChargeManager (PV surplus) and ChargeNOW.
⚠️ Do not set the maximum charging current higher than your go-e Charger hardware and your electrical installation support. go-e Charger models are rated for different maximum currents (e.g. 16 A or 32 A), and the actual limit also depends on your cable, plug and wiring. Setting a value above the hardware/installation rating can trip protection devices or damage equipment. When in doubt, keep the default of 16 A.
In the battery-aware modes, EV charging is disabled below Settings.Setpoint_HomeBatSoC so that the home battery has priority. Charging starts once the internal target reaches 10 A (or the minimum current if it is set higher). The calculated current is limited to the configured maximum, and the internal current target changes by at most 1 A per poll cycle to reduce sudden changes.
Several wallboxes on one PV surplus
The surplus is a single shared resource, so it is split between the wallboxes rather than offered to each of them in full. The wallboxes are served in the order of the wallbox list, which is therefore also their priority: the first entry takes as much surplus as it can use, and the following entries only see what is left. Reorder the list to change which car is charged first.
A wallbox only reserves surplus while a vehicle is connected to it. An empty wallbox is skipped, so it cannot hold back surplus that another wallbox could use right now.
The per-wallbox current limits described above still apply to each box individually, which lets you cap a single charger even when it is first in the list.
Enabling ChargeManager
After the adapter has started, use the writable states below. Replace instance 0 and wallbox number 0 where necessary.
| State | Purpose |
|---|---|
go-e-charger.0.Settings.Setpoint_HomeBatSoC | Minimum home-battery SoC before surplus charging is allowed |
go-e-charger.0.Wallbox_0.Settings.ChargeManager | Enables or disables PV surplus control |
go-e-charger.0.Wallbox_0.Settings.ChargeNOW | Overrides ChargeManager and forces charging |
go-e-charger.0.Wallbox_0.Settings.ChargeCurrent | Current used by ChargeNOW |
go-e-charger.0.Wallbox_0.Settings.Charge3Phase | Selects one-phase or three-phase charging on supported hardware |
For surplus charging, set ChargeNOW to false and ChargeManager to true. When both are enabled, ChargeNOW takes precedence and uses the configured ChargeCurrent without considering the available surplus.
One-phase and three-phase charging
On hardware generation 3 and newer, Charge3Phase selects the phase mode:
false: one-phase chargingtrue: three-phase charging
Because the current implementation starts charging when its internal target exceeds 9 A, the effective starting point is 10 A. This requires approximately 2.3 kW in one-phase mode or 6.9 kW in three-phase mode after the reserve and battery adjustments. One-phase mode therefore provides a wider operating range for smaller PV systems or variable weather.
Automatic phase switching
Enable automatic 1-/3-phase switching per wallbox (gen 3+ only, off by default) to let ChargeManager pick the phase mode from the available surplus:
- It switches up to three phases once one-phase charging is saturated (the surplus exceeds the one-phase maximum), giving access to the higher three-phase ceiling.
- It switches down to one phase once the surplus can no longer sustain the three-phase minimum (~4.1 kW at 6 A), so a shrinking surplus keeps charging one-phase instead of stopping.
- The gap between those thresholds plus a dwell time prevents rapid back-and-forth switching, which would interrupt charging each time.
While the option is enabled the adapter controls Charge3Phase for that wallbox; leave it disabled to keep selecting the phase mode manually. Because a switch briefly interrupts charging and not every vehicle handles it gracefully, it is opt-in.
Operating modes
| ChargeNOW | ChargeManager | Result |
|---|---|---|
false | false | Charging is disabled |
false | true | Charging follows the calculated PV surplus |
true | false | Forced charging at ChargeCurrent |
true | true | ChargeNOW takes precedence |
In read-only mode, these states can still be changed but no resulting control command is sent to the charger.
Verification and troubleshooting
Before relying on automatic charging, verify the selected input states in the ioBroker object view:
- Solar power is close to zero at night and follows current generation during the day.
- Home power consumption remains positive and reacts plausibly when household loads are switched on.
- Battery state of charge remains between 0 and 100.
- All power values are expressed in W rather than kW.
- The wallbox-consumption option matches whether charging power is included in the selected home-consumption value.
Wallbox_0.info.connectionistrue.Wallbox_0.Power.Charge,Wallbox_0.Power.GridPhases, and, on supported hardware,Wallbox_0.Power.EnabledPhasescontain plausible values.
Charging may take several poll cycles to start because the internal target increases by only 1 A per cycle. With the default 10-second cycle and an initial target of 0 A, reaching the default 10 A starting point can take approximately 100 seconds.
When ChargeManager runs several wallboxes at once, the PV surplus is shared between them in wallbox-list order, so the first entry has priority and later ones only receive the remaining surplus (see PV surplus charging with ChargeManager above). The adapter does not yet enforce a combined current limit across all wallboxes against a shared fuse or supply line, so make sure the sum of the per-wallbox maximum currents stays within your installation's capacity.
Sentry
This adapter employs Sentry libraries to automatically report exceptions and code errors to the developers. For more details and information on how to disable error reporting, please consult the Sentry-Plugin Documentation!
Donate
If you enjoyed this project – or are just feeling generous – consider buying me a beer. Cheers! :beers:
Changelog
WORK IN PROGRESS
- (typhosj) admin: the wallbox list now explains that its order is the ChargeManager priority - the first entry receives the PV surplus first, later entries only the remainder
- (typhosj) ChargeManager: the PV surplus is now shared between all wallboxes instead of being offered to each one in full; wallboxes are served in configuration order, so the first entry has priority and later ones only receive the remaining surplus
- (typhosj) ChargeManager: a wallbox without a connected vehicle no longer reserves surplus and can no longer starve a wallbox that has a car waiting
- (hombach) ChargeManager: optional automatic 1-/3-phase switching per wallbox (gen 3+, off by default) - switches up when one-phase charging saturates and back down when the surplus can no longer sustain three phases, with a dwell time to prevent flapping
- (hombach) fixed: automatic phase switching no longer overwrites the manual
Settings.Charge3Phaserequest - the automatic decision is now tracked internally, so the user's manual 1-/3-phase setting is preserved (and no longer persisted across restarts as if the user had set it) - (hombach) docs: clarified the multi-wallbox behaviour (list order = priority) and noted that no combined current limit across wallboxes is enforced yet
- (hombach) updated axios
- (hombach) switch to iobroker testing 6.x
- (hombach) fixed repochecker warnings
- (hombach) added node 26 tests
1.6.1 (2026-09-04)
- (typhosj) fixed: a wallbox whose effective maximum charging current is below 10 A - e.g. an 8 A coded cable or a per-wallbox maximum of 8 A - was rejected as invalid ChargeManager input and never charged from PV surplus. Such a wallbox now starts charging at its own maximum
1.6.0 (2026-08-29)
- (hombach) added optional per-wallbox minimum and maximum charging current, applied to both ChargeManager and ChargeNOW and always kept within the installation-wide maximum
- (hombach) the per-wallbox current limits now also respect the charger's reported hardware caps (absolute max, cable limit, minimum charging current), published as
info.hardwareMaxChargeCurrent/info.hardwareMinChargeCurrent - (typhosj) ChargeManager: added home-battery modes (disabled, minimum SoC, battery priority); installations without a home battery no longer need a constant helper state
- (typhosj) ChargeManager: added a battery SoC hysteresis and an optional maximum SoC age so surplus control stops on stale battery data
- (hombach) admin: moved the maximum charging current to the standard settings tab and clarified that it is an installation-wide limit of the shared power supply, valid for all wallboxes and both charging modes
1.5.0 (2026-08-25)
- (hombach) ChargeManager: grid reserve power and maximum battery bonus are now configurable (defaults 100 W / 2000 W) (#852)
- (hombach) ChargeManager: minimum and maximum surplus charging current are now configurable, with the maximum raised to up to 32 A (#852)
- (hombach) the configurable maximum charging current now caps ChargeNOW as well
- (hombach) admin: moved the ChargeManager settings into their own configuration tab, separate from the standard settings
- (hombach) updated dependencies
1.4.1 (2026-08-23)
- (typhosj) refactored the ChargeManager control decision into a deterministic, unit-tested function (#846); behavior unchanged
- (hombach) fixed vulnerabilities
- (hombach) updated dependencies
1.4.0 (2026-08-10)
- (hombach) added info.unlockedByRFIDName with the name of the current session's RFID card, in parallel to unlockedByRFIDNo (#634)
- (hombach) projectUtils: use extendObject instead of setObject in forceMode so user customizations survive restarts
- (hombach) projectUtils: fixed min/max/step value of 0 being dropped from number state definitions
- (hombach) updated dependencies
License
MIT License
Copyright (c) 2020-2026 C.Hombach go-e-charger@homba.ch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.