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
- FanSwitchEvent
- SetpointStatusEvent
- SystemSwitchEvent
- ThermostatIndoorHumidityEvent
- ThermostatOutdoorHumidityEvent
- ThermostatIndoorTemperatureEvent
- ThermostatOutdoorTemperatureEvent
- RoomEvent
- SensorEvent
- ScheduleEnabledEvent
- ScheduleTypeEvent
- ScheduleChangeSourceEvent
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 |
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 |
RoomEvent
Field Name/Location | Data Type | Definition |
---|---|---|
Id | Int | Room ID |
RoomType | Enum | Type of Room: "Bedroom", "LivingSpace" or "Other" |
AccessorySource | Array | Array of Sensor IDs in a Room |
AvgTemperature | Double | Average temp of a room in F units |
AvgHumidity | Double | Average humidity of a room in percentage |
Name | String | Name of the room |
SensorEvent
Field Name/Location | Data Type | Definition |
---|---|---|
RoomId | Int | Room ID |
AccessoryId | Int | AccessoryId of the sensor/thermostat in the room |
AccessoryAttribute | Array | Array of Sensor IDs in a Room |
AccessoryAttribute.Id | Int | AccessoryId |
AccessoryAttribute.Type | Enum | "Is" for sensor, "Ts" for Thermostat |
AccessoryAttribute.ConnectionMethod | Enum | "Rl" for RedLink (sensor), "Wi" for Wifi (Thermostat) |
AccessoryAttribute.Name | String | Accessory name |
AccessoryAttribute.UserChangeEnable | Boolean | |
AccessoryAttribute.Model | String | Model of accessory |
AccessoryAttribute.SerialNumber | String | Serial number of accessory |
AccessoryAttribute.SoftwareRevision | String | Software version of accessory |
AccessoryAttribute.HardwareRevision | String | Hardware version of accessory |
AccessoryValue | Array | Array of accessory values |
AccessoryValue.Id | Int | ID of accessory |
AccessoryValue.IndoorHumidity | Percentage | Current indoor humidity reading |
AccessoryValue.MotionDet | Boolean | Is motion currently detected? True/False |
AccessoryValue.OccupancyDet | Boolean | Is occupancy currently detected? True/False |
AccessoryValue.IndoorTemperature | Double | Current indoor temperature in F units |
AccessoryValue.Identify | Boolean | Is identify function currently on? (This is the app/device ability to flash a light to identify sensors) |
AccessoryValue.ExcludeTemp | Boolean | Is temp reading excluded from this accessory? |
AccessoryValue.ExcludeMotion | Boolean | Is motion reading excluded from this accessory? |
AccessoryValue.OccupancySensitivity | Enum | Current sensitivity setting "Low", "Medium" or "High". |
AccessoryValue.OccupancyTimeout | Int | Timeout with no motion before declaring occupancy = false |
AccessoryValue.Status | Enum | Status of accessory "NotAvailable", "Ok" or "Error" |
AccessoryValue.BatteryStatus | Enum | Status of batteries "Ok", "Low", or "Critical" |
AccessoryValue.RssiAverage | Int | Current signal strength of the accessory |
AvgTemperature | Double | Average temp of a room in F units |
AvgHumidity | Double | Average humidity of a room in percentage |
Name | String | Name of the room |
ScheduleEnabledEvent
Example: When I go into the Resideo app and edit the schedule, press Options, press"Turn Schedule Off" an event will be sent with "ScheduleEnabled: false". When I enable the schedule or create one an event will be sent with "ScheduleEnabled": true.
Field Name/Location | Data Type | Definition |
---|---|---|
ScheduleEnabled | Boolean | If the device has a schedule enabled or not |
ScheduleTypeEvent
Example: When you use the Resideo app and enable a Geofence schedule, you will receive an event with "ScheduleType: "Geofenced"
Field Name/Location | Data Type | Definition |
---|---|---|
ScheduleType | String | Schedule Type Currently Set. "None", "Geo", "GeoSleep", "TimedNorthAmerica", "TimedEmea", "TimedDhwEmea", "TimedDhwNorthAmerica" |
ScheduleSubtype | String | Schedule SubType (if any) "NA", "EMEA" |
ScheduleChangeSourceEvent
Field Name/Location | Data Type | Definition |
---|---|---|
By | String | Source of schedule change |
SouceName | String | Name of change source |