Each event contains "MacId" and "OccuredAt" values in the body of the event. MacId is the unique device identifier and OccuredAt is the time the event occured on the device itself. Example of SetpointStatusEvent:

{"HeatSetpoint":70,"CoolSetpoint":78,"HeatSetpointStatus":"Scheduled","CoolSetpointStatus":"Scheduled","MacId":"00D02DB60BA0","OccuredAt":"2017-03-25T11:00:01.6286749Z"}

Thermostat event types:

  • DeviceOfflineEvent
  • DeviceOnlineEvent
  • FanStatusEvent
  • FanSwitchEvent
  • SetpointStatusEvent
  • SystemSwitchEvent
  • ThermostatIndoorHumidityEvent
  • ThermostatOutdoorHumidityEvent
  • ThermostatIndoorTemperatureEvent
  • ThermostatOutdoorTemperatureEvent

Event Definitions

The data contained in each event body is defined below per event type.

DeviceOfflineEvent

Field Name/Location Data Type Definition
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

DeviceOnlineEvent

Field Name/Location Data Type Definition
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

FanStatusEvent

Field Name/Location Data Type Definition
FanStatus String Current running state of the fan. On/Off.
PreviousFanStatus String Previous state of the fan. On/Off.
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

FanSwitchEvent

Field Name/Location Data Type Definition
Position String Current fan switch position. On, Auto, Circulate, FollowSchedule, Unknown.
Speed Integer/Null Speed of the fan. Nullable.
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

SetpointStatusEvent

Field Name/Location Data Type Definition
HeatSetpoint Float/Null Current heating setpoint. Can be null.
CoolSetpoint Float/Null Current cooling setpoint. Can be null.
HeatSetpointStatus String/Null Current setpoint status. Can be null. Scheduled, Temporary, Hold, VacationHold, Unknown
CoolSetpointStatus String/Null Current setpoint status. Can be null. Scheduled, Temporary, Hold, VacationHold, Unknown
CoolHoldUntilLocal TimeSpan/Null If in temporary hold, this is the local time the hold will end
HeatHoldUntilLocal TimeSpan/Null If in temporary hold, this is the local time the hold will end
ScheduledHeatSetpoint Float/Null If in temporary or permanent hold, this is the original schedule setpoint
ScheduledCoolSetpoint Float/Null If in temporary or permanent hold, this is the original schedule setpoint
VacationHoldActive Boolean/Null True/False if vacation hold is currently active
VacationHoldUntilLocal DateTime/Null Date the vacation hold will end, in local time
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

SystemSwitchEvent

Field Name/Location Data Type Definition
SystemSwitch String Current system switch position. EmergencyHeat, Heat, Off, Cool, AutoHeat, AutoCool, SouthernAway, Unknown
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

ThermostatIndoorHumidityEvent

Field Name/Location Data Type Definition
IndoorHumidity Float/Null Current indoor humidity if available. In percent.
IndoorHumidityStatus String/Null Indoor humidity sensor state. Measured, NotAvailable, SensorFault
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

ThermostatOutdoorHumidityEvent

Field Name/Location Data Type Definition
OutdoorHumidity Float/Null Current outdoor humidity if available. In percent.
OutdoorHumidityStatus String/Null Outdoor humidity sensor state. Measured, NotAvailable, SensorFault
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

ThermostatIndoorTemperatureEvent

Field Name/Location Data Type Definition
IndoorTemperature Float/Null Current indoor temperature reading
Units String/Null C or F units
IndoorTemperatureStatus String/Null Indoor temperature sensor state. Measured, NotAvailable, SensorFault
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device

ThermostatOutdoorTemperatureEvent

Field Name/Location Data Type Definition
OutdoorTemperature Float/Null Current outdoor temperature reading
Units String/Null C or F units
OutdoorTemperatureStatus String/Null Outdoor temperature sensor state. Measured, NotAvailable, SensorFault
MacId String MacId of the related device
OccuredAt DateTime Date and time the event occured on the device