Setting and Monitoring Temperature Thresholds

Learn how to use temperature thresholds to monitor your thermostat for potential HVAC system misuse or malfunctioning.

You can configure Seam to emit a thermostat.temperature_threshold_exceeded event if a thermostat reports a temperature outside a specific threshold range. This capability helps you to monitor your thermostats proactively, alerting you to potential HVAC system misuse or malfunctioning.

Use the /thermostats/set_temperature_threshold endpoint to set upper and lower acceptable temperature bounds. Then, you can use a webhook to monitor for thermostat.temperature_threshold_exceeded events.

When the thermostat reports a temperature outside the threshold range, Seam also adds a warning on the thermostat. You can use the /devices/get endpoint to get the thermostat and then inspect its device.warnings property.


Set a Temperature Threshold

To set a temperature threshold for a thermostat, issue a /thermostats/set_temperature_threshold request, providing the device_id of the desired thermostat. Also, include the following parameters:

  • lower_limit_celsius or lower_limit_fahrenheit

  • upper_limit_celsius or upper_limit_fahrenheit

Request:

seam.thermostats.set_temperature_threshold(
  device_id = "2d488679-6f07-4810-aed2-e726872c1dd5",
  lower_limit_celsius = 4,
  upper_limit_celsius = 30
)

Response:

None

View a Temperature Threshold

The temperature threshold range that you set for a thermostat is a property of the thermostat resource itself. To view the threshold values, use the /devices/get endpoint and inspect the thermostat.temperature_threshold.

Request:

seam.devices.get(
  device_id = "a4b775e3-feb2-4c6b-8e78-a73ec2d70b61"
)

Response:

Device(
  device_id='a4b775e3-feb2-4c6b-8e78-a73ec2d70b61',
  temperature_threshold={
    lower_limit_celsius: 4,
    lower_limit_fahrenheit: 39.2,
    upper_limit_celsius: 30,
    upper_limit_fahrenheit: 86
  },
  ...
)

Change a Temperature Threshold

To change the temperature threshold range for a thermostat, issue a new /thermostats/set_temperature_threshold request. The new threshold values replace the previous ones.


Monitor a Temperature Threshold

To monitor a thermostat for temperatures outside the bounds of the configured threshold range, you can configure a webhook to receive thermostat.temperature_threshold_exceeded events. This event includes the device_id of the affected thermostat, as well as the configured threshold values and the reported temperature that exceeded this threshold range.

When the reported temperature for a thermostat returns to within the configured threshold range, Seam emits a thermostat.temperature_threshold_no_longer_exceeded event.


Delete a Temperature Threshold

To delete the temperature threshold range for a thermostat, issue a /thermostats/set_temperature_threshold request, providing either of the following parameter combinations:

  • Provide only the device_id of the desired thermostat.

  • Provide the device_id of the desired thermostat and set the following parameters to null:

    • lower_limit_celsius or lower_limit_fahrenheit

    • upper_limit_celsius or upper_limit_fahrenheit

Request:

seam.thermostats.set_temperature_threshold(
  device_id = "2d488679-6f07-4810-aed2-e726872c1dd5"
)

or

seam.thermostats.set_temperature_threshold(
  device_id = "2d488679-6f07-4810-aed2-e726872c1dd5",
  lower_limit_celsius = None,
  upper_limit_celsius = None
)

Response:

None

Last updated

Logo

© Seam Labs, Inc. All rights reserved.