How I reduced Electricity Demand Charges while charging two Tesla Electric Vehicles

Our electricity provider recently introduced a new Electricity Peak Demand Charge ($3.75/kW). This charge is based on the highest average 15-minutes of usage during our entire billing period.

We own two electric vehicles (EVs). We purchase all of our electricity from the electric company (e.g. we do NOT currently have solar panels). We have a home energy monitor (IotaWatt) that allows me to view our peak usage (kW) for the entire home with and without EV charging.

Here is a breakdown of our total 32kW peak usage ($120/mo peak demand fee):

  • Home: 12kW peak usage
  • Vehicle 1: 10kW peak usage (40A@240V)
  • Vehicle 2: 10kW peak usage (40A@240V)

Tesla Solutions

If you have 2+ Tesla Wall Connectors, use Group Power Management (GPM) to configure your wall connectors to limit their combined power consumption.

For our two vehicles, this setting reduces our peak demand from 32kW ($120/mo) to 22kW ($82.50/mo). This is a savings of $37.50/mo.

We were able to configure “Group Power Management” in our two Tesla Wall Connectors (3rd generation) to limit their combined usage to 40A@240V (10kW) rather than allowing each vehicle to charge at 40A. Up to 6 Tesla Wall Connectors can coordinate using DPM. Other chargers have similar features.

If you have 1 Tesla Wall Connector, use Dynamic Power Management (DPM) to configure your wall connector to throttle vehicle charging usage based on total home energy usage.

If we only had one Tesla Wall Connector, DPM could easily reduce our peak demand from 22kW ($82.50/mo) down to our household peak of 12kW ($45/mo). This would be a savings of $37.50/mo.

Tesla Wall Connector (3rd generation) supports “Dynamic Power Management“, which “adjusts charge rate in real-time based on the available power in your electrical panel”. DPM requires a specific home energy monitor (sold separately) be installed in your electric panel to monitor available power. This is a great solution to prevent EV charging from increasing your household peak demand. Unfortunately, DPM only supports a single Tesla Wall Connector at this time.

Open Source Solutions

If you have 2+ Tesla Wall Connectors (2nd generation), you can use open-source software to achieve Dynamic Power Management (DPM) across multiple wall connectors.

Several open-source projects are able to perform Dynamic Power Management with older Tesla Wall Connectors (2nd generation) but do not currently support the latest Tesla Wall Connector (3rd generation).

If you don’t mind a DIY solution and are familiar with Raspberry Pi and Linux, consider using one of these software projects to manage your total household usage to reduce your demand charge and/or to consume all available solar panel electricity generation. These projects can read your current home energy usage from several different home energy monitors and adjust wall connector power output in real-time to keep your total power consumption (kW) below a configured amount.

Custom Solution

If you have 2+ Tesla Wall Connectors, you can build custom API integrations to read home energy usage and adjust your Tesla vehicle charging rate.

This is my current solution until the open-source projects above support the latest Tesla Wall Connector (3rd generation). This reduces our peak demand from 32kW ($120/mo) down to our household peak of 12kW ($45/mo). This is a savings of $75/mo.

First, I setup an automation to automatically reduce my charging rate to a very low value (e.g. 5A) when each vehicle arrives at home and increase my charging rate to the max value (e.g. 40A) when each vehicle leaves home. Tessie can also perform this automation. This prevents each vehicle from causing a large peak before the following integration magic can begin.

My API integration reads real-time home energy usage from an IotaWatt home energy monitor API on my home network, then adjusts vehicle charging rates between 2A-40A using the vehicle API in the cloud.

Example: If I want to limit total home usage to 12kW and my home energy monitor reports total home usage (minus EV usage) is currently 2kW, the integration will make 10kW available to one vehicle or 5kW available to two vehicles.

The level of sophistication will depend on your imagination. Here are a few ideas:

  • Confirm how many vehicles are located at home and connected to Tesla Wall Connectors. Allocate the available power between each vehicle (e.g. 10kW available can be allocated to two vehicles evenly as 5kW per vehicle).
  • Calculate the % battery needing to be charged (e.g. desired SoC % – current SoC %) for each vehicle. Allocate the available power so the vehicle that needs larger total charge receives a larger % of the available power (e.g. 10kW available could be allocated as 2.5kW to Vehicle A needing to increase SoC from 60% to 80% plus 7.5kW to Vehicle B needing to increase SoC from 20% to 80%). This would help SoC % of Vehicle B recover more quickly.
  • Similar to prior example, but allocate available power to vehicle with lowest SoC %. When vehicle two vehicles have same lowest SoC %, allocate equal amount of available power to both. This helps ensure the vehicle with the lowest SoC % recovers as quickly as possible, but would require a buffer of 1-2% to prevent constantly starting/stopping charging on one vehicle if the vehicles have different capacity batteries.

NOTE: If you are managing a Tesla vehicle, consider using TeslaFi API or Tessie API since those platforms perform proper sleeping between requests. Otherwise, you will find that your battery state of charge decreases by several % per day when the car is idle because you keep waking up the computer.

Unfortunately, any of the following outages can cause your API integration to fail:

  • Home network outage
  • Home Internet outage
  • TeslaFi or Tessie API outage
  • Tesla API outage
  • Vehicle Internet outage

If any of the outages above happen during EV charging even ONCE during your billing cycle, this could result in a demand charge increase for the entire month. Here are several example scenarios:

  • Home is idle (e.g. <1kW). Vehicle is charging at full speed (e.g. 10kW or 40A). Large appliance (e.g. HVAC, hot water heater, etc) begins running during an outage. Vehicle charging is not reduced in real-time, resulting in undesired demand charge.
  • Home is idle (e.g. <1kW). Vehicle is charging at full speed (e.g. 10kW or 40A). Vehicle finishes charging. Because vehicle never left home, API integration has not reduced charging to very low value (e.g. 5A). Vehicle begins charging again while large appliances are running. Vehicle charging is not reduced in real-time due to outage, resulting in undesired demand charge. Workaround: Configure your API integration to reduce vehicle charging speed (e.g. 5A) when vehicle has finished charging.

Have you found another way to manage your peak energy demand charges? If so, please reply below. I would love to hear specifics!