tlkohler Posted January 20, 2014 Posted January 20, 2014 I'm using an Insteon [2635-222] On/Off module to power on an ELK heavy duty relay for water heater timing. I use an ISY994i/IR Pro and a PLM as the device controllers. This is one of the programs I use during the day as a water heater timer program: If Time is 3:30:00PM And Status 'WH On-Off Module' is not On Then Set 'WH On-Off Module' On Else Send Notification to 'Terry's All' content 'WH Status' Turns hot water heater on daily @ 3:30 pm The custom notification is to be sent to both my email and text if the module is not set to "ON" for some reason. Up until very recently my notifications worked fine as I had them included under the THEN statement. Once I was sure things were working with the timing programs and the heater was coming on and off as I had planned, I moved the notification line to the ELSE statement and the problems began. What is in fact happening now is I'm getting numerous emails and texts around the event timings every time even though the module has actually come on. Making things even more difficult is the fact that its not always the same amount of notifications. In all there are 8 events: an ON and an OFF set up for early morning on weekdays, an ON and an OFF for later morning on the weekend, an ON and an OFF for early afternoons and an ON and an OFF for evenings. Sometimes I will get only one or two notifications while other times I will get 8 separate emails and 8 texts indicating an event has occurred but with each of the titles of the timing event. Any help in clearing this up would be much appreciated.
Xathros Posted January 20, 2014 Posted January 20, 2014 I'm using an Insteon [2635-222] On/Off module to power on an ELK heavy duty relay for water heater timing. I use an ISY994i/IR Pro and a PLM as the device controllers. This is one of the programs I use during the day as a water heater timer program: If Time is 3:30:00PM And Status 'WH On-Off Module' is not On Then Set 'WH On-Off Module' On Else Send Notification to 'Terry's All' content 'WH Status' Turns hot water heater on daily @ 3:30 pm The custom notification is to be sent to both my email and text if the module is not set to "ON" for some reason. Up until very recently my notifications worked fine as I had them included under the THEN statement. Once I was sure things were working as I had planned I moved the notification line to the ELSE statement and the problems began. What is in fact happening now is I'm getting numerous emails and texts around the event timings every time even though the module has actually come on. Making things even more difficult is the fact that its not always the same amount of notifications. In all there are 8 events: an ON and an OFF set up for early morning on weekdays, an ON and an OFF for later morning on the weekend, an ON and an OFF for early afternoons and an ON and an OFF for evenings. sometimes I will get only one or two notifications while other I will get 8 separate emails and 8 texts indicating the event. Any help in clearing this up would be much appreciated. The way this program is written (assuming that the notifications deliver) you will receive a notification every time the water heater turns on (not just at 3:30) or Off (except at 3:30). This is because the program is triggered every time the status of the water heater changes. The Else is evaluated and if it evaluates false, the else runs. This will evaluate False any time the WH turns Off except at 3:30 and every time it turns On. At 3:30, the Then clause runs, the WH turns on, the Status changes, the if re-evaluates and the else clause runs and you get notified. A separate program like: If Time is 3:30:01PM And Status 'WH On-Off Module' is Off Then Send Notification to 'Terry's All' content 'WH Status' Else Should do what you want. -Xathros
shannong Posted January 20, 2014 Posted January 20, 2014 Up until very recently my notifications worked fine as I had them included under the THEN statement. Once I was sure things were working as I had planned I moved the notification line to the ELSE statement and the problems began. What is in fact happening now is I'm getting numerous emails and texts around the event timings every time even though the module has actually come on. Making things even more difficult is the fact that its not always the same amount of notifications. In all there are 8 events: an ON and an OFF set up for early morning on weekdays, an ON and an OFF for later morning on the weekend, an ON and an OFF for early afternoons and an ON and an OFF for evenings. sometimes I will get only one or two notifications while other I will get 8 separate emails and 8 texts indicating the event. Any help in clearing this up would be much appreciated. I usually use two separate programs and rarely use Else. Only specific finite conditions will fire for Then based on your If's. The else is EVERYTHING else and you might not even be able to consider them all depending on the complexity of the If's. In this particular case, when the module is turned on the If's are evaluated again and now fires the Else. Make it two programs to turn on the module and another to monitor the status. If your network isn't reliable and it's often not getting turned on my might even add a query to run every hour during the appropriate time period and then fire the notification
tlkohler Posted January 20, 2014 Author Posted January 20, 2014 [quote="Xathros I'm not sure what you want to happen. The way this program is written (assuming that the notifications deliver) you will receive a notification every time the water heater turns on (not just at 3] Thanks for your quick reply. What I'd like is to get a text and email (which the custom notification is set up to do) if my water heater does not turn on and off at each of the prescribed times. It's just that I'm getting up to 8 at a time.
tlkohler Posted January 20, 2014 Author Posted January 20, 2014 Up until very recently my notifications worked fine as I had them included under the THEN statement. Once I was sure things were working as I had planned I moved the notification line to the ELSE statement and the problems began. What is in fact happening now is I'm getting numerous emails and texts around the event timings every time even though the module has actually come on. Making things even more difficult is the fact that its not always the same amount of notifications. In all there are 8 events: an ON and an OFF set up for early morning on weekdays, an ON and an OFF for later morning on the weekend, an ON and an OFF for early afternoons and an ON and an OFF for evenings. sometimes I will get only one or two notifications while other I will get 8 separate emails and 8 texts indicating the event. Any help in clearing this up would be much appreciated. I usually use two separate programs and rarely use Else. Only specific finite conditions will fire for Then based on your If's. The else is EVERYTHING else and you might not even be able to consider them all depending on the complexity of the If's. In this particular case, when the module is turned on the If's are evaluated again and now fires the Else. Make it two programs to turn on the module and another to monitor the status. If your network isn't reliable and it's often not getting turned on my might even add a query to run every during the appropriate time period and then fire the notification I do utilize two programs for each "timing event". One to turn the heater on and another to turn it off. That's not what your suggesting but I'm not sure how to do what you've proposed.
tlkohler Posted January 20, 2014 Author Posted January 20, 2014 Just a little more clarification to the program. It could be possible that someone manually turns the water heater on outside of the "scheduled" times. I added the line to check if the heater is already on before attempting a turn on and conversely already off before I attempt to tune it off. Would you say those lines are not needed and therefore I could remove them. Instead of having one program to turn on the heater at a given time and another to turn it off at a specified time, would it make more sense to utilize jut one program for the on and off sessions?
Xathros Posted January 20, 2014 Posted January 20, 2014 tkohler- I had edited my post after you saw it apparently. Absolutely no point in checking the status before changing the status. You can certainly move the On and Off into one program as follows: If Time is From 3:30:00PM to 9:30:00PM (Same Day) Then Set 'WH On-Off Module' On Else Set 'WH On-Off Module' Off Use a second program to check the status as I posted previously. -Xathros
shannong Posted January 20, 2014 Posted January 20, 2014 Just a little more clarification to the program. It could be possible that someone manually turns the water heater on outside of the "scheduled" times. I added the line to check if the heater is already on before attempting a turn on and conversely already off before I attempt to tune it off. Would you say those lines are not needed and therefore I could remove them. If ISY has an "On" status for the device it won't send another "On" to it and when checking it's looking at it's current status database rather than a live query to the device. Therefore, adding your own checks is unnecessary unless required to create a specific logic event. Assuming your time for on is 330pm - 12am. Water Heater Control (On/Off) If From 3:30:00PM To 11:59:00PM (same day) Then Set 'Water Heater Widget' On Else Set 'Water Heater Widget' Off Monitor Unscheduled Use If From 12:00:00AM To 3:29:00PM (same day) And Status 'Water Heater Widget' is On Then Send Notification to 'Default' Else - No Actions - (To add one, press 'Action') Monitor Water Heater During On Schedule If From 3:30:00PM To 11:59:00PM (same day) And Status 'Water Heater Widget' is not On Then Send Notification to 'Default' Else - No Actions - (To add one, press 'Action') The notification will fire every time the water heater is turned off during the On schedule.
tlkohler Posted January 20, 2014 Author Posted January 20, 2014 With a custom notification giving me the status of the device (WH Status), does the following program If -( | On Mon, Tue, Wed, Thu, Fri | Time is 4:31:00AM | Or On Sat, Sun | Time is 8:01:00AM | Or Time is 3:31:00PM | Or Time is 7:01:00PM | And Status 'WH On-Off Module' is not On -) Or-( | On Mon, Tue, Wed, Thu, Fri | Time is 6:01:00AM | Or On Sat, Sun | Time is 10:01:00AM | Or Time is 5:31:00PM | Or Time is 9:31:00PM | And Status 'WH On-Off Module' is not Off -) Then Send Notification to 'Terry All' content 'WH Status' Else - No Actions - (To add one, press 'Action') Send an email at 4:31 am during the week, 8:01 am on the weekend, 3:31 pm and 7:01 pm if the water heater is not ON - AND - send an email at 6:01 am during the week, 10:01 am on the weekend, 5:31 pm and 9:01 pm if the water heater is not OFF Thanks in advance
larryllix Posted January 20, 2014 Posted January 20, 2014 If -( | On Mon, Tue, Wed, Thu, Fri | Time is 4:31:00AM | Or On Sat, Sun | Time is 8:01:00AM | Or Time is 3:31:00PM | Or Time is 7:01:00PM | And Status 'WH On-Off Module' is not On -) Or-( | On Mon, Tue, Wed, Thu, Fri | Time is 6:01:00AM | Or On Sat, Sun | Time is 10:01:00AM | Or Time is 5:31:00PM | Or Time is 9:31:00PM | And Status 'WH On-Off Module' is not Off -) Then Send Notification to 'Terry All' content 'WH Status' Else - No Actions - (To add one, press 'Action') Thanks in advance Careful of your parenthesis placement. The 7:01 and 9:31 times are the only ones getting ANDed with the WH_Status. You should get notifications at all other times listed. Boolean AND takes higher precedent of order over an OR usually.
LeeG Posted January 20, 2014 Posted January 20, 2014 The additional parens indicated larryllix will have the Program look like this If ( ( On Mon, Tue, Wed, Thu, Fri Time is 4:31:00AM Or On Sat, Sun Time is 8:01:00AM Or Time is 3:31:00PM Or Time is 7:01:00PM ) And Status 'WH On-Off Module' is not On ) Or ( ( On Mon, Tue, Wed, Thu, Fri Time is 6:01:00AM Or On Sat, Sun Time is 10:01:00AM Or Time is 5:31:00PM Or Time is 9:31:00PM ) And Status 'WH On-Off Module' is not Off ) Then Send Notification to 'Terry All' content 'WH Status' Else - No Actions - (To add one, press 'Action')
tlkohler Posted January 20, 2014 Author Posted January 20, 2014 Thanks I'll give this a go and report back the findings. I very much appreciate everyone's contributions.
tlkohler Posted January 23, 2014 Author Posted January 23, 2014 Thanks to all who replied. I've taken the best of several suggestions and combined then. My program is now working exactly as I would like with the notifications arriving as needed and (more importantly) my water heater is powering on and off and I require.
Recommended Posts