<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -"
  ],
  "documentType" : "symbol",
  "framework" : "EnergyKit",
  "identifier" : "/documentation/EnergyKit/ElectricHVACLoadEvent",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "EnergyKit"
    ],
    "preciseIdentifier" : "s:9EnergyKit21ElectricHVACLoadEventV"
  },
  "title" : "ElectricHVACLoadEvent"
}
-->

# ElectricHVACLoadEvent

A measurement of the electricity consumed by an HVAC system.

```
struct ElectricHVACLoadEvent
```

## Overview

Submit events representing electricity consumption to provide insights about electricity usage and your managed devices’ adherence to [`ElectricityGuidance`](/documentation/EnergyKit/ElectricityGuidance). These events are data points recorded at specific points in time for a given [`EnergyVenue`](/documentation/EnergyKit/EnergyVenue) that allow the venue to determine when the device used electricity and the electricity’s cleanliness based on historical guidance. The framework can also determine relative cost using the rate plan at the energy venue, if available.

After you submit load events to report the electricity consumption of HVAC devices, you can request insights through [`ElectricityInsightQuery`](/documentation/EnergyKit/ElectricityInsightQuery). When you adopt the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.energykit.loadevents-experience>, the Home app displays your device’s energy usage with the device name you provide.

> Important: The system stores and syncs the energy data that you provide through load events with end-to-end encryption through the entire process, ensuring the data isn’t accessible to anyone, even Apple. For more information, see [EnergyKit data security](https://support.apple.com/guide/security/secd0a47c14c).

### Submit electrical HVAC load events

Save data to the load event when the heating or cooling stage changes. An electric HVAC load event provides information about the state transitions of the HVAC unit when it’s actively consuming energy.

Significant changes may include:

- A person initiated an action
- A pause in power consumption such as going idle
- The heating or cooling stage changed

Idle devices between heating or cooling cycles don’t generate events. The device that requested [`ElectricityGuidance`](/documentation/EnergyKit/ElectricityGuidance) must submit the corresponding load events. Load events for an [`EnergyVenue`](/documentation/EnergyKit/EnergyVenue) are accessible to all people that use the Home app.

## Topics

### Creating an electrical load event

[`init(timestamp: Date, measurement: ElectricHVACLoadEvent.ElectricalMeasurement, session: ElectricHVACLoadEvent.Session, device: ElectricalLoadDevice)`](/documentation/EnergyKit/ElectricHVACLoadEvent/init(timestamp:measurement:session:device:))

Creates an electric HVAC load event.

### Getting load event information

[`let id: UUID`](/documentation/EnergyKit/ElectricHVACLoadEvent/id)

The unique identifier of the electrical load event.

[`let timestamp: Date`](/documentation/EnergyKit/ElectricHVACLoadEvent/timestamp)

The timestamp for when the event occurred.

[`let session: ElectricHVACLoadEvent.Session`](/documentation/EnergyKit/ElectricHVACLoadEvent/session-swift.property)

The session information.

[`struct Session`](/documentation/EnergyKit/ElectricHVACLoadEvent/Session-swift.struct)

A session that tracks the event.

### Getting device information

[`let deviceID: String`](/documentation/EnergyKit/ElectricHVACLoadEvent/deviceID)

The device’s unique stable identifier.

[`var deviceName: String`](/documentation/EnergyKit/ElectricHVACLoadEvent/deviceName)

A human-readable name for the device.

### Getting electrical measurements

[`let measurement: ElectricHVACLoadEvent.ElectricalMeasurement`](/documentation/EnergyKit/ElectricHVACLoadEvent/measurement)

The electricity consumption of a device.

[`struct ElectricalMeasurement`](/documentation/EnergyKit/ElectricHVACLoadEvent/ElectricalMeasurement)

A description of the electricity consumed by a device.

### Deprecated

[`init(timestamp: Date, measurement: ElectricHVACLoadEvent.ElectricalMeasurement, session: ElectricHVACLoadEvent.Session, deviceID: String)`](/documentation/EnergyKit/ElectricHVACLoadEvent/init(timestamp:measurement:session:deviceID:))

Creates an electric HVAC load event.

## Relationships

### Conforms To

[`Identifiable`](/documentation/Swift/Identifiable)

[`Sendable`](/documentation/Swift/Sendable)

[`Decodable`](/documentation/Swift/Decodable)

[`Encodable`](/documentation/Swift/Encodable)

[`ElectricalLoadEventProtocol`](/documentation/EnergyKit/ElectricalLoadEventProtocol)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)