Announcement

Collapse
No announcement yet.

Virtual thermostat

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

    Virtual thermostat

    Just realised I may have posted in the wrong thread to stand the best chance of a reponse! I'm completely stuck.

    Originally posted by SimonH
    Hi,
    There is probably some very simple way to do this....but....

    Temperature Sensors: Oregon Scientific (Temp & Humidity) via RFXCOM
    Heating: HomeEasy (Byron) Heater module (On/Off) via RFXCOM
    AirCon: X-10 controlled (On/Off, High/Low)

    All are visible and controllable as basic individual devices just fine by HS.

    What I want is a Thermostat device which allows me to define setpoints etc., and be able to tell it "read the Temp from device X, turn device Y on to Cool and Z on to Heat".

    I just can't find a way to do this (probably simple) task.
    Many thanks - would really appreciate any help!

    #2
    This is one of capabilties that is provided by mcsTemperature plugin

    Comment


      #3
      Hmmm... I bought the plugin (didn't realise you could trial it for 30 days) but it doesn't seem to do what I need.

      Thanks anyway - hopefully I'll be able to get a refund.

      Anyone else have any suggestions? Given the power of HS I'm really surprised that this basic capability doesn't seem to exist (i.e. act as thermostat).

      Comment


        #4
        You can do this with scripting - peridocially check a temperature device (or devices) for a value, then conditionally set your setpoint on your thermostat.
        HS4Pro on a Raspberry Pi4
        54 Z-Wave Nodes / 21 Zigbee Devices / 108 Events / 767 Devices
        Plugins: Z-Wave / Zigbee Plus / EasyTrigger / AK Weather / OMNI

        HSTouch Clients: 1 Android

        Comment


          #5
          At the minute i'm grabbing some temperature values from a USB temp logging system, using a small script I convert these into values and then write them to a device value.

          I then have two events, when temp value is greater than 22 turn the central heating off. When the temp value is less than 20 (+ other conditions like after sept and before feb, outside temp less than 16) then HS turns the central heating on. Would something like that work?

          Or, you have a set temp in an INI file, using a script with an ASP page you can have a +/- control (or you can use devicebuttonsadd to do it inside a device) to change the temperate (which changes the ini value). You have a recurring event that checks if the actual temps greater/less than the ini file value and runs the heating/AC depending on the result. Should'nt be that hard to do...

          Comment


            #6
            Hmmm... I bought the plugin (didn't realise you could trial it for 30 days) but it doesn't seem to do what I need.
            The Virtual Thermostat is defined as a Homeseer Event with action of Temperature Action. You setup the temperature action of run forever to control an output to within some tolerance band based upon some sensor input. You run the event once manually. Once the input exceeds the tolerance band an new virtual device will be created that provides the feedback as to the status of the thermostat. Setpoint devices can be defined with whatever resolution is desired and these can be used as part of the control band definition for the Temperature Action.

            Comment


              #7
              Virtual Thermostat

              Originally posted by mrhappy View Post
              you can have a +/- control (or you can use devicebuttonsadd to do it inside a device) to change the temperate
              Can you explain devicebuttonsadd? I can't find any other references to it, but it sounds promising!

              I can't buy a HS-compatible thermostat as I live in the UK, and there aren't any wireless ones here (wired is not an option sadly). I know I can do this using (lots of) events and/or code, but this is horribly clunky and unfriendly.

              A device that has a thermostat-style display and buttons, capable of reading the temperature from device A and using device B to operate the heating??

              Surely this should be a basic HS feature?

              Comment


                #8
                The road you are going down by scripting for devicevalueadd and asp pages is a lot of work to achieve the same result as is provided with mcsTemperature that has it already integrated with the HS device model so it appears to the user as a native HS capability once the event it defined.

                Comment


                  #9
                  Well...I understand the mcsThermostat plugin a little more, but I've read the 107 pages of documentation for this plugin (!) and am still clearly missing something obvious.

                  Instead of a nice HS device with '+/-' buttons (or a drop-down) I have an On/Off thermostat with the unfriendly status of 'Control Active ^20 Limits [20 to 23] Now 21.5, Controlled Device H11 On for 0:08:46'

                  If I want to change the setting (or more importantly, if my guests want to turn the heating up) they appear to have to edit the Thermostat event! Not acceptable.

                  If I click the 'Create Thermostat' option in mcsTemp, all I get is a device called 'Thermostat' with an On/Off control.

                  What am I missing here? More specifically, how do I create a numeric variable device which can be adjusted from the status page using +/- buttons (or a drop-down list of temps), which mcsTemp can then use ?

                  Comment


                    #10
                    Instead of a nice HS device with '+/-' buttons (or a drop-down) I have an On/Off thermostat with the unfriendly status of 'Control Active ^20 Limits [20 to 23] Now 21.5, Controlled Device H11 On for 0:08:46'
                    This is the status device that tells you what is currently happening. You can turn it ON and OFF just as you can turn a real thermostat mode between OFF, HEAT and COOL.

                    What am I missing here? More specifically, how do I create a numeric variable device which can be adjusted from the status page using +/- buttons (or a drop-down list of temps), which mcsTemp can then use ?
                    On the Devices/Files setup page is where you define your setpoint device. You give it a max, min, and delta. A new device is created and this device will have a HS pulldown to control it. The entries in the pulldown will be based upon the three above parameters. If you want it to range between 0 and 100 with 1 degree resolution then the pulldown will have 100 items. If you want it to range between 20 and 30 with 0.1 degree resolution then you will have 10 items in the pulldown.

                    If you want to control the temperature relative to this setpoint then in the Temperature Action use this device code in the expression for the upper and lower limits. For example "-1+%5" for lower limit if "%5" is the setpoint device. Threre are a variety of formats for expressions in the Temperature Action or Temperature Trigger and these should be documented in the manual.

                    Comment


                      #11
                      Simon,

                      Save this in a thermostat.vb script in the Homeseer script directory:
                      Code:
                      Sub Main(Optional ByVal pParms As String = "")
                          'change #8 and [10 and A1
                          ' #8 is the Oregon temp sensor
                          ' [10 is the Virtual thermostat
                          ' A1 is the HE heater
                          If hs.DeviceValue("#8") < hs.DeviceValue("[10") Then
                              hs.SetDeviceStatus("A1", 2) 'Heater on
                          Else
                              hs.SetDeviceStatus("A1", 3) 'Heater off
                          End If
                      End Sub

                      You have the HE105 HEATER device configured in the RFXCOM plug-in.
                      You create a Virtual device used as Virtual thermostat.
                      You have a Oregon temperature sensor in the RFXCOM plug-in.
                      Create a Value Change - change to any value Event on this Oregon temperature sensor and run the thermostat.vb script in this event

                      If you have HSTouch you can use a slider to change the set temperature on the Virtual thermostat device.
                      The heater will be switched by the plug-in every 4 minutes so if one command was missed it will be received the next transmission.

                      I did not test the script so if you find any problem let me know and I will help you.
                      See also chapter 8.4 http://www.rfxcom.com/documents/RFXC...rs%20Guide.pdf where the usage of an RTS10 (equivalent X10 product) is described.

                      Bert

                      Comment


                        #12
                        Originally posted by Michael McSharry View Post
                        You give it a max, min, and delta
                        Ah ha! This is the bit I was missing, I didn't understand the word 'delta' - I think I thought it was something to do with a temperature offset, so I left it blank or 0

                        I now have a working thermostat with a drop-down for setting the temperature. It's even picked up a funky .gif to show the setpoint all on it's own.

                        I still slightly resent paying extra for what should be functionality built into HS, but hey, it works!

                        Really helpful advice in double-quick time chaps, many thanks.

                        Comment


                          #13
                          Can mcsTemperaturedo this with Z-wave devices only to?

                          I have a HSM100 multisensor, ans several heaters connected to Z-wave on/off switches.

                          I wan't to have a screen on my HSTouch that you can select a setpoint, min/max. Currently I have generated 2 events in HS that tell the heaters to turn on/off at a given temperature, but I can't change those values in the events via HSTouch...

                          I also want it to be able to adjust the setpoint based on time of day, or when I run an event ("away from home" for instance...)

                          Will this plugin let me make a HSTouch slider or equivalent, that allows me to set a specifit temperature, like a thermostat?

                          Comment


                            #14
                            I'm not totally clear on your question. You seem to be asking if the setpoint device created by mcsTemperature can be used with a HSTouch slider. mcsTemperature creates the setpoint device as a set of Device Value Pairs which is effectively an enumeration driven by the DeviceValue property. The DeviceString of the setpoint device will contain the desired setupoint and the DeviceValue will contain an enumeration index. If you are able to control the HSTouch slider with the DeviceString of the HS device then this will be possible. If you can only control the slider with the DeviceValue propery then the relative motion of the slider will still be controlled, but the min/max labels would need to be placed manually. I've barely touched HSTouch so I'm not real famililar what its limits are.

                            The second part is the control aspect. mcsTemperature will normally control the output based upon the input vs. setpoint. It will not use events It does this control based upon the input's DeviceString. If the zwave device stores its temperature in the DeviceString then it will work. I think if the DeviceString is empty mcsTemperature will use the DeviceValue. I'm not certain if you are asking about the control part.

                            If you clarify what you want then I can look into playing with HSTouch to see what relationships exist.

                            I have also just done the virtual thermostat with xapmcsWebControl. If you are interested I can also see how this plays with HSTouch. Since the intention is for the virtual thermostat to exist on a touchscreen I'm certain this will be functional for this purpose.

                            Comment


                              #15
                              Sorry for the confusing post... It was late at night yesturday!

                              Equipment/software:
                              HSM100 multisensor (Z-wave temperature, light and motion)
                              Z-wave relay (on/off swith) conected to heaters.

                              Homeseer Pro (latest version)
                              HSTouch (1.0.17)

                              What I want is this:

                              1. On my HSTouch I want a slider or pluss/minus buttons that can control a setpoint for when my heaters turn on. If using a slider, the max/min value for the slider can be, for instance, from 10*C to 30*C.
                              The setpoint has to be displayed on the HSTouch screen also.

                              2. When I run an event, such as "away from home" I want that setpoint to lower to 15 *C

                              3. At night, after 2400H I want the setpoint to lower to 15*C. Early morning (0500H) I want the setpoint set back to whatever I left it last at the HSTouch screen slider or pluss/minus buttons.

                              Can this be done with the mcsTemp plugin? Some of it?

                              The setup I currently have only has a fixed setpoint. I can't change that setpoint without going to the HSPRO machine and edit the events associated with it. (On event for turning the heater on when the temp is below 21*C, and another event for turning the heater off when the temp is above 23*C)

                              Hope that cleared it up!

                              Comment

                              Working...
                              X