Announcement

Collapse
No announcement yet.

Comparison between two devices stopped working

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

  • SeattleDavid
    replied
    Great. I understand. It's obscure to be sure, but it lets me solve this problem and be aware in the future for similar things. I think I may have a few of them in this installation.

    Thank you so much for helping!

    Leave a comment:


  • randy
    replied
    Originally posted by cc4005 View Post
    I may be missing your point, but wouldn't this work?


    IF Great Room Sensor < Great Room Setting
    AND IF Great Room Occupancy = On

    OR IF Great Room Occupancy changes and becomes On
    AND IF Great Room Sensor < Great Room Setting

    THEN start the heater




    That is correct. You posted your answer as I was building the demo event above.

    Leave a comment:


  • randy
    replied
    Originally posted by SeattleDavid View Post
    In thinking about this, it is a problem, and I am interested in any thoughts on how to correct it.

    Consider the event conditions:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 16.49.38.png
Views:	41
Size:	73.7 KB
ID:	1287217

    The objective is that whenever BOTH conditions become true the heat turns on. That is, the temperature must be low Occupancy flag must be on.

    The glitch is that if the temperature becomes low while the occupancy flag is off then turning on the occupancy flag will not start the heater. That is, the owner coming home will not cause a cold house to start heating. That's because the Sensor<Thermostat condition is apparently true just one time and will thereafter return false.

    I'm not quite certain how to overcome this, or what logic may work.

    I'll think about it, but it is an interesting case where edge sensitivity on a test isn't always a good thing.

    What is really needed is for the event to not re-execute for as long as the entire test remains true...not one specific line-item in the test.
    You need to duplicate your trigger and condition, then invert them as a secondary set like this:

    Click image for larger version

Name:	Capture.PNG
Views:	52
Size:	60.7 KB
ID:	1287223

    As far as your other question above, Spud made a typo, it should have read: “So you need to have tstat >= temperature and then one of the 2 device values changes and temperature < tstat becomes true”. Then it would read: The comparison needs to be greater than or equal, then become less than in order for the trigger to be true.

    Leave a comment:


  • Wade
    replied
    I may be missing your point, but wouldn't this work?


    IF Great Room Sensor < Great Room Setting
    AND IF Great Room Occupancy = On

    OR IF Great Room Occupancy changes and becomes On
    AND IF Great Room Sensor < Great Room Setting

    THEN start the heater



    Originally posted by SeattleDavid View Post
    In thinking about this, it is a problem, and I am interested in any thoughts on how to correct it.

    Consider the event conditions:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 16.49.38.png
Views:	41
Size:	73.7 KB
ID:	1287217

    The objective is that whenever BOTH conditions become true the heat turns on. That is, the temperature must be low Occupancy flag must be on.

    The glitch is that if the temperature becomes low while the occupancy flag is off then turning on the occupancy flag will not start the heater. That is, the owner coming home will not cause a cold house to start heating. That's because the Sensor<Thermostat condition is apparently true just one time and will thereafter return false.

    I'm not quite certain how to overcome this, or what logic may work.

    I'll think about it, but it is an interesting case where edge sensitivity on a test isn't always a good thing.

    What is really needed is for the event to not re-execute for as long as the entire test remains true...not one specific line-item in the test.

    Leave a comment:


  • SeattleDavid
    replied
    In thinking about this, it is a problem, and I am interested in any thoughts on how to correct it.

    Consider the event conditions:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 16.49.38.png
Views:	41
Size:	73.7 KB
ID:	1287217

    The objective is that whenever BOTH conditions become true the heat turns on. That is, the temperature must be low Occupancy flag must be on.

    The glitch is that if the temperature becomes low while the occupancy flag is off then turning on the occupancy flag will not start the heater. That is, the owner coming home will not cause a cold house to start heating. That's because the Sensor<Thermostat condition is apparently true just one time and will thereafter return false.

    I'm not quite certain how to overcome this, or what logic may work.

    I'll think about it, but it is an interesting case where edge sensitivity on a test isn't always a good thing.

    What is really needed is for the event to not re-execute for as long as the entire test remains true...not one specific line-item in the test.

    Leave a comment:


  • SeattleDavid
    replied
    OK, that is actually good. I can remove all of the logic I had to set a flag so that an event wouldn’t repeatedly fire. I didn’t realize that it was edge sensitive.

    Suggestion: add the text “becomes true” to the end of the condition. That would indicate that it was edge sensitive.

    I am sorry, I am not able to parse this sentence: “So you need to have tstat <= temperature and then one of the 2 device values changes and temperature < tstat becomes true”. Could you please explain it a bit differently or else add a few words. I am sorry, but it’s meaning isn’t clear to me.

    I’m also trying to discern why you suggest <= as the condition. I am intentionally using < and > relative to the target temperature in order to provide some hysteresis.

    Thank you for the reply.

    Leave a comment:


  • spud
    replied
    when used as a trigger the comparison value will fire only if the condition was previously false and becomes true. So you need to have tstat <= temperature and then one of the 2 device values changes and temperature < tstat becomes true

    Leave a comment:


  • randy
    replied
    Spud will have to confirm but I think a comparison trigger is only true the first time it becomes true.

    Leave a comment:


  • SeattleDavid
    started a topic Comparison between two devices stopped working

    Comparison between two devices stopped working

    I am struggling to understand why this code stopped working:

    Click image for larger version

Name:	Screen Shot 2019-02-22 at 13.09.21.png
Views:	71
Size:	98.5 KB
ID:	1287164

    Temperature: 66 F
    Thermostat: 68°F
    Occupancy: On
    Heater: Off

    The Temperature (66) is less than the Thermostat setting (68) and the Occupancy Setting is ON and so the heater should turn on. But it remains off. (The T-Stat is just a virtual device, not an actual physical device.)

    I created a simple test event that would send an email every time the temperature changed (every 15 minutes) and the temperature is consistently less than the T-Stat setting.

    I created another test event that would only compare the Temperature with the T-Stat setting and it fails, too:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 13.14.08.png
Views:	34
Size:	56.0 KB
ID:	1287165
    So it is the EastTrigger test that is failing.

    I went into the Advanced tab for the temperature sensor and it reports the actual values as:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 13.16.55.png
Views:	58
Size:	13.3 KB
ID:	1287166

    And for the T_Stat (which is just a virtual device) as:
    Click image for larger version

Name:	Screen Shot 2019-02-22 at 13.18.28.png
Views:	61
Size:	13.2 KB
ID:	1287167

    So it sure seems that EasyTrigger is failing to perform correctly, although I understand it to be a very reliable and well maintained control.

    I have stopped and restarted the EasyTrigger plugin and then later stopped and restarted HomeSeer. This did not correct the behavior.

    I know that events are triggering when the temperature sensor changes, since I have built an event that sends me an email whenever the temperature is updated (every 15 minutes.) I am getting those.

    One last comment: This all WAS working just a few days ago. I don't think I made any changes that would have cause it to fail, but I have done a lot in the last few days, so I may have been stupid in some way.

    Any further thoughts?

Working...
X