No announcement yet.

Thermostat Logic w/ Remote Temp Sensors

  • Filter
  • Time
  • Show
Clear All
new posts

    Thermostat Logic w/ Remote Temp Sensors

    Hello all,

    I have a problem with keeping the temperature where it needs to be inside certain rooms of the house, and I'm trying to address this with some cleaver VB logic inside HS3. I want to use 2 environmental sensors to read temperatures inside 2 bedrooms and adjust the thermostat (z-wave Honeywell model) to kick-on/off as needed.

    In short, my thermostat is in the hallway on the 2nd floor, and it's always 5-10 degrees hotter in the hallway than inside some of the 2nd floor bedrooms due to the heat from the 1st floor rising. Despite having HVAC folks come out and try to fix the problem, the problem persists. One possible solution would be to move the thermostat to one of the rooms (where it's colder)--but I wanted to try this approach first.

    I also don't want to re-invent the wheel, so not sure if someone out there has done something similar to adjust the thermostat based on temperature readings in other parts of the house via z-wave sensors.

    Before doing the VB coding, here's what I thought of, and wanted your feedback.
    1. Create event that runs every 60 minutes and performs the following checks. Thermostat is set to AUTO, which means it will either cool or heat depending on cool or heat set points automatically. System requires 3-degree difference between set points, so when I change either heat or cool set point, it will adjust the other one keeping the same 3-degree difference.
      • Read desired temperature from global variables
        • ie- 72 degrees

      • Check and average sensor1 and sensor2 temperature readings.
        • ie- sensor1=68 and sensor2=64. Average = 66.

      • Determine if the average sensor readings is above/below desired temperature.
        • in this case, it's below by 8 degrees.

      • If above:
        • lower the cooling set point by n degrees (n= difference between current cooling set point and average sensor temperature).

      • If below:
        • raise the heating set point by n degrees (n= difference between current heating set point and average sensor temperature).
        • ie- current heating set point = 72. Raise set point by +8 degrees to 80. In theory, this should make the average of the two sensors = 72 by the next check. If not, then it will adjust accordingly.

    2. Log changes made (for debugging)

    Is the above logic sound? Is there an easier/better way of doing it?

    I welcome any input/suggestions.