
TJF1960
Members-
Posts
1797 -
Joined
-
Last visited
Everything posted by TJF1960
-
Well, that is a 1 part question with a 2 part answer! First let me preface by saying I copied your If conditions from your posted program…and was assuming if the alarm sensor is Off meant that the alarm was sounding or tripped. So if that is not the case and when the alarm sensor is On the alarm is sounding or tripped then you are correct. Change the If to alarm sensor is On. The second part of the answer is when using Status you do not have to duplicate the condition with a “Is Notâ€. That type of conditional programming is used when “Control†is used and provides the benefit of the program turning true or false depending upon whether the switch was turned on or off. I actually meant to leave it out of the example but forgot to remove it (darn copy and paste!) So basically if the Alarm Sensor turns On when the alarm is tripped and turns Off when the alarm is reset then that is why the program would not stop running, because the condition in the program was true. Had the alarm tripped again while the program was true the program would have turned false and stopped the flashing lights. Tim
-
Maybe something like this? If Status 'Feeders / Dog Feeder in Garage' is On Then Wait 2 seconds Set 'Feeders / Dog Feeder in Garage' Query Wait 30 seconds Set 'Feeders / Dog Feeder in Garage' Off Send Notification to Mark Set 'Feeders / Dog Feeder in Garage' Query Else Send Notification to Mark As long as the ISY knows the status of the device is On this program will run. If the status is actually Off the program will stop and turn False. If the status is indeed On then the program will wait 30 seconds during which if the status changes to False the program will stop. Otherwise it will turn Off the feeder, send a notification then run a final query to verify the status is Off. Question, is the ISY on a backup battery or UPS or generator? Or when the power goes out so does the ISY? The reason I ask is that if the ISY is not on backup power and the power goes out, the program may not run when power is back on even if the device status is On. The reason is once the ISY reboots all programs are set either true or false based on the conditions. While this program may be set to true depending on the conditions it may not run because there was not an event to trigger it after reboot. If this is the case there is a work around.
-
I use a similar approach as sanders2222. However, I think the key will be breaking your program into 2 programs jmed999 to get rid of the else statement. Create another program with the current else in the then section and set up the conditions for when you want it to run. Having anything in the else section can be tricky, especially when you have more than 1 conditon. Most of the time it is just plain easier to have 2 programs instead.
-
Not sure which is the economy setting, the Then or the Else but the first thing that comes to mind is that when the ISY is finished upgrading it will reboot which will set all variables to 0 unless they are initialized. Could this be the cause?
-
I am assuming when your garage door is closed the Sensor is On. I see only 2 ways that program will run true (Then). 1) The program was called by another program (or manually thru the admin console) 2) The sensor status was "off" when sunset occured. Maybe go back thru your logs for the previous 24 hrs to see if the sensor turned off but not back on.
-
So just to clarify, When the scene is turned on the ceiling lights turn off but the load button "A" for those ceiling lights stay lit?
-
No prob., right click on "Master Bedroom Keypad" and select "+ Group Devices" then all of the nodes for that kpl should group together like your kitchen lights kpl.
-
pyroman175@yahoo.com are you saying that you cannot right click on the kpl node and select "Group Devices" or are you saying you are trying to group the kpl nodes but they will not group? You do have to manually group them, I just am unclear as to whether you haven't or can't.
-
Upgrade from 3.3.4 went well also. Thanks, Tim
-
I am just over 500 programs. 78 Insteon devices of which 14 are 6 or 8 button kpl's 47 Integer variables 193 State variables 197 Network Resources 15 email customizations As the programs grew so did the length of time to open the program tab. I don't have homeseer but I do have a pogoplug with dsclink for the alarm and caiwc for 3 webcontrol boards along with the 3m-50 tstat and some other programs all connecting to and updating the 994ir pro constantly. It just took 9.3 seconds for the admin console to open and populate with status for all nodes and another 24 seconds for the program tab to finish loading. I can't say its so long though that it has really ever bothered me. Yes, it takes some time but the way I look at it, the benefits of the ISY far outweigh minor stuff. Just my opinion. Tim
-
Under the Variable tab are 2 more tabs. The first tab is Integer, the 2nd tab is State. In order for your program to run either the Then or Else the variable has to be a State variable, which should be contained in the State variable tab.
-
Good point. Only problem is if there is no motion after 9:45 the light will not turn off because the status of the motion is already off. I see where you were headed though...did you mean to "Run Program 'Down Stairs Lite Motion' If path" instead? In which case he can leave the turn off time at 10PM and add in your addition.
-
After giving it some thought I think the basic programs listed above could be changed slightly to provide the desired results. I have not tested this, but give it a try. Create these two programs for every On Level you wish, modifying for the different On levels as needed. Program “Front Porch Lights Snapshot On 60%†If Status Front Porch Lights >= 51% Status Front Porch Lights <= 60% And Program Blink Run is True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 60 Prgm “Front Porch Lights Back On 60%†If Integer variable Front Porch Lights = 60 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights 60%
-
No, these programs will only turn the lights full on or off. You could have the programs turn them on to any % but it would always be the same. In order to store and restore the light to a % On would require many more programs per light. It would be possible but likely would be more work than most people would want to tackle.
-
Any change in status of either of your If conditions will force the program to be re-evaluated, unless the second condition is not a state variable. I would agree with the others that the program should run as is, as long as the second condition is a state variable. Please double check that a state variable is being used. What is Outdoor Temp Alarm? Is it a thermostat or weatherbug or what?
-
Two programs came to mind, depending on your set up these may or may not work for you: Important to set this first program to "Run at Startup" also, assuming motion detector is not linked to anything but the ISY PLM. Program: Down Stairs Lite Sched If From 6:00:00PM To 10:00:00PM (same day) Then Set 'Devices / Dwn Stairs Lite' On Disable Program 'Down Stairs Lite Motion' Else Set 'Devices / Dwn Stairs Lite' Off Enable Program 'Down Stairs Lite Motion' At 6PM the first program will run true and turn the downstairs light on and disable the second program from running. At 10PM the first program will turn false and turn the downstairs light off and enable the second program to run when motion is detected. Remember to set this first program to run at startup. Program: Down Stairs Lite Motion If Status 'Devices / Dwn Stairs Lite Motion' is On Then Set 'Devices / Dwn Stairs Lite' On Else Wait 15 min Set 'Devices / Dwn Stairs Lite' Off This second program if enabled will turn on the downstairs light when motion is detected and turn off 15 minutes after the motion sends the off signal.
-
Hello barkster, Thanks for posting your program. I haven’t tested this but I think it should get you in the ballpark. Once you get it working for the porch light, simply copy the last 4 programs, changing the names to match the next light. For 3 lights you will end up with 3 Integer variables (plus the State variable for the Blink Run program) and 12 programs (plus the Blink Run program). Create a State variable called Blink Run (or whatever). Modify your program as follows: Program “Blink Run†If Status 'Alarm Sensor' is Off And Status 'Alarm Sensor' is not On Then Wait 2 sec State Variable Blink Run = 1 Repeat Every 0 seconds Set 'Fireplace Light' Fast On Set 'Living Room Fan Light' Fast On Set 'Front Porch Light' Fast On Wait 2 seconds Set 'Living Room Fan Light' Fast Off Set 'Fireplace Light' Fast Off Set 'Front Porch Light' Fast Off Wait 2 seconds Else Wait 10 sec State Variable Blink Run = 0 One of these next two programs will become true when the Blink Run program evaluates to true and while the wait 2 seconds is running which will set the porch lite variable to either 1 or 0. Now create an Integer Variable “Front Porch Lights†and create two new programs as follows: Program “Front Porch Lights Snapshot On†If Status Front Porch Lights On And Program Blink Run is True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 1 Program “Front Porch Lights Snapshot Off†If Status Front Porch Lights Off And Program Run Blink = True And State Variable Blink Run = 0 Then Integer variable Front Porch Lights = 0 One of these next two programs will run once the Blink Run program evaluates to False during the 10 second wait. Now create these 2 new programs which return the front porch lights to the state it was in before the blink program started blinking the lights Prgm “Front Porch Lights Back On†If Integer variable Front Porch Lights = 1 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights On Prgm “Front Porch Lights Back Off If Integer variable Front Porch Lights = 0 And Program Blink Run is False And State variable Blink Run = 1 Then Wait 2 sec Set Front Porch Lights Off" Once these programs are working good and you add the programs for the next light you may need to adjust the Wait 2 seconds to maybe 3 or 4 seconds before turning the light on or off. All three lights will be evaluating and trying to turn on or off at the same time so by staggering the wait times it may result in less errors. Edit, I forgot a couple of Else commands in the first program, they have just been added.
-
You know what, scratch those programs...they are not going to work. Sorry about that. It would be helpful for you to post your program(s) so we can see what we are dealing with. Don't want to send you down the wrong path and waste time.
-
Hi barkster, sure. Set up two programs, one that will set an Interger variable to 1 when the lights are on and the blink program is off. The other program will set the variable to 0 when the lights are off and the program is False. Something like: If Status Lights are On and Program Blink is False Then Interger Variable = 1 If Status Lights are Off and Program Blink is False Then Interger Variable = 0 Then have a 3rd program that turns the lights on or off depending upon the state of the variable and when the blink program turns False, like If Interger Variable = 1 and Program Blink is False Then Set Lights On Else Set Lights Off The only time the 3rd program will evalute is when the Blink program evaluates to False. If there are more than one conditions in the blink program then we may have to rethink these programs because it may turn the lights off when you don't want it too. Maybe you could post your program and we could go from there. Tim
-
Thanks LeeG, your explanation makes perfect sense. Tim
-
LeeG, Your right, just tested by removing power from the EZFlora and I get the red ! and the program I set up sent me an email about the no response from the EZ. What I did earlier, thinking I would save some time from going to the garage and unplugging the EZ, was create a program with the nodes for the EZ but instead of looking for no response had them looking for response...expecting an email to be sent everytime the nodes responded. Well, that didn't happen and I assumed something was wrong. So it appears that I didn't fully understand the operation of this feature. Just so I am clear, once a device doesn't respond the No Response feature runs only once. And the same is true for the Is Responding, Is Responding will run only once if the No Response feature had already previously run. Is that right? Thanks, Tim
-
Upgrade went great. The Is/Is Not Responding feature for the EZFlora/Rain is not working still for me. ISY994/ir/pro 3.3.4 EZFlora v.90 address 01.7E.66 I have tried Restore Device, Query Insteon Engine and Restore Device again. Here is a level 3 log first pressing On then Off from the admin console: Sat 11/10/2012 06:35:27 AM : [iNST-TX-I1 ] 02 62 01 7E 66 0F 40 07 Sat 11/10/2012 06:35:27 AM : [iNST-ACK ] 02 62 01.7E.66 0F 40 07 06 (07) Sat 11/10/2012 06:35:27 AM : [iNST-SRX ] 02 50 01.7E.66 19.84.0E 2B 40 87 (87) Sat 11/10/2012 06:35:27 AM : [std-Direct Ack] 01.7E.66-->ISY/PLM Group=0, Max Hops=3, Hops Left=2 Sat 11/10/2012 06:35:27 AM : [ 1 7E 66 8] ST 255 Sat 11/10/2012 06:35:28 AM : [iNST-TX-I1 ] 02 62 01 7E 66 0F 41 07 Sat 11/10/2012 06:35:28 AM : [iNST-ACK ] 02 62 01.7E.66 0F 41 07 06 (07) Sat 11/10/2012 06:35:29 AM : [iNST-SRX ] 02 50 01.7E.66 19.84.0E 2B 41 07 (07) Sat 11/10/2012 06:35:29 AM : [std-Direct Ack] 01.7E.66-->ISY/PLM Group=0, Max Hops=3, Hops Left=2 Sat 11/10/2012 06:35:29 AM : [ 1 7E 66 8] ST 0 I have not tried a factory reset / restore. Nor have I tried a delete from ISY, factory reset of EZ and a complete new linking. Waiting for further instructions. Thanks, Tim
-
Yes, similar situation here. Thanks, Tim
-
Hi jmed999, The nearest weather station to me is about 10 miles away (if I recall correctly) and I do use both weatherbug data and the irr. module both successfully. There are no hills or valleys between me and the station. While some of the data may vary (both temp and rain fall) slightly, it seems pretty close. Close enough for me anyway. I have been using the WB data for a year or two and started using the irr. module in programs when it became available. It has been a huge success for me. Cant say for sure if it will work as good for you or not but its worth a try, there is a 30 day money back trial (pretty sure its still available). Tim
-
Here is a script I have modified to retrieve data from the thermostat and send the data to variables in the ISY. First I would like to thank 87squirrels for his code for the tstat (http://forum.universal-devices.com/viewtopic.php?f=68&t=6009&p=50006&hilit=filtrete#p50006). This modified script will only retrieve data and send variable updates to ISY. It will not change set points etc. on the tstat. Those can be changed via Network Resources in the ISY itself. This code works on the PogoPlug which is Linux based, so it probably will work on other similar units. It will retrieve the data from the tstat and send the updates to the ISY every two minutes. After the initial data is loaded only changes in the data will get sent to the ISY to save on resources. Here is the disclaimer: I am not a programmer or coder....as such there are probably a lot of things that could be changed to improve the script. If anyone has constructive criticism or suggestions they are welcome. Look thru the script for # and change the following line(s) as needed. I would suggest following the tstat API for a description of terms etc. http://central.isaroach.com/wiki/index.php/Tstat_APIs #!/bin/bash #Change this next line to your 3M-50 IP address var_tstat="http://xxx.xxx.x.xxx/tstat" #Change this next line Name Password to the user name and password for your ISY var_wgt="/usr/bin/wget -q -O /dev/null --http-user=admin --http-password=admin" #Change the IP address to your ISY IP address var_ISY="http://xxx.xxx.x.xxx/rest/vars/set" #This next line gets the current time provided by Pogoplug and parses it for a usuable number for ISY variables TIME=`date | cut -c12-19` var_hb="$(echo "$TIME" | sed "s/[^0-9]//g" | sed 's/0*//')" STR=`/usr/bin/wget -q $var_tstat -O -` TEMP=`echo $STR | sed -e 's/.*temp":\([0-9]*\).*/\1/'` TMODE=`echo $STR | sed -e 's/.*tmode":\([0-9]*\).*/\1/'` FMODE=`echo $STR | sed -e 's/.*fmode":\([0-9]*\).*/\1/'` OVERRIDE=`echo $STR | sed -e 's/.*override":\([0-9]*\).*/\1/'` HOLD=`echo $STR | sed -e 's/.*hold":\([0-9]*\).*/\1/'` THEAT=`echo $STR | sed -e 's/.*t_heat":\([0-9]*\).*/\1/'` TCOOL=`echo $STR | sed -e 's/.*t_cool":\([0-9]*\).*/\1/'` TSTATE=`echo $STR | sed -e 's/.*tstate":\([0-9]*\).*/\1/'` FSTATE=`echo $STR | sed -e 's/.*fstate":\([0-9]*\).*/\1/'` #Change the following numbers to match your variable numbers in ISY. ex $var_ISY/2/160/$TEMP change 160 to match which variable you choose for Temp. $var_wgt $var_ISY/2/160/$TEMP $var_ISY/2/161/$TMODE $var_ISY/2/162/$FMODE $var_ISY/2/163/$OVERRIDE $var_ISY/2/164/$HOLD \ $var_ISY/2/165/0 $var_ISY/2/166/0 $var_ISY/2/165/$THEAT $var_ISY/2/166/$TCOOL $var_ISY/2/167/$TSTATE \ $var_ISY/2/168/$FSTATE $var_ISY/2/169/$var_hb #This puts the program to sleep for 2 minutes then continues on below. sleep 120s while true do TIME=`date | cut -c12-19` data="$var_wgt " var_hb="$(echo "$TIME" | sed "s/[^0-9]//g" | sed 's/0*//')" TEMPOLD=$TEMP TMODEOLD=$TMODE FMODEOLD=$FMODE OVERRIDEOLD=$OVERRIDE HOLDOLD=$HOLD THEATOLD=$THEAT TCOOLOLD=$TCOOL TSTATEOLD=$TSTATE FSTATEOLD=$FSTATE STR=`/usr/bin/wget -q $var_tstat -O -` TEMP=`echo $STR | sed -e 's/.*temp":\([0-9]*\).*/\1/'` TMODE=`echo $STR | sed -e 's/.*tmode":\([0-9]*\).*/\1/'` FMODE=`echo $STR | sed -e 's/.*fmode":\([0-9]*\).*/\1/'` OVERRIDE=`echo $STR | sed -e 's/.*override":\([0-9]*\).*/\1/'` HOLD=`echo $STR | sed -e 's/.*hold":\([0-9]*\).*/\1/'` THEAT=`echo $STR | sed -e 's/.*t_heat":\([0-9]*\).*/\1/'` TCOOL=`echo $STR | sed -e 's/.*t_cool":\([0-9]*\).*/\1/'` TSTATE=`echo $STR | sed -e 's/.*tstate":\([0-9]*\).*/\1/'` FSTATE=`echo $STR | sed -e 's/.*fstate":\([0-9]*\).*/\1/'` #Change the numbers below like you did above to match your ISY variables. if [ "$TEMP" != "$TEMPOLD" ]; then data="$data $var_ISY/2/160/$TEMP" fi if [ "$TMODE" != "$TMODEOLD" ]; then data="$data $var_ISY/2/161/$TMODE" fi if [ "$FMODE" != "$FMODEOLD" ]; then data="$data $var_ISY/2/162/$FMODE" fi if [ "$OVERRIDE" != "$OVERRIDEOLD" ]; then data="$data $var_ISY/2/163/$OVERRIDE" fi if [ "$HOLD" != "$HOLDOLD" ]; then data="$data $var_ISY/2/164/$HOLD" fi if [[ "$STR" =~ "t_heat" ]] && [[ "$THEAT" != "$THEATOLD" ]]; then data="$data $var_ISY/2/165/$THEAT $var_ISY/2/166/0" fi if [[ "$STR" =~ "t_cool" ]] && [[ "$TCOOL" != "$TCOOLOLD" ]]; then data="$data $var_ISY/2/166/$TCOOL $var_ISY/2/165/0" fi if [ "$TSTATE" != "$TSTATEOLD" ]; then data="$data $var_ISY/2/167/$TSTATE" fi if [ "$FSTATE" != "$FSTATEOLD" ]; then data="$data $var_ISY/2/168/$FSTATE" fi data="$data $var_ISY/2/169/$var_hb" $data sleep 120s done Good luck! Tim