Jump to content

Garage Door Program Question


matapan

Recommended Posts

I have a very simple garage door program that isn't working the way I envisioned it would work. It is opening and closing the door after the initial Keypadlinc button press. I think it has something to do with the way the Keypadlinc button status is set up.

 

Configuration:

I'm using an IOLinc to control the garage door. When the sensor is ON, then door is closed. I have one scene containing two Keypadlinc buttons that I use to check if the door is open or closed. If the button is ON, the door is open. The IOLinc relay is set up for momentary contact.

 

Finally, I have three programs that deal with the garage door:

 

Garage Door Open

Garage Door Close

Garage Door Status

 

Garage Door Close:

 

If

Status 'Garage Sensor' is Off

And {

Control 'Keypadlinc 1 Button D' is switched Off

Or

Control 'Keypadlinc 2 Button D' is switched Off

}

Then

Set 'Garage Relay' On

 

Else

-- No actions --

 

 

Garage Door Open:

 

If

Status 'Garage Sensor' is On

And {

Control 'Keypadlinc 1 Button D' is switched On

Or

Control 'Keypadlinc 2 Button D' is switched On

}

Then

Set 'Garage Relay' On

 

Else

-- No actions --

 

 

Garage Door Status:

 

If

Status 'Garage Sensor' is On

Then

Wait 1 second

Set Scene 'Garage KPL' Off

Else

Wait 1 second

Set Scene 'Garage KPL' On

 

The door opens and closes properly when the open and close programs are enabled, but when the status program is also enabled, the door partially opens and closes on its own. I don't understand what this is happening, since I am assuming a 'Switched' action is different from a 'Set' action. Setting the Keypadlinc button state seems to trigger the open and close programs as well.

 

How can I prevent the status change from triggering the other programs?

 

Thanks!

Link to comment
  • 3 weeks later...

Hi,

 

The ELSE-part of a program is very difficult to use, almost impossible. With both a THEN and an ELSE part, a program is always true and always do something. Either the THEN is true OR the ELSE is true, but something must be true.

 

Here, I posted a complete garage door management program :

http://forum.universal-devices.com/viewtopic.php?t=2834

 

It is much longer and more complicated than yours, but it works.

 

A difference is the use of 2 variable for the door status instead of 1. If they are both On or both Off, the door is closed. If they are both On, I left home, so next time I will be coming in. If they are both Off, I'm home and next time, I will be leaving. The program manages the lights depending of the case : turning everything off when leaving, turning the garage and stairs On when coming.

 

When the door is opened, I switch only the first of the 2 variables and the second is adjusted only once the door is closed. This way, the controller knows if the door is opening or closing and does not revert it too soon, like your program does. (Mine did it too at first, but I fixed it :-)

 

My program will try to close the door on its own. Be sure your installation is safe and properly protected before letting the door moves on its own.

 

Should you need help for adjusting my program to your need, don't hesitate and ask for it.

 

Jacques B.

Link to comment

I think it is your else command in the garage door status program. Try making that into two programs one for on and one for off instead of using the else.

 

I had a similar thing happen when trying to use the else command for a program to create a toggle. It would turn on then a a second or two later turn back off. I rewrote it as two programs and it worked fine.

Link to comment

Actually, the problem I encountered was all due to some old program triggering the IOLinc as well when the sensor state changed. Removing the old program addressed the issue. The programs described work correctly now.

 

It might be a handy to have a search feature to look for device references in a group of programs, just to make sure one doesn't have some old references lying about!

Link to comment

matapan,

 

You do have that feature called Find/Replace. Right mouse click on My Program and choose that menu item.

 

With kind regards,

Michel

 

Actually, the problem I encountered was all due to some old program triggering the IOLinc as well when the sensor state changed. Removing the old program addressed the issue. The programs described work correctly now.

 

It might be a handy to have a search feature to look for device references in a group of programs, just to make sure one doesn't have some old references lying about!

Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...