walkman9999 Posted 23 hours ago Posted 23 hours ago I have a simple program to trigger an Insteon switchlink and send notification when Aeotec sensor temperature goes above 80 degrees. The problem is, when the temp stays above 80, the program will continue to run, triggering the switchlink and sending notifications unnecessarily. The program uses the Status of the device (image3.jpg), when I do similar programs for Insteon devices I use "control" instead of status, but I don't see the temperature sensor listed under control (image4.jpg). Any tips? Quote
walkman9999 Posted 22 hours ago Author Posted 22 hours ago (edited) I'm taking this approach and testing. I set a $Temp_HIGH variable to 1 when the initial event is triggered and do not trigger again if the variable value is already 1. I have a second program that sets $Temp_HIGH to 0 when the temp is below 80 and the value is already 1. Any feedback on how to handle this in a different way is welcomed: Program #1 Temp_HIGH - [ID 0018][Parent 0001] If 'ZY 011 Home Security Alarm / ZY 011 Multilevel Sensor' Temperature > 80.0°F And $Temp_HIGH is 0 Then $Temp_HIGH = 1 Set 'Main House / Fans / Server Fan' On Send Notification to 'Prowl-Normal' content '!Temp_HIGH' Else - No Actions - (To add one, press 'Action') Program #2 Temp_LOW - [ID 0047][Parent 0001] If 'ZY 011 Home Security Alarm / ZY 011 Multilevel Sensor' Temperature < 80.0°F And $Temp_HIGH is 1 Then $Temp_HIGH = 0 Set 'Main House / Fans / Server Fan' Off Send Notification to 'Prowl-Normal' content '!Temp_HIGH' Else - No Actions - (To add one, press 'Action') EDIT:: This works fine for my purposes. Marked as solved in case it helps others. Edited 22 hours ago by walkman9999 mark solved Quote
Guy Lavoie Posted 21 hours ago Posted 21 hours ago (edited) That's the right approach. You've hit upon the one exception with true/false testing: a test for a state variable being greater than or less than a value will retrigger true every time that the variable itself changes value, along with the logic test itself being true. So you are doing the right thing by setting a second variable to one of two values, as a flag that your conditions are met. Edited 21 hours ago by Guy Lavoie 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.