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:
- Switch the device on manually at the minimum setpoint.
- Note the stable power reading from your production and grid sensors.
- Increase the parameter to the maximum and note the power reading again.
- 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:
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¶
- The user presses a physical button or activates a Home Assistant helper (the trigger entity).
- Hanergy sees the trigger and queues the device.
- When surplus exceeds the device's minimum surplus threshold (defined in the priority entry), the engine switches it on.
- 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).