Jump to content

MaddBomber83

Members
  • Posts

    347
  • Joined

  • Last visited

Everything posted by MaddBomber83

  1. Just to hit one more single program 'disable' You can use a variable as well. If Status 'Main - Thermostat' > 0% (Humidity) And $Int_17 >= 60 Then $Int_17 = 0 Else Wait 1 minute $Int_17 += 1 Run Program 'Test' (If) This is similar to the first example where the program is disabled, but calls itself. The difference is that this is enabled (so changes in the status will cause it to run), but the true condition can only be met 60 minutes after the last completion of the Then Path.
  2. Give some more details on what you are trying to accomplish. At a generic level, there are several ways to accomplish this. You can disable a program so that it does not auto start, but still run it from intself. As an example: Disabled: Equalize If Status 'Office Light - Office Light / Office Light - Fan High' is not Off Or Status 'Closet Light - Closet Light / Closet Light - Fan High' is not Off Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Cool_Actual Or $Int_Main.TStat_Status is $Int_Main.TStat_SP.Heat_Actual Then Set 'Main - Thermostat' Fan On Wait 10 minutes Run Program 'Equalize' (If) Else Set 'Main - Thermostat' Fan Auto Wait 10 minutes Run Program 'Equalize' (If) This will run every 10 minutes, but will not run when the status of things change because it is disabled. A, dynamic timer can be had by disabeling the program you want to run, and then placing the start conditions for it including a time since last run to the calling program: This has the start conditions including last run: If Status 'Main - Thermostat' > 0% (Humidity) And Time is Last Run Time for 'Timer' + 1 minute Then Run Program 'Timer' (If) Else - No Actions - (To add one, press 'Action') This is disabled and will get ran only when those start conditions are true (we can even place more start conditions here if you want: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then - No Actions - (To add one, press 'Action') Else - No Actions - (To add one, press 'Action') Or, you can call enable/disable from your scheduler program.
  3. I should also add, that if you don't currently have two APs and you don't want to spend the money to find out, then do you have any other Dual Band Devices? As an example, I have a couple of the Insteon Weather Resistant On/Off Outdoor modules that are dual band (150 Ft open Air). You could throw these on an extension cord and see what they do (or any other dual band device you have. You can also take out any wired Dual Band device (like a Fan Link) and wire nut it on to a power cable and plug that into an extention cord.
  4. Yeah, thought about that. What I want to do is have the two locations linked together. If I did, I could do things like blink a light in the house if someone pulls up to the building. You can link one direction (on both devices) through your network using network resources. The below code sets the state of variable 15 to 0. When this state variable changes any programs that use it in the IF statement will also run. http://isy/rest/vars/set/2/15/0 The below code runs the Then Path of program 00E5 http://isy/rest/programs/00E5/runThen The ISY REST interface is well documented in the Wiki. Two ISY one 1 network with liberal use of State Variables and the REST Interface can communicate and run as a single system, with a lot of USER setup. UD is currently working on (really excited) integrating this into more of a SYSTEM setup (where you would sync two units together and they would essentially do all the REST stuff between them). Note a limitation is that you must pre define everything. Due to the way variables are handled currently, you would have to write a lot of programs to have a thermostat's temperature synced between both ISYs. True and False conditions are very easy though. If I may offer a different path forward? Do and/or the following: - In your house circuit, add an underground rated cable on its own low amperage circuit and run it out to your unit. - In your outhouse circuit, same thing. - Or, add an outside circuit GFI box (like what most outdoor plugs are) to both buildings. - As needed, place a post ~ 50 feet from each building with your GFI plugs and the AP on them. - Testing environment would be to just use an extention cable from each location. With the extension cables, you can test to see if placing an outdoor AP at each location is reliable enough and how close they would need to be. You can then make a cost determination on the hardware/effort for an ISY Network Solution vs an Insteon Powerline/RF solution.
  5. Just to repeat Apostolakisl's words; please feel free to ask any sort of questions here. The forums are generally full of knowledgeable people that can and are willing/enjoy helping. No problem is too small. I am also sorry to hear of your loss.
  6. Try this method instead: If Control ON AND Status Off Then Disable Program Motion Light Turn Lights On Wait 1 Hour Enable Program Motion Light If Control OFF And Status On Then Enable Program Motion Light Turn Lights Off If Time is Night And Status Motion Detected Then Turn Lights On Wait 1min 30sec Turn Lights Off
  7. I'm going to have to look at this. Especially with the ability to update ISY variables as well.
  8. Now the eZ8 has 8 zones and a spot for a transformer. On mine I can only get 1 output to be active at any given time (and the manual indicates that). You mentioned having more than one on?
  9. The script above declares a variable, assigns a value to it, displays the value, changes the value, and displays the value again.
  10. Also as a note, the Web Server lets you set your page as the default. So when you go to your isy it displays your page instead of the default one. I found adding a button to go to the normal one was helpful for accessing things I have not programmed in yet. UD Ajax In that example, the target '_self' is the full page.
  11. Take a look at the bottom link in my signature. Here I set up a FosCam using the HTML interface of the ISY Web Server. When you send a REST command (as you pointed out) it returns a result and this is undesirable for a web page where the links are just buttons. What you want to do is tell that link to open someplace else. You'll often see this as a pop up or new tab. I went the route of setting up a frame in the web page that it would go to. This has the benifit that you don't really see it, and you stay on the page where your buttons are. It is called an iFrame. Up/Left In the above link, the target is an iFrame called 'control'. In the above code is the iframe. I place mine on the bottom of the page. That frame will display the reply (such as 200). In the below image you'll see my interface and at the very bottom you'll see the iframe (cut off).
  12. No apology needed. As mentioned, most of this is from other people's work. I would appreciate any and all feedback / ways to improve. ISY forums are here for that!
  13. Thank you for the information. I'll have to look at modifying a few of the php files and have the ISY call those instead. A note about the cruise, we use it for when we are looking at the monitor. When we walk away it goes back to a single point. Also, we will use a separate motion sensor to fire off alerts as it is still very difficult to feed a motion response into the ISY from a FosCam. One scenario I'm playing around with is having the FosCam email alert go to a server that triggers a php script. Meh, bed time.
  14. In the future we will be setting up trips on our gates. Motion sensors on our entrances and driveway. With everything in ISY we can have the appropriate cameras point at the direction of the trip and snap a few pictures and email them to us.
  15. An example program is one that I've made for night checks. A screen shot of the major points of interest is sent to me in the following way: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Resource 'VeryFast' Wait 5 seconds Resource 'Softener' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Back_Right' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Back_Center' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Back_Left' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Back_Patio' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Back_Door' Wait 5 seconds Resource 'Camera_Email' Wait 5 seconds Resource 'Normal' Else - No Actions - (To add one, press 'Action') My wife uses the web page part to set it up on scans for when the kids are in the back playing.
  16. Security Update For the Camera Controls, please visit http://foscam.us/forum/showing-secure-m ... tml#p46871 for additional information. The short version is that there is some simple PHP code you can run that makes controlling the camera more secure. It does require that you have your own web server though. The below code reflects direct communication with your camera and exposes your IP/USER/PASS to anyone who can access your network. I'm ok with this for my external cameras, I'm not ok with this for any internal cameras. Hello; I've been working on integration of the FosCam H.264 series of Cameras into ISY. Essentially, I would like to completely control the camera from within the ISY. I have mostly accomplished this. [*:ly02gd6g]Here is a screen shot of the interface: A lot of the help and specifics came from the FosCam IP Camera CGI User Guide. [*:ly02gd6g]It lists all the CGI commands and formats; which really are just URLs structured in a specific way to get the camera to do things. [*:ly02gd6g]You can add all, or the useful ones to ISY's Network Resources. GET /cgi-bin/CGIProxy.fcgi?cmd=ptzStartCruise&mapName=SkyScan&usr=USER_NAME&pwd=PASSWORD HTTP/1.1 Host: IP_Of_Camera:Port [*:ly02gd6g]The above GET Request starts the Camera on a Cruise of the Sky (a custom cruise path defined by the user). We can then use these network resources in ISY programing. [*:ly02gd6g]The following ISY program commands the Camera to pan left. [*:ly02gd6g]1 second on my normal speed is enough to pan the camera half a frame. If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Resource 'ptzMoveLeft ' Wait 1 second Resource 'ptzStopRun ' Else - No Actions - (To add one, press 'Action') With all the functions for the camera in network resources / programs; we can now create an *.htm file and upload it to the ISY's built in web server. [*:ly02gd6g]You can run all of ISY's programs by simply visiting a URL with the proper REST tag. [*:ly02gd6g]Here is what my HTML Table for the basic directions looks like: > </pre> <table border="1">Up/LeftUpUp/RightLeftStopRightDown/LeftDownDown/Right</table> -To get a list of all your programs (including their ID numbers) you can simply visit the following site: http://isy/rest/programs?subfolders=true - Please note, you can do more than just run programs. You can also control your nodes / devices. Visit the ISY Developers API REST Interface wiki for all sorts of rest commands you can just throw into a URL. When you open any of these URL's on a web page, you'll get a return of 200 if it was correct. As these are buttons, we don't really want to change the page. To get around this you'll see the target="control" in all those links. What I do is add an iFrame at the bottom of the web page where all these links open to. In the image you'll see it at the bottom clipped off a bit. - The last part is getting the feed into the web page. - I heavily used a post on the FosCam forums for doing this. - My particular camera is a FI9831W and uses the H.264 CGI. - If you use a MJPEG version (FI8xxx) there is another post here on doing the same thing. - You can also get your CGI User Manual Here. Essentially, you will use the following HTML code to get an image that refreshes itself every 1-2 seconds: So, the web page is complete. We can now upload it to the ISY Web Server. - Because it is now on the ISY, we can access it remotely in HTTPS (assuming you have your ports forwarded). - We can also use this web page as the default ISY page. So when you log into the ISY you'll see your camera. - I added a button to access the default ISY web page, so I can still get to all my nodes and such (as I have not added them to a custom UI yet). UD Ajax Snapshots and e-mails: - This is where the weak spot in this setup comes into play. - When ISY sends an HTML email with an IMG URL, it does not attach or reference the actual image. It just passes the link. - The image is accessed for the first time when you open your email client. So you don't get an image of when the email was sent, but when it was opened (maybe a day later). - The e-mail that ISY sends also has a bad habit of being cached. To make sure it does not get cached we use the following Notification Body You'll see we added a Variable there. As long as this is a different number then the last few images you sent, it won't be cached. As a result, this is what our notification program looks like: If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then $Increment += 1 Send Notification to 'Admin' content 'Images' Else - No Actions - (To add one, press 'Action') That Increment Variable is the same as the ${var.1.50} in the notification. Now, using a *.php script on a web server, you can actually send yourself an attachment image that will be the same one as the time it was taken, no matter when you opened it. I used the following site as a guidefor creating mine. In that FosCam forum post I linked earlier, you can use another *.php script to get access to secure images to email. You'll want to download the information and follow that thread if you are interested and have a web server. I uses Amazon's EC2 personally.
  17. Yes they do. I actually have 3 of this exact product and 3 additional modified versions (they removed the actual humidity sensor). The modified versions can be useful if you have a 0-10vdc instrument. You would connect it up in place of the humidity sensor and it would read out in % of 10vdc. In practice I am thinking of hooking a water flow meter and / or an air quality meter to the 1 wire bus using this. For the humidity sensors, the question is mounting in an aesthetically pleasing way. I am wanting these in our bath rooms for turning the exhaust fan on/off automatically.
  18. This is awesome and simple. I'll have to give it a try. Next question, any idea about a humidity sensor? Trying to avoid mounting a vented box but I don't see another way.
  19. On that topic take a look at the link in my signature. IOGuy (from these forums) has created a wealth of programs that are very usefull. One of them is called OWLink. It allows a 1-Wire Bus to post updates to ISY Variables. I use the RPi as the computer interface. Once in ISY these are just variables that you can do whatever with. The issue that I am facing with them, is how to make them look good in a room. One approach, since they can easily be wired into telephone or network jacks, is to have them in one of those. I like my temperature sensors near the doors though. I may start looking around for a local 3D printer and see about designing a wall plate myself. This is an excellent idea. I'll need to look more into this. The EZIO8SA may be able to handle that. It has 8 relay outputs and 4 inputs (some others but..). I'm just starting to play around with mine (using it to control dampers).
  20. I should add another advantage to having an actual TStat as a go between. Reliability. If your ISY goes down for whatever reason, the TStat still does its thing. When you move it also makes it easier to reach the right 'tech level' for selling. Linked lights and being able to control things on your phone are plusses; having to look at code and explaining the 'complex parts' is a minus. Last, a TStat has the built in timers already (such as compressor delays). If you are going the relay route you'll need to program those in.
  21. I do both, ish. 1-wire and other types of temperature inputs. An insteon thermostat connected to the HVAC. I/Os for the HVAC Dampers. Still tweaking but so far going well. I have a set of programs that act as a go between for the Thermostat and the HVAC. So, if my office needs cooling, it will lower the TStat Cooling SP until the cooling comes on. The TStat returns itself to the normal setpoints by 1 degree every hour. The Dampers open and close based on a set of parameters and conditions. I'm in the process of doing a bunch of ZWave stuff, but I am waiting for the release of the 5.0 branch with enhanced variable control. Then I can go crazy. One note about the wireless TSTATS, they are more than just a remote Temp/Humidity station. You can also get set points from them. In a zoned system this can mean having a different band that is adjustable by a user. I'll be placing this one in my Daughter's room as an example. She can set it to whatever she likes; it will then interface with programs and adjust the house Tstat to turn on / off cooling within whatever restrictions I have.
  22. So we have 3 nodes. 25.17.5C.1 CLIHCS Value = 0 (Not Calling for Anything) 25.17.5C.1 CLIHCS Value = 1 (Calling for Heat) 25.17.5C.1 CLIHCS Value = 2 (Calling for Cool) 25.17.5C.2 Cooling Controller 25.17.5C.3 Heating Controller Problem 1: Heating should change the status of node 3 and change the value of node 1 to 1. Heating ONLY changes the status of node 3 and does not change anything on node 1. Problem 2: When no heating / cooling is present, node 1 should change to a value of 0, right now it changes to 1. Note 3: Cooling appear to be functioning correctly. It changes the status of node 2, and the value of node 1 to 2.
  23. Now with Program 0072 having our status, a filtered event list (Level 2) for changing states is as follows: Starting Condition is: Cool: OFF Heat: OFF Cool: ON Heat: OFF Mon 04/28/2014 04:06:00 PM : [D2D-CMP 0072] STS [25 17 5C 2] ST op=1 Event(val=255 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> true Mon 04/28/2014 04:06:04 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=2 uom=0 prec=-1) is Condition(val=2 uom=0 prec=-1) --> true Mon 04/28/2014 04:06:04 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=2 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false Mon 04/28/2014 04:06:04 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=2 uom=0 prec=-1) is Condition(val=1 uom=0 prec=-1) --> false Cool: OFF Heat: OFF Mon 04/28/2014 04:07:51 PM : [D2D-CMP 0072] STS [25 17 5C 2] ST op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false Mon 04/28/2014 04:08:05 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=1 uom=0 prec=-1) is Condition(val=2 uom=0 prec=-1) --> false Mon 04/28/2014 04:08:05 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=1 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false Mon 04/28/2014 04:08:05 PM : [D2D-CMP 0072] STS [25 17 5C 1] CLIHCS op=1 Event(val=1 uom=0 prec=-1) is Condition(val=1 uom=0 prec=-1) --> true Cool: OFF Heat: ON Mon 04/28/2014 04:09:52 PM : [D2D-CMP 0072] STS [25 17 5C 3] ST op=1 Event(val=255 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> true Cool: OFF Heat: OFF Mon 04/28/2014 04:12:27 PM : [D2D-CMP 0072] STS [25 17 5C 3] ST op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false
  24. So a few things that the test program points out. Condition 1: Calling for Cool Condition 2: Cooling Control On Condition 3: Calling for Nothing Condition 4: Calling for Heat Condition 5: Heating Control On When I am COOLING: Condition 1 should be TRUE, it is not Condition 2 should be TRUE, it is Condition 3 should be FALSE, it is not Condition 4 should be FALSE, it is Condition 5 should be FALSE, it is When I am not COOLING and not HEATING: Condition 1 should be FALSE, it is Condition 2 should be FALSE, it is Condition 3 should be TRUE, it is not Condition 4 should be FALSE, it is not Condition 5 should be FALSE, it is When I am HEATING: Condition 1 should be FALSE, it is Condition 2 should be FALSE, it is Condition 3 should be FALSE, it is Condition 4 should be TRUE, it is Condition 5 should be TRUE, it is
  25. Also note, as a result of this I have had to change a few programs from using Is Calling For Nothing/Heat/Cool to Status CTRL Heat/Cool On/Off. Next up for testing, I've created the following program: If Status 'Main - Thermostat' is Calling for Cool And Status 'Main - Thermostat / Main - Cool Ctl' is On And Status 'Main - Thermostat' is Calling for Nothing And Status 'Main - Thermostat' is Calling for Heat And Status 'Main - Thermostat / Main - Heat Ctl' is On When I save the program: Cooling On Mon 04/28/2014 03:39:12 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=2 uom=0 prec=-1) --> false Mon 04/28/2014 03:39:12 PM : [D2D-CMP 0072] INI [] op=1 Event(val=255 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> true Mon 04/28/2014 03:39:12 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> true Mon 04/28/2014 03:39:12 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=1 uom=0 prec=-1) --> false Mon 04/28/2014 03:39:12 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false Cooling and Heating Off Mon 04/28/2014 03:43:06 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=2 uom=0 prec=-1) --> false Mon 04/28/2014 03:43:06 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false Mon 04/28/2014 03:43:06 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false Mon 04/28/2014 03:43:06 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=1 uom=0 prec=-1) --> true Mon 04/28/2014 03:43:06 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false Heating On Mon 04/28/2014 03:44:22 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=2 uom=0 prec=-1) --> false Mon 04/28/2014 03:44:22 PM : [D2D-CMP 0072] INI [] op=1 Event(val=0 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> false Mon 04/28/2014 03:44:22 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false Mon 04/28/2014 03:44:22 PM : [D2D-CMP 0072] INI [] op=1 Event(val=1 uom=0 prec=-1) is Condition(val=1 uom=0 prec=-1) --> true Mon 04/28/2014 03:44:22 PM : [D2D-CMP 0072] INI [] op=1 Event(val=255 uom=0 prec=-1) is Condition(val=255 uom=0 prec=-1) --> true
×
×
  • Create New...