Skip to content

Devices

A device (also called a "load") is any piece of electrical equipment that Hanergy can control. Each device is defined once and then referenced by one or more entries in the priority list.


Device Types

Hanergy supports three device types, each suited to different kinds of equipment:

Type Control Method Example Equipment
Dynamic Adjustable setpoint (amps, °C, %) + on/off EV charger, heat pump, battery inverter
Fixed On/off only Pool pump, irrigation valve, dehumidifier
Deferred User-triggered, then solar-powered Washing machine, dishwasher

Dynamic Devices

Dynamic devices give the engine two levers: an on/off switch and a continuously adjustable parameter. The engine modulates the parameter to match available surplus, rather than switching the device on and off repeatedly.

This makes dynamic devices the most efficient type — the engine can absorb exactly the right amount of surplus with minimal waste.

Field Reference

Field Required Description
Name Yes Human-readable label shown in the UI and dashboard.
Switch Entity Yes Home Assistant entity that turns the device on/off (switch.* or input_boolean.*).
Parameter Entity Yes Home Assistant entity for the adjustable setpoint (number.* or input_number.*). The engine writes to this entity to change the device's power level.
Parameter Min Yes Minimum allowed value. The engine never writes a value below this. Must match the actual hardware minimum.
Parameter Max Yes Maximum allowed value.
Parameter Unit No Display unit — A, °C, %, etc. Shown in the UI only; does not affect calculations.
Watts per Unit Yes Approximate power consumption per unit of the parameter, in watts. Used to estimate how much surplus a given setpoint will consume.
Feedback Entity No Home Assistant sensor that reports progress toward a goal (battery %, tank temperature). Used by priority entries with a threshold to determine when the device is satisfied.
Rated Power Yes Maximum power consumption at maximum setpoint, in watts.
Minimum Power No Power consumption at minimum setpoint, in watts. Improves surplus accounting if provided.
Ramp Time No Seconds to wait after switching on before adjusting the parameter. Some equipment needs time to reach operating conditions before accepting setpoint changes.

Calibrating Watts per Unit

The watts_per_unit value does not need to be exact — it is used for planning, not real-time metering. However, a grossly wrong value will cause the engine to either under-use surplus or attempt to activate devices it cannot sustain.

A practical calibration method:

  1. Switch the device on manually at the minimum setpoint.
  2. Note the stable power reading from your production and grid sensors.
  3. Increase the parameter to the maximum and note the power reading again.
  4. Divide the difference in watts by the difference in parameter units.

EV Charger calibration

A charger drawing 1,380 W at 6 A and 7,360 W at 32 A:

watts_per_unit = (7360 - 1380) / (32 - 6) = 5980 / 26 ≈ 230 W/A

Example: EV Charger

A single-phase EV charger with a current range of 6-32 A, using the car's battery state of charge as the feedback sensor.

Field Value
Name EV Charger
Switch Entity switch.ev_charger
Parameter Entity number.ev_charger_amps
Parameter Min 6
Parameter Max 32
Parameter Unit A
Watts per Unit 230
Feedback Entity sensor.ev_battery_soc
Rated Power 7,360 W
Minimum Power 1,380 W
Ramp Time 5 s

Why minimum is 6 A

The IEC 61851 EV charging standard mandates a minimum pilot signal current of 6 A. Setting it lower would cause the vehicle to refuse to charge.

Example: Heat Pump (Hot Water)

A heat pump water heater with a temperature setpoint range of 40-70 °C. The feedback sensor is the tank temperature.

Field Value
Name Heat Pump DHW
Switch Entity switch.heat_pump
Parameter Entity number.heat_pump_setpoint
Parameter Min 40
Parameter Max 70
Parameter Unit °C
Watts per Unit 15
Feedback Entity sensor.hot_water_tank_temp
Rated Power 2,000 W
Minimum Power 900 W
Ramp Time 60 s

Ramp time for compressor equipment

Heat pumps and air conditioners need time to build refrigerant pressure before accepting setpoint changes. A ramp time of 30-120 seconds is typical. For EV chargers, 5-10 seconds is usually sufficient.


Fixed Devices

Fixed devices are the simplest type. The engine can only switch them on or off. When surplus exceeds the minimum threshold defined in the priority entry, the engine switches the device on. When surplus drops, it switches it off — subject to the minimum on-time and off-time guards in engine settings.

Field Reference

Field Required Description
Name Yes Human-readable label.
Switch Entity Yes Home Assistant entity for on/off control.
Rated Power Yes Power consumption when running, in watts. Used for surplus accounting.

Example: Pool Pump

Field Value
Name Pool Pump
Switch Entity switch.pool_pump
Rated Power 750 W

Example: Dehumidifier

Field Value
Name Dehumidifier
Switch Entity switch.dehumidifier
Rated Power 500 W

A dehumidifier runs whenever enough surplus is available. The dehumidifier's own humidistat handles when to stop — from Hanergy's perspective, it simply stays on as long as surplus permits.


Deferred Devices

Deferred devices model appliances that run a complete, fixed-duration cycle — a washing machine, dishwasher, or tumble dryer — where the user decides when to request a run, but is happy for the actual start to be delayed until surplus is available.

How Deferred Devices Work

  1. The user presses a physical button or activates a Home Assistant helper (the trigger entity).
  2. Hanergy sees the trigger and queues the device.
  3. When surplus exceeds the device's minimum surplus threshold (defined in the priority entry), the engine switches it on.
  4. After the estimated runtime elapses, the engine switches the device off (or the appliance's internal program may stop it first).

Field Reference

Field Required Description
Name Yes Human-readable label.
Switch Entity Yes Home Assistant entity to switch the appliance on/off.
Rated Power Yes Approximate power draw during the cycle, in watts.
Estimated Runtime Yes Expected cycle duration in minutes. Used to estimate whether the cycle can complete before surplus drops.
Trigger Entity Yes Home Assistant entity the user activates to request a run. Typically an input_button or input_boolean.

Example: Washing Machine

Field Value
Name Washing Machine
Switch Entity switch.washing_machine
Rated Power 2,000 W
Estimated Runtime 90 min
Trigger Entity input_button.start_washing_machine

The user loads the washing machine and presses the input_button in the Home Assistant companion app (or a physical Zigbee button mapped to the helper). Hanergy queues the run and waits for sustained surplus before starting.

Example: Dishwasher

Field Value
Name Dishwasher
Switch Entity switch.dishwasher
Rated Power 1,800 W
Estimated Runtime 60 min
Trigger Entity input_button.start_dishwasher

Trigger button on a dashboard

Create a Home Assistant automation that exposes the trigger button on a Lovelace dashboard card or an NFC tag near the appliance for convenient one-tap triggering.


Practical Tips

Start with fixed loads

When setting up a new configuration, add a pool pump or other simple fixed load first. Observe that the engine activates and sheds it correctly at the expected surplus levels, then add more complex dynamic loads. This makes it much easier to isolate misconfiguration issues.

Feedback entities and thresholds

If a priority entry specifies a threshold (e.g., "charge to 80%"), the engine needs a feedback entity on the device to know when that threshold has been reached. Without a feedback entity, the engine cannot determine when the device is "satisfied" and will keep it active indefinitely. See Priorities for details.

Finding watts_per_unit

If you cannot measure the device directly, check the equipment's technical datasheet. EV chargers typically publish a W/A figure. For heat pumps, use the electrical input power at different setpoints (not the thermal output).