How much more efficient is a Dishwasher's Eco cycle?

Our dishwasher (a Hotpoint Experience thing) has an Eco-cycle - the idea being that it does $things in order to save energy.

Quite some time back, a repair engineer told me that Eco was a false economy because it ran things twice as fast/hard to be able to run for less time. That explanation's never sat particularly well with me - it'd be the same amount of work/energy, just compressed into a shorter time.

As I'm on a bit of an energy saving kick anyway, I was curious to see just how much difference Eco mode actually makes compared to a normal cycle. As I've previously set up to monitor our electricity usage I figured it should be relatively easy to check.

Both runs had exactly the same load in them - I don't expect it makes too much difference in practice, but seemed an easy thing to control.

I don't have a water meter, so wasn't able to check whether the Eco mode also uses less water (it's quite possible that it does, so that the smaller volume of water can be heated to the same temperature with less energy).

Tapo Plugs

First, a quick tangent around how the data was collected.

I was using TP-Link Kasa smart plugs in my original post, but unfortunately they've done what hardware suppliers like to do best: discontinued the range.

Instead, this was run using some TP-Link Tapo P110s. They're almost the same thing but work slightly differently on the network level (and require a different app, much to the chargrin of reviewers on Amazon).

There's already a python module for communicating with P110s though, so I didn't need to move the earth to collect usage information and write it into InfluxDB

import os
import influxdb_client
from PyP100 import PyP110
from influxdb_client.client.write_api import SYNCHRONOUS

user = os.getenv("PLUG_USER")
passw = os.getenv("PLUG_PW")

plugs = [
    {"name": "washing-machine", "ip": ""},
    {"name": "fridge", "ip": ""},
    {"name": "dishwasher", "ip": ""}

bucket = "Systemstats"
org = ""

def sendToInflux(name, watts, today_w):
    ''' Take the values and send into Influx

    Unlike kasa plugs, usage is reported in Wh not kWh
    print("Sending value")

    # Set up to send into Influx
    client = influxdb_client.InfluxDBClient(

    write_api = client.write_api(write_options=SYNCHRONOUS)
        p = influxdb_client.Point("power_watts").tag("host", name).field("consumption", float(watts))
        write_api.write(bucket=bucket, org=org, record=p)
        print("Error submitting locally")

    if today_w:
        p = influxdb_client.Point("power_watts").tag("host", name).field("watts_today", int(float(today_w)))
        write_api.write(bucket=bucket, org=org, record=p)

# Iterate over the configured plugs
for plug in plugs:
        p110 = PyP110.P110(plug["ip"], user, passw)
        p110.handshake() #Creates the cookies required for further methods
        p110.login() #Sends credentials to the plug and creates AES Key and IV for further methods        
        usage_dict = p110.getEnergyUsage()
        print("Failed to communicate with device {}".format(plug["ip"]))

    today_usage = usage_dict["result"]["today_energy"]
    now_usage_w = usage_dict["result"]["current_power"] / 1000

    print("Plug: {} using {}W, today: {} kWh".format(plug["name"],

    sendToInflux(plug["name"], now_usage_w, today_usage)
    del(p110) # Tidy away the var

I set this up as a cronjob to run once a minute.

There are a couple of things to note about the P110 comms as it differs a little from the Kasa plugs

  • Comms to the plugs are authenticated using your TP-Link account
  • The module has to make a call out to TP-Link's service to fetch a device specific token
  • The devices apparently get your TP-Link creds synced onto them, as they're used as part of the login process

What that means is, the smart plugs need to be able to communicate with the wider internet when you first set them up, but can be firewalled in once they've been added via the app. Your polling device, though will need to be able to reach TP-Link's service

Normal Cycle

The normal cycle lasts just over 90 minutes and features two prolonged jumps in consumption

Normal Cycle

At the start of the cycle there's a small increase in consumption to 70W - this is the pumps running for the initial (cold) rinse which lasts around 14 minutes.

Next the heating cycle starts and we hit the appliance's maximum rating, which is more or less maintained for 20 minutes).

The resulting hot water is then thrown about inside the machine for another 30 minutes, before a short break with another 10 minute period shortly after.

A second heating period begins - again hitting the appliance's max rating - for another 20 minutes before the cycle ultimately ends.

The entire cycle ultimately consumed 1.39 kWh

Normal Cycle Consumption

At a (currently optimistic) price of £0.21/kWh the electricity cost of the normal run is therefore £0.29

Eco Cycle

The Eco cycle lasts 75 minutes, and also features two jumps in consumption, although these are shorter in duration

Eco Cycle

As with the normal cycle, we see an initial increase in consumption, using around 70W that lasts 14 minutes.

The heating cycle, again, takes usage up to the appliance's max rating, but here it only lasts around 9 minutes before dropping back down to around 70w. This is maintained for 23 minutes, then there's a short drop, followed by the second increase.

This increase, again, only lasts 9 minutes before we see a final drop to 70w (presumably the water being pumped out) and hit end of cycle.

The entire cycle consumed 0.8kWh

Eco Cycle Consumption

At £0.21/kWh the electricity cost of the eco run is therefore £0.17

Fast Cycle

The fast cycle lasts 1 hour - like the other cycles it features two jumps in consumption, but appears to skip the initial rinse cycle

Eco Cycle

There's a very brief increase to 70W (water being pumped in) and then we're straight into the first heating cycle.

This cycle lasts 14 minutes, then we drop to 70W moving that water around. This lasts 21 minutes, with a break in the middle.

The second heating cycle lasts 17 minutes.

The entire cycle consumed 1.2 kWh

Normal Cycle Consumption

So at £0.21/kWh the electricity cost of the Fast cycle is £0.25


So, we can take from this that the Eco mode is

  • 18% faster
  • 42% more power efficient
  • 42% cheaper
  • Spends 55% less time at max power consumption (40 mins vs 18mins)

A Fast cycle is also (marginally) cheaper than the normal run - it's savings are achieved by shortening the heating cycle, and skipping the initial rinse.

The carbon calculator on reckons that 1kWh on my supplier equates about 0.042kg of carbon, though they claim with a typical supplier it would be 0.1936kg. From that typical value, we can extrapolate that

  • 3.72 Normal cycles causes 1KG of carbon emissions
  • 4.3 Fast cycles cause 1KG of carbon emissions
  • 6.46 Eco cycles causes 1KG of carbon emissions

My repair guy's claim that things are run twice as hard doesn't really hold up either - the baseload for the pump is the same in each cycle: 70W. If you want a pump/motor to run harder, it needs more energy.

So, Eco mode is better, and achieves those gains by shortening all of the stages except the initial cold rinse - it's not obviously doing anything which would increase mechanical strain in order to somehow achieve a faster/more economic run.

I hesitate to use the word "interested", but I am curious to see whether the same holds true for the washing machine - our machine doesn't have an explicit Eco mode, but it does have a short-cycle. There's a lot more mechanical action (read spinning) involved in a washing machine, so it may behave quite differently. You can read the results here.