Jump to content

Garage Door Control & Status


BriG

Recommended Posts

Posted

Hi BriG-

 

That test in the If is related to another program call. I have a Midnight door check that closes the door if it is open by calling that If. It isn't needed otherwise since other than that, I never call the If. You could remove that line if you wanted.

 

Currently the status is managed by a combination of the 2 programs. I "run then" to open or close the door. Then the monitor program will "run else" on the openclose program when the door sensor says closed. Mobilinc uses the True(then)/False(else) status of the openclose program to display the door status.

 

-Xathros without an "n"

Posted

Thanks. That helps a ton and totally makes sense. I will nuke the variable in my programs.

 

Sorry for the name misspelling.

Posted

No Problem! Happy to help.

 

-Xathros

  • 4 weeks later...
Posted

Xathros,

 

Would you be willing to share your programs for the garage door opener status and camera setup? I like the fact you are able to command the camera to turn towards the door if it is opened. I am having a devil of a time trying to "see" if my door is open or shut on Mobilinc and even via the ISY controller.

 

Thanks,

 

Paul

Posted

Hi all, I really appreciate all the information provided in this QA forum - great work and I'm learning a lot!

 

I'm running into a problem with my garage door program. I set up this program based on the information provided in this thread but when I close my garage door, the door reopens as if the closed status triggers the status program to reopen the door. I'm not really sure how to sort this out short of adding a bunch of flags.

 

Any guidance would be appreciated.

 

Thanks!

 

mike

Posted

mmb

 

A change in xxxxx Status causes a Program with If Status xxxxx to trigger. When the If is True the Then clause executes. When the If is False the Else clause executes. Same with a State Variable. Any change in the State Variable value triggers the Program.

 

Suggest posting the Program. Right click Program name, select Copy to Clipboard, paste to forum post.

Posted

Thanks LeeG, my little garage door program below:

 

If

$iPhone_smith is 1

And Status 'IO Linc Garage Sensor' is On

 

Then

Send Notification to 'Default' content 'Garage Door Notification Opening'

Set Scene 'Garage Door Relay' On

Else

Send Notification to 'Default' content 'Garage Door Notification Closed'

 

So I would have expected the If not to execute when opening/closing with a keypad or the door switch itself because there is no change of state in the iPhone variable, so the If would evaluate to False. My iPhone is just sitting in the house, so yes it's in range (1) but not changing - obviously this isn't the case. The keypad and door switch work fine with this program disabled.

 

Thanks again!

 

mike

Posted

A change in the Variable value (assuming it is a State variable) OR a change in the Sensor state will trigger the Program. The change in Sensor state will trigger the Program so even if the variable is an Integer variable it having a value of 1 makes that part of the If True. When the I/O Linc Sensor turns On which with the current garage kit is when the door closes (unless trigger reverse is in use) the Program executes the Then clause Opening the door after it closes..

Posted

Your program will trigger upon any change of state of your sensor, regardless of the variable. Whether it triggers off the variable depends on whether it is a state or integer,

Posted

Got it,I think - the iPhone reference is a geo-location variable, so a state variable. I think you know what I'm trying to accomplish with this program - automate my ingress to the house - open door, turn on lights, etc.

 

So is the best (or only) way to handle this scenario is with integer variables/flags?

 

Thanks!

 

mike

Posted

mmb

 

Actually I had no idea what the objective was. There are always several ways to implement things in the ISY. One way is to set up two Programs

 

Program 1

 

If

$iPhone_smith is 1

Then

Run Program 2

Else

 

Program 2 (this Program is marked Disabled so a change in Sensor status does not trigger program)

 

If

Status 'IO Linc Garage Sensor' is On

 

Then

Send Notification to 'Default' content 'Garage Door Notification Opening'

Set Scene 'Garage Door Relay' On

Else

Send Notification to 'Default' content 'Garage Door Notification Closed'

 

EDIT: I think the wording in the Else Notification is more accurate to say 'Garage Door Notification - already Open'

Posted

This is great LeeG, I'll give it a try. One question, I assumed Disabling a Program was to avoid having it run eg. for development purposes. I gather this isn't necessarily the case as you've noted the Program as Disabled but you still are able to run it using a Program call - correct?

 

Fyi I used to be a programmer many years ago, but I have to say there's some interesting nuances that I'd like more followup. Are these documented somewhere? I've been through the wiki, but may have missed...

 

Thanks for the help...

 

mike

Posted

Program 2 must be marked Disabled to prevent a change in Sensor Status from triggering the Program. This is the problem with the original implementation, the change in Sensor status was triggering the single Program. By breaking the If section into two Programs Program 2 with the If Status can be Disabled to prevent the change in Sensor Status from driving the process. In this case only the change of the Variable to 1 should trigger the process. The On/Off Status of the Sensor affects the Program flow but should not trigger the process.

 

