Skip to content

Plugin thermostat

Martin Pihrt edited this page Oct 13, 2026 · 1 revision

Thermostat

Controls up to 20 OSPy programs from independent temperature sources, hysteresis limits and operating windows.

At a glance

Item Value
Version 1.1.1
Category Weather, climate and environmental sensors
Author Martin Pihrt
License GPL-3.0
OSPy 3.0.211 or newer
Python 3.8 or newer
Permissions system
Hardware No dedicated hardware requirement declared
Dependencies None
Python/OS packages None
Interfaces Mobile API v1
Source Open the plug-in directory

What it is for

Controls up to 20 OSPy programs from independent temperature sources, hysteresis limits and operating windows.

How it works and how to configure it

Tested in Python 3+

The plug-in includes a plugin.json manifest and reports its worker, enabled thermostats, current temperatures, unavailable sources or setup errors, active program actions, latest cycle and errors through the OSPy system health interface.

The thermostat plugin checks selected temperature sources and starts or stops selected OSPy programs when the configured temperature limits are reached.

Up to 20 thermostats can be created, edited and deleted as independent cards. Existing settings from the earlier three-slot version are retained automatically.

Each thermostat has a low temperature, a high temperature and one selected program. The low and high limits create hysteresis. For example, low 22.4 C and high 22.6 C means that no action is repeated while the temperature stays between these values.

Each enabled thermostat must use a different OSPy program. This prevents one thermostat from stopping a program controlled by another thermostat.

Temperature sources

  • Air Temperature DS probes
  • OSPy sensors
  • Shelly Cloud temperature values

Plugin setup

  • Use thermostat: Enable or disable the whole plugin. Disabling the plugin stops programs assigned to enabled thermostats.

  • Show in footer: Show a short thermostat status in the OSPy home page footer.

  • Check interval: How often the temperatures are checked. Operating time boundaries are handled independently of this interval.

  • Add thermostat / Save thermostat / Delete: Create, edit or delete thermostat cards. Deleting an enabled thermostat stops its selected program.

  • Thermostat enabled: Enable or disable one thermostat. Disabling an active thermostat stops its selected program.

  • Temperature source: Select where the temperature is read from.

  • Channel: Select a DS probe, OSPy sensor or Shelly device.

  • Shelly temperature: Select which Shelly temperature value is used. This option is shown only for the Shelly Cloud source and is useful for Shelly devices with more temperature probes. For example, Temperature 3 means the third temperature value reported by the selected Shelly device. DS probes and OSPy sensors do not use this option.

  • Program: Select the OSPy program controlled by this thermostat. One program can be assigned to only one enabled thermostat.

  • Low temperature / Low action: When the temperature is equal or lower than the low value, the selected low action is executed once.

  • High temperature / High action: When the temperature is equal or higher than the high value, the selected high action is executed once.

  • Limit operating time: Leave disabled for continuous operation. Enable it to run the thermostat only from the selected start time up to, but not including, the selected end time. Overnight windows such as 22:00 to 06:00 are supported. The selected program is stopped when the operating window ends.

Note

The plugin controls OSPy programs only. If you need to control a relay by URL, use an OSPy program together with the CLI Control plugin.

In-app help and settings notes

The following notes are generated from the help page shipped with this plug-in. Field names are also explained directly in the OSPy settings page.

The thermostat plugin checks selected temperature sources and starts or stops selected OSPy programs when the configured temperature limits are reached.

Create, edit or delete up to 20 thermostat cards. Existing settings from the earlier three-slot version are retained automatically.

Use low and high temperature values with one decimal place to create hysteresis. For example, low 22.4 C and high 22.6 C means that no action is repeated while the temperature stays between these values.

Temperature can be read from the Air Temperature DS probes, OSPy sensors, or Shelly Cloud values when the related plugin is configured.

The Shelly temperature selector is used only for Shelly Cloud devices with more temperature values. For example, Temperature 3 means the third temperature value reported by the selected Shelly device.

Each enabled thermostat must use a different OSPy program. Disabling or deleting a thermostat stops its selected program.

Leave Limit operating time disabled for continuous operation. Enable it to run the thermostat only from the start time up to, but not including, the end time. Overnight windows such as 22:00 to 06:00 are supported, and the selected program is stopped when the operating window ends.

Programs can then be used to control stations, CLI actions, or external relays such as Shelly devices.

Support

Check OSPy → Diagnostics first and remove passwords, tokens, private addresses and other secrets before sharing logs. Report reproducible plug-in problems in the OSPy-plugins issue tracker.

Back to the plug-in catalog

Clone this wiki locally