No announcement yet.

Temperature Actions

  • Filter
  • Time
  • Show
Clear All
new posts

    Temperature Actions

    I am unclear on how to get this to work and it is so simple. I have tried Temperature Actions and loops but they never run. Even when I turn on the device created by the mcstemperature plugin.

    I have a Temperature Sensor: \4
    I have a Cooling Fan and Powered Vent I want controlled by this: \45, \47
    I have a Virtual Thermostat: #38

    When the temperature exceeds the Thermostat Value, I want the fan, vent to turn on. When it goes below the Thermostat Value, I want the fan and vent to stop. I suppose it would be nice to have a hysteresis value of a few degrees, so the fan, vent are not being toggled too often.

    Any Ideas on the best way to do this?

    This looks like a classic application of Temperature Actions. Post #7 of has the manual extract that described the facility provided. I think the only real change from this document segment is that it is alllowed to continue forever as another option.

    Create an event with a manual trigger. The Temperature Action will be setup to Turn device \45 and continue forever; ON when Lower Limit is below -2+#38; OFF when Upper Limit is above 2+#38. Do a second event for \47. The -2/2 is the hysteresis.

    Manually trigger it to get it started. When the first transition occurs to turn it ON or OFF then another virtual device will be created to show status of the virtual thermostat. To get it started and get the feedback immediately I would set the value of #38 so it will cause \45 to be turned ON. The control loop is run every 60 seconds so wait up to that time to expect to see the status device created.


      Thanks Michael. I followed your instructions and created two events. Below is one of them:

      Turn ON \47: Greenhouse Cooling Fan\4: Greenhouse Greenhouse Temp is Above 2+#38, Turn OFF \47: Greenhouse Cooling Fan\4: Greenhouse Greenhouse Temp is Below -2+#38

      #38 is currently set at 80

      Control Active \4 Limits [18 to 0] Now 107.5, Controlled Device \47 On for 0:15:21

      For Some reason, the devicevalue it pulls from the thermostat is not the actual value. For instance, my thermostat range is from 60 to 100. so, if I have my thermostat set to 80, the plugin sees it as 20. I tried using 2+hs.DeviceString("#38"), but it did not allow it. I received errors in my log:

      6/26/2007 3:01:38 PM mcsTemperature Expression -2+hs.DeviceString("#38")/-2+0(0) on line 320 Type mismatch: '[number: 0]'
      6/26/2007 3:01:38 PM mcsTemperature Expression 2+#38/ on line 70 Syntax error


        It should not be using the DeviceValue but the HTML-stripped DeviceString. Why do you think it is using the DeviceValue?


          I am thinking that it is using the DeviceValue because it shows a limit of 18:

          Control Active \4 Limits [18 to 0] Now 79.4, Controlled Device \45 On for 14:57:38

          When it should show 78 to 82
          because my thermostat (#38) is set to 80

          When I remove -2+#38 & 2+#38 from the UL & LL fields, and replace it with 80 & 85, it shows up properly:

          Control Active \4 Limits [80 to 85] Now 79.4, Controlled Device \47 Off for 6:29:58
          Last edited by madmax; June 27, 2007, 07:58 AM.


            It is using DeviceValue because of the setting to only include icons for temperatures. With only icons there is no textual content in the DeviceString. I changed the Thermosat types to ignore the display setting to show only icons in V5.6.9.


              I had to delete & recreate the thermostat, but it appears to be working now. Thanks!