A Disabled Program can be ‘Run’ from another Program, Program 1 in this example, but it cannot trigger itself.

 

This link into the Wiki might be helpful

 

http://wiki.universal-devices.com/index ... e#Programs

..

Posted
Xathros,

 

Would you be willing to share your programs for the garage door opener status and camera setup? I like the fact you are able to command the camera to turn towards the door if it is opened. I am having a devil of a time trying to "see" if my door is open or shut on Mobilinc and even via the ISY controller.

 

Thanks,

 

Paul

 

Hi pauliep-

 

I'd be happy to. What kind of cams do you have and do you have the ISY network module installed?

 

Here is the overview:

In my Foscam PTZ cams, I have created between 3 and 6 saved positions per cam. Then in the ISY network modue, I have created a resource for each of those saved positions and named then appropriately (Garage cam to Dad's Door, Garage Cam to Mom's door etc.) Then with some simple programs, I can point the cams based on other events:

 

Program:

If
       Control  'Garage / Garage Door IOLinks / GD- Dad Garage Door Sensor' is Switched On

Then
       Resource 'Syslog-SECRTY - Dad Garage Door Opened'
       Resource 'CAM-CRTL: GarageCam-Dads Door'
       Wait  1 minute 
       Resource 'CAM-CRTL: GarageCam-Inside Door'

Else

 

I also have a few programs set up for my utility room cam to cycle through 6 positions. I have made one of these programs a favorite and associated it with my Utility Cam. This makes it easy to loop through the 6 positions by tapping the program favorite while watching the cam. These could be implemented for each cam but I haven't bothered to do this for my other cams yet.

 

Program: Utility Cam Cycle (This is the Mobilinc fav)

If
  - No Conditions - (To add one, press 'Schedule' or 'Condition')

Then
       $s.UtilityCamPosition += 1
       $s.UtilityCamPosition Init To $s.UtilityCamPosition

Else
  - No Actions - (To add one, press 'Action')

 

Program: UtilityCamPos1

If
       $s.UtilityCamPosition is 1

Then
       Resource 'CAM-CRTL: BasementCamPosition1 - Stairs'

Else
  - No Actions - (To add one, press 'Action')

.

.

.

Program UtilityCamPos5

If
       $s.UtilityCamPosition is 5

Then
       Resource 'CAM-CRTL: BasementCamPosition5 - Network Shelf'

Else
  - No Actions - (To add one, press 'Action')

 

Program UtilityCamReset

If
       $s.UtilityCamPosition is 6

Then
       $s.UtilityCamPosition  = 1
       $s.UtilityCamPosition Init To $s.UtilityCamPosition

Else
  - No Actions - (To add one, press 'Action')

 

The $s.UtilityCamPosition mvar is a state variable.

 

-Xathros

Posted

Everything works perfectly LeeG.

 

Curious, I browsed through the wiki but didn't find a reference to Disable handling (stopping the self trigger) as you provided. Do you know if there is one?

 

Anyway, thanks!

 

mike

Posted

mmb

 

Go to this link and scroll down to "Program Enabled Checkbox".

 

http://wiki.universal-devices.com/index ... tion_Order

 

"When the Enabled box is not checked, the program will not run in response to an event, but will still run normally when called from another program and when invoked directly from the Program Summary tab, provided any folder conditions in the program's hierarchy are True. "

  • 4 weeks later...
Posted

Ok... Here is my attempt at this and where I am a bit stuck (or just tired...or both)

 

Button H on my KPL is the only responder to the Garage Door Status scene

 

 

Garage Opener Program

If
       $i.GD_Status is 1
    Or Control 'Garage / Garage Door Opener KPL- H' is switched On

Then
       Set 'Garage / Garage Door IOLinc' On
       Wait  1 second
       Set 'Garage / Garage Door IOLinc' Off

Else
  - No Actions - (To add one, press 'Action')

 

 

Garage Door Status

If
       Status  'Garage / Garage Door Sensor' is On

Then
       Set Scene 'Scenes / Garage Door Status' Off

Else
  - No Actions - (To add one, press 'Action')

 

What works:

1) I set the "Run Then" as a favorite on Mobilinc as desired

2) I can press H on the KPL to open the garage door and the light on the button stays lit while the door remains open

3) I can press H on the KPL to close the door and the light on the button will turn off once the door is closed

4) I have the Garage Door Sensor saved as a favorite to tell me the door status (Off=Open, On=Closed). Should or could I use a program as a favorite to show the status (so it stands with the opener program in my favorites).

 

What DOES NOT work:

1) When I open the garage door with my Mobilinc favorite, my KPL H button does not recognize the status change from the door sensor thus does not light up (I didn't expect it to as I have nothing written in a program to tell it to do so...but I do not know what to add to get this to work). I would want the KPL to light up even when I open the garage door with the standard button in the garage.

2) My KPL LED's are all white. I've seen videos where when people used the KPL for a garage door, their button lit up red indicating the door was open. Do I need to replace the light in the button? If so, when the button is not in use I currently have the off LED brightness set to 1 so you can see the buttons at night. Can I have the off set to brightness 1 and appear white, and when on, the light is brighter and red?

 

