Virtual Thermostat (by SmartThings) only responds to temperature "updates", not latest temperature

Just started using SmartThings.

Using:

  • v3 hub
  • Ikea outlets
  • Aqara temperature sensors (bspranger DTH)
  • iOS (both old and new app)

I have the SmartThings Virtual Thermostat SmartApp set up and it is working fine once running. If I run it on a schedule however, it waits for the temperature to be updated by the sensor before taking any action. Because these sensors sleep most of the time, it can take some time for a temperature update to come in if there is no change in temperature. So the first time my schedule kicked in, it took one heater almost 45 minutes before it was switched on and I switched the other one on manually (separate sensors/heaters on the same schedule).

I have the two virtual thermostats set up to only run in Home mode, I am changing the mode using a virtual switch (ON is Home, OFF is Away) and I am changing the switch with an automation. This setup works fine.

Can I tell the SmartApp to check the currently known (latest) temperature, when the mode is changed or every 5 minutes, instead of waiting for an update to come in? Can I modify the DTH to periodically resubmit the latest temperature? Or should I look for a solution elsewhere?

Any pointers are very much appreciated.

As you pointed out sensors push updates to the hub when they have data to report and sleep the rest of the time. So they’re no way to wake up a sensor and get the latest temperature.

You may need to try a different sensor which reports temperature updates more frequently and higher sensitivity.
For example you could use the Monoprice 4-in-1 sensor or the ZooZ 4-in-1 sensor which report temperate changes in smaller increments.

It could also be an issue with the mesh where the messages are being lost from time to time (common with sleepy devices). It would help to add a buffering device within 20ft of your sensor so that the updates are delivered more reliably. FAQ: why would I need another beaming repeater if my zwave lock is already close to my hub?

1 Like

Thank you for your prompt reply.

I don’t mind these sensors being sleepy. This also attributes to great battery life. The accuracy of these sensors appears to be quite good

Different sensors may be a workaround, but this issue should be easily resolvable by checking the latest temperature when the mode changes, or some other modification. That is, assuming that the SmartApp responds to mode-changes and not just check the mode when a temperature update has come in and would cause the outlet to be switched on IF the current mode does not restrict this action. I would think (not tested) that the SmartApp responds to mode changes, as it would be inefficient to keep the heating on until the desired temperature has been reached before switching the outlets off even if the mode had already been changed to Away earlier. I believe this would also improve the SmartApp in general.

Maybe I should move this setup to WebCore instead.

I may have mis-understood your question, if the issue only with a mode change then yes it could be addressed by an app or DTH modification (depending on how its setup) and probably not related to the device or mesh.

You may not even need a virtual thermostat if you’re using climate SmartApps which support remote sensors and switches to control heaters/coolers natively. Here are a few smartapps from RBoy Apps which support remote sensors/switches to manage climate and do take into account mode changes:
[RELEASE] 5-2 Day Programmable Thermostat Scheduler (Weekday, Weekend) with Remote Temperature Sensor for each Schedule
[RELEASE] Mode Based Thermostat - Control Multiple Thermostats Temperature / Remote Temperature Sensors when Changing Modes
[RELEASE] Motion Sensor Thermostat with Remote temperature sensors, Presence detection and Schedules

Future supporter says: thank you!
I currently have very few devices, so no complicated stuff yet, but I see you’ve created some very useful stuff for future projects.

I looked at the simple mode based (free) version, but this works with an actual thermostat if I understand it correctly. I am working with Aqara sensors and Ikea outlets in the current setup.

I currently just change the mode very early, and this seems to work fine, of course. I will look into setting this up in WebCore later.