Comparing evcc and the go-e Controller for solar charging

This year we replaced both our cars with electric vehicles, an Volkswagen ID.Buzz and an ID.4.  As everyone is probably aware, costs of electricity have been rising steeply recently, and are much higher than what is paid for the surplus of our photovoltaic (PV) system. Therefore, we wanted to optimize our PV system to use as much of our surplus as possible for our own consumption and charging our cars.

We already had a relatively old PV system with about 4.8 kWp on our roof and started planning to add new panels with another 5 kWp as well as a battery. But for starters we got ourselves the go-e Gemini as wallbox, paired with an go-e Controller to optimize charging with PV power.

The go-e system worked well initially with our old PV system, but our extension then included a new Huawei SUN2000 inverter (SUN2000-10KTL-M1) and a Huawei LUNA2000 DC battery (LUNA2000-10-S0). The battery provides an additional mechanism for not having to supply surplus to the grid but to store it for our own consumption. The go-e Controller does not integrate with such batteries and is therefore somewhat limited in the management of battery charging versus vehicle charging, leading to an inefficient use of our surplus. 

Therefore I started looking for an alternative, which I found in in evcc, an open-source solution for electric vehicle charging with PV surplus. Evcc integrates with our new Huawei components, the go-e Gemini wallbox and our electric vehicles, enabling a more sophisticated and optimized management of the charging process.

In this article I’ll go into how the go-e Controller setup works versus the evcc setup, and why in our case evcc offers a more effective use of PV surplus. This is by no means a complete comparison of the two solutions, but only looks at some particular differences relevant to PV systems with a battery.

PV overview

Let’s start with an overview of our new PV system. As you can see in the diagram below, it consists of the inverter, the battery and a DTSU666 power sensor. The power sensor measures the input/output to the power grid, and if surplus (output) is detected, the system starts charging the battery with the corresponding power. This basically diverts solar power generated by the PV panels to the battery. If on the other hand power is drawn from the grid, the system starts drawing charge from the battery to make use of the previously stored solar power.

The go-e Controller setup

Now, let’s have a look how our existing go-e Controller and go-e Gemini wallbox integrated into the new Huawei system. The go-e Controller is an appliance that is installed in an electrical cabinet and sells for 250€. Similar to the Huawei power sensor, the go-e Controller uses physical power sensors to measure the grid input/output and also the output from the PV system. Importantly, the go-Controller can only measure the combined output of the PV panels and the battery, it does not actually know if power comes from one or the other.

The diagram below shows this setup.

Limitations of the go-e Controller setup

The go-e Controller not being able to distinguish between power coming from the PV panels and the battery results in the following behavior:

  • Surplus first goes into the battery and only when the battery is fully charged, and after that the electric car charging process is started.
  • If the electric car charging process is ongoing and the PV surplus drops, then power is transferred from the battery to the electric vehicle until the battery is drained. Only then electric car charging is reduced or stopped, depending on the output of the PV panels. The go-e controller does have a (beta) feature to prevent that, a setting called Grid Target. Go-e recommends setting the Grid Target to -200W. Vehicle charging is then started only when 200W of surplus are feed into the grid, and since the battery system typically do not feed into the grid this indicates that real surplus from the panel is available. However, in my setup this feature does not seem to work (yet).

To understand why this behaviour is less then ideal, it is important to know that the amount of power going into electric vehicles cannot be freely controlled, instead there is a minimum amount of power needed, which is typically 1,4 kW (6A on one phase). The amount of power can only be controlled in steps of about 1A or 200 W. The battery does not have these limitations, it can be charged step-less and with smaller amounts of power.

Based on that, the go-e Controller setup has the following drawbacks:

  • The battery is filled up quickly and once it is full, smaller amounts of surplus that cannot be used for charging the electric vehicles have to be fed into the power grid.
  • Power is unnecessarily going through the battery into the electric vehicles, when it could have been charged directly into the electric vehicles. If the Grid Target feature is used (and works) to prevent that, some surplus is lost to the grid.

After observing those issues, I started looking for a solution that integrates with the Huawei system and offers more control of the charging process, which I found in evcc.

