Announcement

Collapse
No announcement yet.

Any way to script +1 / -1 degree thermostat change?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Any way to script +1 / -1 degree thermostat change?

    So I'm using the BeakerStat plugin, with the 3M WiFi thermostats. I must admit it actually works great and has exceeded expectations!

    So I have a red and a green momentary pushbutton installed in my wife's nightstand next to the bed. I put them in as a joke so she could press the red button for 'Sad Trombone' sound effect, or green button to play 'Let's get it on' by Barry White :-) - Don't judge! Just having fun with IO controllers and HomeSeer.

    ANYWAYS - I also want to use the IO controller and momentary buttons for innocent use - to allow her to increment the AC unit downstairs by 1 degree either direction per press. (green button makes it cooler by 1 degree, red button makes it warmer by one degree.)

    I tried:

    hs.transmit "'5", "hs.DeviceStatus("'5")+1"

    With '5 being the BeakerStat current temperature status... but this doesn't work. Might be terribly malformed. The same context allows me to set devices to on/off/etc based on scripting.

    Does anyone know if there's a way to increment or decrease this value by '1' so that she can easily adjust temperature tactically without having to find a remote or yell at the computer? I'd greatly appreciate the assist!

    #2
    Hmmm I found this thread http://board.homeseer.com/showthread...ght=Beakerstat

    Will see if I can modify to add or subtract 1 degree. If anyone's done this I'd love to know!

    Comment


      #3
      Adam, + or - 1 degree may not be a good idea for air conditioning. I had to change the internal settings of my Trane z-wave thermostat from 1 degree to 2 degrees because the air conditioning would cycle ON/OFF every 15 minutes when the setting was 1 degree. Short cycling of an HVAC system will drastically reduce its efficiency and shorten its life cycle.

      Steve Q
      HomeSeer Version: HS3 Pro Edition 3.0.0.368, Operating System: Microsoft Windows 10 - Home, Number of Devices: 373, Number of Events: 666, Enabled Plug-Ins
      2.0.83.0: BLRF, 2.0.10.0: BLUSBUIRT, 3.0.0.75: HSTouch Server, 3.0.0.58: mcsXap, 3.0.0.11: NetCAM, 3.0.0.36: X10, 3.0.1.25: Z-Wave,Alexa,HomeKit

      Comment


        #4
        Steve, that's a great point. I have it set to always HOLD and always on COOL. It won't be used for 1 degree increments, as she'll press it 2-3-4 times to adjust the temp either way, I just didn't want a single press to jump more than 1 degree. Got it figured out though, and it works great!

        Thanks for the input though... I haven't thought about it that way.

        Comment


          #5
          Originally posted by Steve Q View Post
          Adam, + or - 1 degree may not be a good idea for air conditioning. I had to change the internal settings of my Trane z-wave thermostat from 1 degree to 2 degrees because the air conditioning would cycle ON/OFF every 15 minutes when the setting was 1 degree. Short cycling of an HVAC system will drastically reduce its efficiency and shorten its life cycle.

          Steve Q
          Changing the setpoint temperature by one degree, and the on/off temperature hysteresis are two very different things.

          All home thermostats that I have seen allow one degree temperature setting changes. I can set for 74 degrees, 75 degrees, 76 degrees, or whatever.

          Some thermostats allow you to change hysteresis value as well, but most are fixed at two or so degrees. So, I can set my thermostat for 75 degrees. The AC will come on a 76 degrees and then go back off at 74 degrees. If I set for 76 degrees, it will come on at 77 degrees and go off at 75 degrees.

          I don't see how changing the setpoint by one degree increments causes any problem. (I do agree that setting the hysteresis to one degree is usually a problem, but the OP was not asking to do that.)

          Comment


            #6
            this last post is correct, the setpoint has no bearing.. MOST thermostats will only cool down to the setpoint, then raise 2 degrees above the setpoint, and cycle back in...

            my system (custom design and build) and some of the newer commercial systems employee soft-start technology on compressors and fans .. there is no damage to the number of times these types of systems cycle on, as the voltage is slowly applied to the motor as well as an increasing frequency which mitigates any electrical or mechanical stress... these types of systems also vary the refrigerant flow and compressor rotor speeds.. so on warm to hot days they may never cycle out.. (and the temperature stays put)

            one of the things i did for a friend of mine with a conventional system.. was have a Homeseer script start the indoor fan when the temp raised 1 degree above setpoint.. the compressor starts at 2 degrees above... this way he doesnt cycle the compressor but still gets some air circulation to make it feel cooler.. this doesnt work on Humid days.. homeseer wont execute this event when the dewpoint is above 59 degrees outside...
            -Chris
            PerfecTemp - the Most advanced HVAC system I've ever Built - and its in my House

            Comment


              #7
              Thanks for the input guys. I have it all working and have installed momentary pushbuttons on my wife's bedstand to handle the temp up, temp down input without having to move :-)

              And she can use the button for another, less 'clean' option too...

              http://www.youtube.com/watch?v=FTrtFEShhdM

              Adam

              Comment


                #8
                Good luck with the naughty buttons.
                💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                Comment


                  #9
                  Haha so far so good!

                  Comment


                    #10
                    Hi,

                    Pretty cool push buttons.

                    I know this is old but it seems rather appropriate. Here is the script that I use with the failsafe's for changing heat via HSTouch. I know HStouch has actions built in to raise and lower the heat however they are useless since you have to wait 1-2 seconds after each adjustments before you can press the button again. For example if I tap the heat up button 5 times quickly it will only register +1 once

                    Instead of using the built in actions I assigned an event that calls my script for the up and down. I use the sub HeatUp for the up button and the sub HeatDown for the down button

                    Code:
                     Sub HeatUp(ByVal parms as Object)
                    Dim pi As Object 
                    Dim currentHeatSetPoint as Double
                    Dim newHeatSetPoint as Double
                    Const HighFailSafe as double = 90
                     pi = hs.Plugin("ZWave Thermostats") 
                    currentHeatSetPoint = pi.getHeatSet(1,1)
                    hs.writelog("Thermostat","Current Heat Set Point is: " & currentHeatSetPoint)
                    newHeatSetPoint = currentHeatSetPoint +1
                     if newHeatSetPoint > HighFailSafe then 
                    pi.cmdSetHeat(1, currentHeatSetPoint)
                    hs.writelog("Thermostat","Current Heat Set Point is now: " & currentHeatSetPoint)
                    else  
                    pi.CmdSetHeat(1, newHeatSetPoint)
                    hs.writelog("Thermostat","Current Heat Set Point is now: " & newHeatSetPoint)
                    end if
                    End Sub 
                      
                     Sub HeatDown(ByVal parms as Object)
                    Dim pi As Object 
                    Dim currentHeatSetPoint as Double
                    Dim newHeatSetPoint as Double
                    Const LowFailSafe as double = 55
                     pi = hs.Plugin("ZWave Thermostats") 
                    currentHeatSetPoint = pi.getHeatSet(1,1)
                    hs.writelog("Thermostat","Current Heat Set Point is: " & currentHeatSetPoint)
                    newHeatSetPoint = currentHeatSetPoint -1
                     if newHeatSetPoint < LowFailSafe then 
                    pi.CmdSetHeat(1, currentHeatSetPoint)
                    hs.writelog("Thermostat","Current Heat Set Point is now: " & currentHeatSetPoint)
                    else  
                    pi.CmdSetHeat(1, newHeatSetPoint)
                    hs.writelog("Thermostat","Current Heat Set Point is now: " & newHeatSetPoint)
                    end if
                    End Sub
                    This can be easily adjusted for AC as well

                    Comment

                    Working...
                    X