Skip to content

Deferred Load: Washing Machine

Defer a washing machine cycle until solar surplus is available, so the appliance runs on free energy.


The Problem

A washing machine runs a fixed cycle (typically 60-120 minutes) and cannot be paused mid-cycle without ruining the wash. You want to run it during peak solar production, but you do not know exactly when that will be today.

The Solution

Hanergy configures the washing machine as a deferred load. The workflow is:

  1. You load the machine and prepare it for a wash.
  2. You press a "Start when solar" button in Home Assistant (an input_button helper).
  3. Hanergy queues the request and waits for sufficient surplus.
  4. When surplus exceeds the machine's power draw, Hanergy switches it on.
  5. The machine runs for its estimated cycle duration, then Hanergy switches it off.

The key difference from other load types: deferred loads do not activate automatically. They require an explicit user trigger first.


Device Configuration

Add the washing machine as a deferred load in Settings > Devices.

Field Value Notes
Name Washing Machine Display name
Type Deferred User-triggered, runs a complete cycle
Switch entity switch.washing_machine On/off control via smart plug
Rated power 2000 Peak draw during heating phase
Estimated runtime 120 Minutes for a full cycle
Trigger entity input_button.start_washing_machine User presses this to request a run

Creating the trigger entity

In Home Assistant, go to Settings > Devices & Services > Helpers > Create Helper > Button. Name it "Start Washing Machine" and note the entity ID (e.g., input_button.start_washing_machine). You can add this button to a dashboard card, an NFC tag, or a physical Zigbee button.


Priority Configuration

Field Value Notes
Load Washing Machine Select the device
Minimum surplus 2000 Watts required to start the cycle
Enabled Yes

Place the washing machine at a moderate priority. It does not need to be high priority because the cycle can wait, but it should not be the lowest priority either -- a washing machine left waiting all day may not run before sunset.


How It Works

Once the user presses the trigger button:

  1. Hanergy marks the load as queued.
  2. On each evaluation cycle, the engine checks whether surplus exceeds min_surplus_w.
  3. When surplus is sufficient, Hanergy activates the switch entity, starting the machine.
  4. The machine runs for est_runtime_min minutes (120 minutes in this example).
  5. After the estimated runtime, Hanergy switches the load off.

Cannot pause mid-cycle

Unlike dynamic and fixed loads, a deferred load runs until completion once started. Hanergy does not shed a deferred load mid-cycle if surplus drops. The estimated runtime tells the engine how long the cycle will take, allowing it to account for the power draw in surplus calculations for the duration.


Tips

  • Estimated runtime should be generous. Set it to the longest possible cycle for your machine. If the machine finishes early, its own internal relay will stop drawing power. If the estimate is too short, Hanergy may cut power before the cycle completes.

  • Smart plug requirement. The washing machine needs to be connected through a smart plug (e.g., Shelly Plug, Sonoff, Zigbee plug) that exposes a switch entity in Home Assistant. The machine should be set to start automatically when power is applied.

  • Dishwasher works the same way. The deferred load pattern applies to any appliance that runs a fixed cycle: dishwashers, tumble dryers, bread machines. Create a separate deferred load for each appliance with its own trigger entity.

  • Trigger expiry. If the trigger is pressed but surplus never reaches the threshold before sunset, the request stays queued. Hanergy will attempt to start the machine the next day when surplus is available. Clear the trigger manually if you no longer want the cycle to run.