The evcc setup

Evcc is an open-source software that is financed by a sponsoring model. To use some features, like the integration with our go-e Charger, you need to sponsor the project, with 2$ monthly or a one-time contribution of 100$. For that you get the software only and still need a system that runs 24x7 in your house to host it. Examples of such systems can be Network Attached Storages (NAS), such as from Synology or a Raspberry Pi or any other server running Linux.

Compared to the go-e Controller, evcc does not use physical sensors to measure power but integrates with the Huawei system via Modbus TCP. While with the physical sensors the go-e Controller only knows the combined output of PV panels and battery, evcc with the Modbus integration can read the actual production of the PV panels as well as state-of-charge of the battery and whether the battery charges or supplies power. Also evcc can access the vehicle’s battery state-of-charge via the Volkswagen Connect for ID cloud service.

The following diagram shows this:

Based on this information, evcc can detect if there is actually surplus from the PV panels that is charged into the battery and instead divert that surplus into the electric vehicles. Also it can reduce or stop the electric vehicle charging if surplus drops to avoid draining the battery.

The interaction between battery charging and electric vehicle can be configured in evcc as shown in the screenshot below:

The lower limit represents the charge level to which the battery should be charged before electric vehicle charging is started. The upper limit represents the charge level to which the battery may be drained to support electric vehicle charging.

The screenshot below of evcc’s illustration of power usage shows a case where this optimizes the use of PV surplus. The PV system produces 2.2 kW, some of which goes into the consumption of our house and the surplus is used for car charging. However since the amount of power going into the car can be only controlled in steps, there is some left-over surplus, which goes into the battery. This is only possible because with evcc, the car charging was started before the battery was full. With the go-e Controller, the battery would have been full before the car charging is started, and the left-over surplus would have been fed into the grid.

Other differences between evcc and the go-e Controller

As said initially, this article is by no means a full comparison of the two solutions, but still I’d like to say a few words about notable differences.

As appliance, the go-e Controller is for sure easier to setup and use. It comes with an app that accesses the devices via a cloud service, enabling access from anywhere and relatively accessible configuration options.

Compared to that evcc requires some effort to be installed on a host system. Configuration is done initially via a text-based configuration wizard and later mostly by editing text files. It has a mobile-friendly, web-based user interface, but to access it remotely you need to use a VPN solution such as Tailscale. A few configuration options are already available via the user interface and the evcc development team is actively working on expanding that to make the configuration process easier.

Due to the additional integrations, the evcc user interface can present information about PV production and the state of our battery and vehicles. It provides the most important information in one place, where before I had to use the individual apps from Huawei, go-e and VW:

The information presented in Huwaei’s FusionSolar app (left) cannot distinguish between house consumption and car charging power. The go-e app (center) breaks down the power going into house and car, but lacks information if power comes from the PV panels or the battery. The state-of-charge of the vehicles can only be seen in the VW app (right).

Compared to those three incomplete pictures, the evcc web interface provides all relevant information on  your PV system, wallbox and cars.

Still, I’d use the vendor apps to get additional details in their respective areas, but for daily use the evcc user interface has everything I need.

Final Words

With an existing NAS that can host evcc running in our house and a bit of tech-savviness, evcc was relatively easy to setup and cheaper than the go-e Controller. Once set up, evcc is more effective in optimizing the use of PV surplus, and provides all relevant information about your PV system and electric vehicles in one place. For those interested, I will follow-up on this article with another one, describing the installation and configuration of our evcc setup in detail. UPDATE Nov 12, 2023: that article is now online, you can check it out here.

If installing, configuring and operating evcc seems to much of a hurdle, you can also take a look at clever-PV. It offers similar functionality but in a Software as a Service (SaaS) model, it therefore runs in a remote cloud and is easier to configure and maintain. However, access to most devices also works via their vendor’s cloud services, making you reliant on their long-term availability and interoperability. The pricing model is based on a subscription fee of 5€/month for the full feature set.

I hope you found this article useful, and if you have any questions, feel free to contact me.