Announcement

Collapse
No announcement yet.

Is there a way to get the current setpoint from a TRV ?

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

    Is there a way to get the current setpoint from a TRV ?

    I am using BLStat to control my StellaZ TRV's and my Secure SRT321 main thermostat. The problem I am having, as soon as BLStat (or even me manually) send a setpoint, the device immediately shows the new setpoint. But it can take a while until the setpoint actually changes in the TRV or the Secure thermostat. Ther can be a difference in the setpoint shown in the device and the actual setpoint in the physical device if that makes sense...
    In Vera I could query the StellaZ to find out which setpoint it actually had, so if I could do the same with HS3, I could trigger events for example. In Vera a kept resending the setpoint, until it had been accepted. I would like to do the same in HS3.

    #2
    You shouldn't need to resort to "resending the setpoint" until it changes. That's not a good method anyway. HS uses a queuing mechanism for non-listening nodes so once you set a new setpoint value in HS (e.g. via the device management page) it remains in the queue until the Node wakes-up and the device is polled. You can query the setpoint value held in the TRV by sending a "poll for status" request from an Event. Again, status requests go into a queue until the node wakes up.
    Yes, you will notice that when for example you make a change to say a setpoint in HS device management, the changed value does not 'stick' if you leave that page and go back to it. But the change request will have been gueued and you will see that in the log messages.
    If you want to keep track of changes you are making in HS until the TRV has updated itself (which can in some circumstances take up to two wakeup periods) you may need to think about more elaborate solutions involving virtual devices and scripts which can probably be done. It depends on what you need to achieve.

    Comment


      #3
      Ok what I am doing at the moment, when a new (different) setpoint is sent to the TRV, I poll the TRV 3 times. For example, wakeup for the TRV is set to 5 mins. Then I poll every 4mins 30secs, 3 times. Most of the time, that is enough to get the StellaZ's to accept the new setpoint. What I was thinking of doing is not necessarily sending the setpoint again, but to keep polling until it has been accepted.

      Comment


        #4
        Originally posted by mikee123 View Post
        Ok what I am doing at the moment, when a new (different) setpoint is sent to the TRV, I poll the TRV 3 times. For example, wakeup for the TRV is set to 5 mins. Then I poll every 4mins 30secs, 3 times. Most of the time, that is enough to get the StellaZ's to accept the new setpoint. What I was thinking of doing is not necessarily sending the setpoint again, but to keep polling until it has been accepted.
        Ok understand, and in fact that is similar to the way I do it. I have a set of 'confirmation' events (one for each TRV device) that triggers and cues a "poll device status" when a 'control' virtual device changes to a certain value (mode, heat, energysave). The event automatically re-triggers every 6 mins (options setting). As soon as the TRV device value changes, the virtual device is reset to "Off" and the event stops re-triggering. Works well.

        Comment


          #5
          Maybe that works differently when sending modes. I have a multi display array with my setpoints. That uses a script to read the StellaZ's setpoints. I have virtual switches for all my TRV's, and if one of them changes that triggers the polls. The problem is I can see in my display that the setpoint has changed, but that can be long before the TRV actually changes the setpoint. So I cannot use that to stop the polling.
          Attached Files

          Comment


            #6
            Originally posted by mikee123 View Post
            Maybe that works differently when sending modes. I have a multi display array with my setpoints. That uses a script to read the StellaZ's setpoints. I have virtual switches for all my TRV's, and if one of them changes that triggers the polls. The problem is I can see in my display that the setpoint has changed, but that can be long before the TRV actually changes the setpoint. So I cannot use that to stop the polling.
            I am doing it the way I briefly described for all the TRV node devices (except the valve multilevel which I don't use), not just the Mode.

            Does your multi display array read the HS device values ? I assume you are if you are seeing them change immediately in your display. The events you then run to poll the relevant TRV can as you will know can take up to 2 wakeup periods before a poll returns the updated value from the TRV. It's that device value change which then updates HS that I use to stop the re-triggering event.
            Depending on the quality of Zwave communication you have with each TRV the first poll can result in the Send Other Data command AND a read all during the same wakeup. However, more often than not the first poll will only do the Send Other Data before the node goes back to sleep which is why you sometimes have to wait for the next poll to do the read which updates HS with the new value.
            I hope I'm not teaching you to such eggs but I just wanted to cover the process a bit more.

            Comment


              #7
              Could you post how you poll ? I think you are using it differently. Would like to see your poll events if you don't mind

              Comment


                #8
                Take a look through this.....
                Attached Files

                Comment


                  #9
                  Cheers, will have a read and see how I can incorporate that into my system. Very nicely done your instructions.

                  Comment


                    #10
                    I am still looking at your instructions, I have been away for a few days and did not have a chance to properly look at it.

                    Your event Device Control Poll Heat Setpoint - Study
                    The first IF condition HomeSeer Log, is that a plugin ? I think I could replicate that with Jon00's log monitor but this looks easier, is that a plugin ? I cannot find that in my conditions.

                    If I understand right you set a virtual device Control OnDemandPoll Study to Heat when the setpoint has changed, and also trigger a poll.

                    I have to test but my feeling is that my TRV setpoint changes in the device as soon as I send it, so the equivalent TRV - Study event would trigger even thought he setpoint has not been accepted. What I intend to do is set up a few test events like yours, with a few notifications to see if that would work. But given that you are also using StellaZ's it should work. I am just surprised as my display array changes the setpoint immediately. I just checked. As soon as I send a setpoint, the display changes and its using the same trigger as you do. So for whastever reason yours only changes when its been accepted, mine changes within a second. This is the event to trigger my display array with the setpoints:
                    Attached Files

                    Comment


                      #11
                      Originally posted by mikee123 View Post
                      Your event Device Control Poll Heat Setpoint - Study
                      The first IF condition HomeSeer Log, is that a plugin ? I think I could replicate that with Jon00's log monitor but this looks easier, is that a plugin ? I cannot find that in my conditions.

                      If I understand right you set a virtual device Control OnDemandPoll Study to Heat when the setpoint has changed, and also trigger a poll.

                      I have to test but my feeling is that my TRV setpoint changes in the device as soon as I send it, so the equivalent TRV - Study event would trigger even thought he setpoint has not been accepted. What I intend to do is set up a few test events like yours, with a few notifications to see if that would work. But given that you are also using StellaZ's it should work. I am just surprised as my display array changes the setpoint immediately. I just checked. As soon as I send a setpoint, the display changes and its using the same trigger as you do. So for whastever reason yours only changes when its been accepted, mine changes within a second. This is the event to trigger my display array with the setpoints:
                      I'm using the Ultralog3 plugin to catch log entries for various things - it works well. I'm sure Jon00's version will work just as well.

                      On the question of the setpoint changing immediately can you please be clear on the device you are referring to. Your script appears to be reading the HS device value so I am not surprised that that would change immediately. The TRV node devices on the other hand have absolutely no way of being changed immediately by command until it wakes up and HS sends the poll.

                      Yes the virtual device "Control OnDemandPoll Study" gets changed to 'Heat' following a user action and this device manages the subsequent re-polling necessary until the TRV device finally changes and the corresponding HS device gets updated, when it gets set back to 'Off' and stops all further polling for that device. If I need to explain it in a different way just let me know.

                      Comment


                        #12
                        Originally posted by naellis View Post
                        I'm using the Ultralog3 plugin to catch log entries for various things - it works well. I'm sure Jon00's version will work just as well.

                        On the question of the setpoint changing immediately can you please be clear on the device you are referring to. Your script appears to be reading the HS device value so I am not surprised that that would change immediately. The TRV node devices on the other hand have absolutely no way of being changed immediately by command until it wakes up and HS sends the poll.

                        Yes the virtual device "Control OnDemandPoll Study" gets changed to 'Heat' following a user action and this device manages the subsequent re-polling necessary until the TRV device finally changes and the corresponding HS device gets updated, when it gets set back to 'Off' and stops all further polling for that device. If I need to explain it in a different way just let me know.

                        Ok that probably explains it. I am querying the HS device. That may sound stupid but how do I query the TRV node ? So far, I have a device for my StellaZ with a root and 6 child devices. I am querying the device with the setpoint. In the example below, my Lounge TRV (you cannot see the root in this) I am querying #282, as that is the device I am sending the setpoint to

                        Comment


                          #13
                          Originally posted by mikee123 View Post
                          Ok that probably explains it. I am querying the HS device. That may sound stupid but how do I query the TRV node ? So far, I have a device for my StellaZ with a root and 6 child devices. I am querying the device with the setpoint. In the example below, my Lounge TRV (you cannot see the root in this) I am querying #282, as that is the device I am sending the setpoint to
                          Can't see your "example below", but, the reading of node device value is accomplished by the "Poll for Status" from say an Event for the device you are interested in. It can be done for any of the 6 child devices at any time. In other threads however I have touched on the subject of how many of the 6 you can reliably "read" in a single wake-up period where I have found some limitation. My whole heating scheme only ever polls a maximum of 2 devices in any single TRV node per wake-up.

                          Comment


                            #14
                            Originally posted by naellis View Post
                            Can't see your "example below", but, the reading of node device value is accomplished by the "Poll for Status" from say an Event for the device you are interested in. It can be done for any of the 6 child devices at any time. In other threads however I have touched on the subject of how many of the 6 you can reliably "read" in a single wake-up period where I have found some limitation. My whole heating scheme only ever polls a maximum of 2 devices in any single TRV node per wake-up.
                            I am only polling the device which holds the setpoint. I think I forgot to upload the screenshot, but doing that now. So I would poll device 282, which I do now after I have sent the setpoint. But then which device do I get the current setpoint from ? Still device 282 ?
                            Attached Files

                            Comment


                              #15
                              Originally posted by mikee123 View Post
                              I am only polling the device which holds the setpoint. I think I forgot to upload the screenshot, but doing that now. So I would poll device 282, which I do now after I have sent the setpoint. But then which device do I get the current setpoint from ? Still device 282 ?
                              Yes, 282. I'm sure you will have seen this but just to recap.....if you were to set the setpoint value via the device management page to say 30 and submit, you will see references to the action in the log which will include a CAPI command and message to say the command has been queued. That will sit there for ever more until you issue a Poll request via, for example, an Event. When the Node wakes-up, HS sends the command and you will see a Send Other Data message in the log. Depending on Zwave comms, this may also achieve the read from the Node which updates HS, but often doesn't so a further Poll will be required. This will not be sent to the Node until the next wake-up, hence a long delay.
                              If you not wanting to change a value, but just read, then a single poll for that device is all that is needed.

                              Comment

                              Working...
                              X