Any other thoughts of suggestions would be greatly appreciated. Thank you everyone!

 

~Jerry

 

Edit:

 

I think I got the KPL button to react to Mobilinc or garage button use. I simply added the "Else" line. A quick test shows that this seems to be working as planned. My thought is that the Else tells the KPL that unless the sensor is "Off", set the scene to "On". Some of you veterans may think otherwise, please let me know.

 

Garage Door Status

If
       Status  'Garage / Garage Door Sensor' is Off

Then
       Set Scene 'Scenes / Garage Door Status' On

Else
       Set Scene 'Scenes / Garage Door Status' Off

Posted

What DOES NOT work:

1) When I open the garage door with my Mobilinc favorite, my KPL H button does not recognize the status change from the door sensor thus does not light up (I didn't expect it to as I have nothing written in a program to tell it to do so...but I do not know what to add to get this to work). I would want the KPL to light up even when I open the garage door with the standard button in the garage.

2) My KPL LED's are all white. I've seen videos where when people used the KPL for a garage door, their button lit up red indicating the door was open. Do I need to replace the light in the button? If so, when the button is not in use I currently have the off LED brightness set to 1 so you can see the buttons at night. Can I have the off set to brightness 1 and appear white, and when on, the light is brighter and red?

 

 

For 1 I believe you need to setup a follow scene in which the KPLH is a responder. Then set a program to set the state of that scene based on the state of the garage sensor. (That is how i set mine up.) I've also set the KPL to be toggle off only. So that you can't turn that KPL button by pressing it. I wrote a 2nd program to allow that KPL to trigger the garage I/O via a fast off command. (i use the fast off because my kid likes to press all the buttons. lowers the chance of an accidental open.)

 

2. yes, they sell a different difuser to make the key red. look up keypadlinc color change:

http://www.smarthome.com/2401L/LED-Colo ... lor/p.aspx

 

So the answer to the 2nd part will be no. it will be dim red and bright red.

Posted
My thought is that the Else tells the KPL that unless the sensor is "Off", set the scene to "On". Some of you veterans may think otherwise, please let me know.

This is EXACTLY how "status" conditions work. They trigger on any change of status, execute TRUE (then path) if the change of status matches stated condtion, otherwise execute FALSE.

  • 1 year later...
Posted

Xathros,

 

I set up my garage door controller following your excellent instructions and everything is working correctly for me. Now I would like to take it one step further. Is it possible using the ISY994i controller to write a program that would perform the following? Between midnight and sunrise, if my garage door has been open for 5 minutes, run the Garage-Open-Close program to automatically close the garage door.

 

This may not be the right forum, but I would appreciate any help or suggestions you could offer me. I'm new to this and I'm trying to get up to speed as quickly as possible. Thanks!

Posted

Yes, this is the right forum.

 

Since you seem interested in a response specifically by xathros, I guess I will offer no further response.

Yes, this is the right forum.

 

Since you seem interested in a response specifically by xathros, I guess I will offer no further response.

Posted

No, that was not my intent. I'm happy to get advice or ideas from anyone with information to share regarding this topic.

Posted

The first program tests if the garage door is open between midnight and sunrise. It the garage door is open, then the 5 minute timer starts after which the second program starts and tests if the garage door is still open. If it is, then the program closes the door.

 

Program 1

If
        From    12:00:00AM
        To      Sunrise (same day)
    And Status  'GG / Devices / GG Garage 1 Sensor' is On
 
Then
        Wait  5 minutes
        Run Program 'test2' (If)
 
Else
   - No Actions - (To add one, press 'Action')
 
Program 2

If
        Status  'GG / Devices / GG Garage 1 Sensor' is On
 
Then
        Set 'GG / Devices / GG Garage 1 Sensor / GG Garage 1 Relay' On
 
Else
   - No Actions - (To add one, press 'Action')
 

Posted

Well, then, my response might change, depending on how you want the system to behave at the transition times (midnight and sunrise). What do you want to occur if the door happens to be open at midnight and sunrise? Immediately close? Stay open? Start the countdown? Stop the countdown?

 

To get the thought process moving, consider a simple program such as:

 

If

Status garage door is open

Then

Wait 5 minutes

Run garage-open-close program (if path)

Else

Nothing

 

The next step would be how to disable this program during the day. This could be done with program folders or another program such as

 

If

Time is from midnight

To sunrise

Then

Enable first program

Else

Disable first program

 

Depending on how you answer the earlier questions, you may need to add a couple of program steps.

 

Hopefully, this will give you some ideas on how to tackle his type of problem.

Guest
This topic is now closed to further replies.

×
×
  • Create New...