Announcement

Collapse
No announcement yet.

How are temperature devices updated

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

    How are temperature devices updated

    I have been trying to use a small plug-in that mrhappy was kind enough to provide in this thread.

    I am getting erratic results when using the comparison on two OneWire temperature devices on a single OWServer and using devices created by this plug-in. The plug-in operates normally on other devices.

    One area of the problem is that the plug-in only creates a trigger, it will not operate as a condition. As such mrhappy has created a situation where either of the two devices changing could trigger an event. I'll try to describe the function and give my thoughts as to why it is not working.

    The two devices I am comparing are a OneWire sensor that measures the tank temperature of our domestic hot water (DHW). The DHW is heated indirectly byor heating system boiler. The second sensor is the supply of hot water from the boiler to the passive heating coil.

    Using the comparison provided by mrhappy's plug-in i want to trigger the event when the DHW Tank temperature is greater than the Boiler supply temperature, the goal is to capture some of the residual heat from the boiler into the DHW during certain specific conditions.

    The DHW supply probe is device #13 on the OW Server. The tank temperature is device #14 on the OWServer. The owserver pdates its values on 22 devices in roughly 23 seconds, or about 1 second apart on the probes. That means that device #13 is updated about 1 second before device 14. It is clear that the OWServer updates the readings sequentially and always working through the loop from top to bottom, then starting over.

    The Ultra1Wire3 plug-in updates the devices about once every 64 seconds. I have not been able to tell what order they are updated in.

    What I am getting to is that there are four possible ways that the trigger from the plug-in can be configured

    device 13 < device 14
    device 13 > device 14
    device 14 < device 13
    device 14 > device 13

    The only one that seems to trigger reliably is device 13 > device 14.

    This leads me to several questions.
    • Is it possible that the Ultra1Wire3 could grab values from the OWServer mid loop?
    • In what order does the Ultra1Wire 3 plug-in update its devices in HomeSeer?
    • Is there any chance the Ultra1Wire3 plug-in momentarily clears the value in a temperature device just before it writes the new value?


    I realize that the real problem is that the comparison of two devices being being a trigger results in the probability it could trigger when one is updated and a repeat trigger when the second device is updated. My concern is that the false triggers I am seeing are on such a disparity of values in the comparison that it really cannot be due to a one minute or so delay in updating the readings from one device to the next.
    HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

    #2
    Randy, the plug-in does not update temperatures for HS devices until the end of a scheduled check. This was a design decision to allow the plug-in to operate efficiently on lower powered systems. For the OWServer, one reading is taken for all sensors at the start of the check interval. The plug-in then processes those readings, then updates the underlying HomeSeer devices in no particular order. So, if you have created a trigger and expect the condition to use the value of the reading from the same interval, then you'll get unexpected results. The only way this would work is if I added conditions to the plug-in. I certainly can do this, but it may take a few months as this is the first time anyone has requested this type of functionality.

    Regards,
    Ultrajones
    Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

    Comment


      #3
      Originally posted by Ultrajones View Post
      Randy, the plug-in does not update temperatures for HS devices until the end of a scheduled check. This was a design decision to allow the plug-in to operate efficiently on lower powered systems. For the OWServer, one reading is taken for all sensors at the start of the check interval. The plug-in then processes those readings, then updates the underlying HomeSeer devices in no particular order. So, if you have created a trigger and expect the condition to use the value of the reading from the same interval, then you'll get unexpected results. The only way this would work is if I added conditions to the plug-in. I certainly can do this, but it may take a few months as this is the first time anyone has requested this type of functionality.

      Regards,
      Ultrajones
      I am interested in pursing this, but in no particular hurry. I have only two situations that could benefit from this. Could you describe the conditions you envision when you have time?

      The goal would be to be able to have an event that would compare two temperatures at any time other than during an update, ideally it would be a condition of 1) if device a = b, 2) device a < b or 3) device a > b having a condition true. An ideal trigger wold be that the plug-in just performed an update.
      HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

      Comment


        #4
        Originally posted by rprade View Post
        ... An ideal trigger wold be that the plug-in just performed an update.
        That's exactly what a plug-in condition would provide. So, when I add a sensor value condition, you would be able to test the values from the current check interval (prior to having all the other HS device values updated).

        I could also just add an "Interval Check Complete" trigger that would trigger *after* all the HS devices are updated. This would allow you to do your temperature comparisons using all updated values. How does that sound?

        Regards,
        Ultrajones
        Plug-ins: UltraMon, UltraM1G, UltraCID, Ultra1Wire, UltraLog, UltraWeatherBug, UltraPioneerAVR, UltraGCIR

        Comment


          #5
          Originally posted by Ultrajones View Post
          That's exactly what a plug-in condition would provide. So, when I add a sensor value condition, you would be able to test the values from the current check interval (prior to having all the other HS device values updated).

          I could also just add an "Interval Check Complete" trigger that would trigger *after* all the HS devices are updated. This would allow you to do your temperature comparisons using all updated values. How does that sound?

          Regards,
          Ultrajones
          That sounds like it would work.
          HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

          Comment


            #6
            I just realized I posted this in the wrong forum. It should have been in Ultra1Wire3.

            That said, it looks like Spud is building a multiple trigger/condition plug-in, one of which is a device value comparison condition. The update complete trigger would be ideal to use wit a temperature comparison condition.
            HS4 Pro, 4.2.19.0 Windows 10 pro, Supermicro LP Xeon

            Comment

            Working...
            X