Jump to content

Garage door control with KPL and Mobilinc


Jimbo.Automates

Recommended Posts

Post the Program(s).

 

ANDing multiple KeypadLinc buttons does not sound correct. More likely they need to be ORed with existing logic. Placement of parens is also important.

 

Also how were the additional KPL buttons added to the Scene(s).

Link to comment

Ok, I tried "OR"ing them and adding the additional KPL button as a responder in the scene, but it doesn't seem to work:

 

000 Button Off

If 
       $iGarageDoorMonitorLeft_DontWatch is 0
   And (
            Status  'Foyer 8KPL Island Lights / Foyer 8KPL Garage Right Butto' is Off
         Or Status  'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is Off
       )

Then
       Resource 'Syslog - Left Garage Program 000 ButtonOff'
       $iGarageDoorMonitorLeft_RequestedStatus  = 0
       $sGarageDoorMonitorLeft  = 1

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

 

000 Button On

If
       $iGarageDoorMonitorLeft_DontWatch is 0
   And (
            Status  'Foyer 8KPL Island Lights / Foyer 8KPL Garage Right Butto' is not Off
         Or Status  'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is not Off
       )

Then
       Resource 'Syslog - Left Garage Program 000 ButtonOn'
       $iGarageDoorMonitorLeft_RequestedStatus  = 1
       $sGarageDoorMonitorLeft  = 1

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


 

The Foyer button works fine alone. When I modify the programs as above nothing works - pushing either button toggles it on, but doesn't do anything to the doors. I have a syslog monitor (the Network Resource) and you can see the output here (this was me pushing one of them on at 18:25:35, then turning it off at 18:25:45).

post-6621-14047416453_thumb.png

Link to comment

These Programs are not set up to handle multiple KPL buttons. One Program concludes the button is On, the other concludes the button is Off. That does not relate to having multiple buttons where one button is On and the other button is Off.

 

I suggest waiting until the original author comes back from vacation and can redesign the Programs.

Link to comment

Much can depend on how you have your buttons configured. Are they in "Non-toggle" mode?

 

 

Are you using the same button to show status and to control? As far as the buttons showing status, i assume putting them in the same scene, as responders, would accomplish this.

 

I must admit that your use of "resources" is beyond my experience, so I am not getting a handle on how these programs are supposed to execute and how they interface with your garage door opener. Still, have you tried "control" versus "status" in the conditions? I am wondering aloud if you have some keypad conditions which are changing as a result of the program execution.

Link to comment

I had it configured exactly as jimsearle had originally posted. The only exception I made was I have two sensors - one for door closed and one for door open, and I used them to verify the status (not relevent here).

 

I was successful in implementing this through 'brute force'. I left the original programs exactly as described, and programmatically had the additional KPL button toggle the original garage door scene and update it's own status. Here are my four programs if they are helpful for someone. I'm hoping someone has thoughts on how to incorporate the additional KPL button into the original program, but this works for now (I accept this is inelegant / ugly).

 

Program one: Master Bedroom Off - if the status of the additional Master Bedroom KPL button gets set to off, trigger the scene in the original set of programs to off. This closes the garage door.

 

If
       Status  'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is Off

Then
       Set Scene 'Garage Door Monitors / GarageDoorLeft' Off

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

 

Program two: Master Bedroom On - if the status of the additional Master Bedroom KPL button gets set to On (=not off), set the original garage door scene to on; opens the door.

If
       Status  'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is not Off

Then
       Set Scene 'Garage Door Monitors / GarageDoorLeft' On

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

 

Program three: Master Bedroom Status Closed - if the status of the garage door is closed, turn off the light on the additional KPL button. This was accomplished by adding just the additional KPL button to its own scene as a responder, and setting that scene to off.

If
       Status  'Garage Door IOLincs / Garage Door Left / Garage Door Left Closed' is On

Then
       Set Scene 'Garage Master Bed KPL Right B' Off

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

 

Program four: Master Bedroom Status Open - if the status of the garage door is open, turn on the light on the additional KPL button. This was accomplished by adding just the additional KPL button to its own scene as a responder, and setting that scene to on.

 

If
       Status  'Garage Door IOLincs / Garage Door Left / Garage Door Left Open' is On

Then
       Set Scene 'Garage Master Bed KPL Right B' On

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

Link to comment
  • 3 weeks later...
I am back from vacation and can try to look into this tomorrow. I just wanted to verify that this was your final status before I looked at it.

 

Here's where I landed - I stopped touching the scenes themselves and just used the KPL's as independent switches. They still don't work 100% reliably - would appreciate your feedback on the best way to approach this.

 

Program 1: Master Bedroom off

 

If
       Control 'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is switched Off

Then
       Run Program 'Garage Left Door Close' (If)

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


 

Program 2: Master Bedroom On:

 

If
       Control 'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' is not switched Off

Then
       Run Program 'Garage Left Door Open' (If)

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

 

Program 3: Master Bedroom Status Closed:

 

If
       Status  'Garage Door IOLincs / Garage Door Left / Garage Door Left Closed' is On

Then
       Set Scene 'Garage Master Bed KPL Right B' Off

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


 

Program 4: Master Bedroom Status Open:

 

If
       Status  'Garage Door IOLincs / Garage Door Left / Garage Door Left Open' is On

Then
       Set Scene 'Garage Master Bed KPL Right B' On

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


 

 

As I said, I still don't think this is working reliably (though not sure why).

Link to comment

There are, I notice, a couple of other programs referenced: 'Garage Left Door Close', and 'Garage Left Door Open'. It might help to post those, as well. It is hard to picture what you are trying to accomplish with some of the pieces missing.

 

Is 'Master Bedroom 8KL / Master Bedroom 8KL - Garage R' part of the scene 'Garage Master Bed KPL Right B'?

would appreciate your feedback on the best way to approach this.

 

I have looked back at the thread, and I am a little uncertain what "this" is. If your intention is to see the status and control a garage door from the same keypad button, or from several buttons around the house, I prefer scenes. I find the method in the wiki to be the best approach.

 

- Locate the sensor in such a way that ON = Open. The location should be such that it is OFF only when fully closed, otherwise ON.

- configure the keypad button (or buttons, if more than one) as NON-TOGGLE ON

- configure the IOLinc relay to respond to ON commands

- create a scene with the button (or buttons) as controller and relay as responder

- create another scene with sensor as controller and button (or buttons) as responder

 

Everything works together in such a way that if you don't have the IOLinc configured properly, the keypad configured properly, the sensor mounted in the correct location, the correct sensor, and the controller/responder relationship properly set up, it will not work well. Using programs is likely just as dependent on attention to these details.

Link to comment
oberck, the difference between this setup and the one on the wiki is detailed in the op.

 

I will try to find time later this week or this weekend to add a second button to one of my doors and test it.

 

Jim

 

Sent from my Nexus 5 using Tapatalk

 

I looked back upon your original post. Unfortunately, the problem you describe (false OFF conditions) is not one that I experience. If set up as described (with the KPL in non-toggle ON mode), there is only one way for the keypad to be off (barring comm problems)...if the sensor tells it to be so. So...I remain a little confused as to what problem is being solved here. Of course, there is more risk of false OPEN indications, but I consider this the lesser of two problems.

 

Another thing I am struggling with is the evolving approach of jdm5. As I read through the various posts, I start to suspect I am unsure what he is trying to accomplish and what problem is being solved here.

Link to comment

Overall goal: have 2 KPL's in the house control the same garage door.

 

One tied to the original (OP's) program, other function similarly (open/close indicator + pushing button toggles open/close, and the original program function accurately.

 

Does that make sense? I wonder if I'm overthinking it, but not sure how to get this working in a good/logical way.

Link to comment

I can tell you both that I have not two, but three, keypad buttons which both control my garage doors, with all three providing an indicator regarding status (ON= OPEN). I did it just as I described, just as the wiki described. The suggested approach handles just fine the condition where one tried to close a door, but the door automatically reverses itself.

 

Overall goal: have 2 KPL's in the house control the same garage door
.

 

No problem.

 

One tied to the original (OP's) program, other function similarly (open/close indicator + pushing button toggles open/close, and the original program function accurately.

 

I use NO programs, so if your goal is specifically to use a given program rather than rely exclusively on scenes, then my suggested approach will fail to meet such a given "need". If, however, your goal is simply to have an indication of door status with the same button that controls the door, I continue to recommend the wiki approach.

Does that make sense? I wonder if I'm overthinking it, but not sure how to get this working in a good/logical way.

 

I suspect you are thinking in terms of solutions rather than requirements. I think you should think of your needs in terms of function and interface (press button, door closes/opens. same button displays status.) rather than solution (use a program). Yes, I think you are making it harder than it needs to be.

Link to comment
  • 11 months later...
  • 2 months later...

I had been using Jimbo's programs successfully for several months then they stopped working. I have been working non-stop to fix. I have completely re-entered them. I then felt I may have some communication issues. I added 2 Range extenders. Nothing is working at this point. Is this still working for everyone? Has there been any updates or changes to the programs? Any help would be appreciated. I not sure how to read the logs but this is when it fails:

 

 

Thu 07/16/2015 05:17:55 PM : [iNST-TX-I1  ] 02 62 00 00 1B CF 11 00

Thu 07/16/2015 05:17:55 PM : [iNST-ACK    ] 02 62 00.00.1B CF 11 00 06          LTONRR (00)

Thu 07/16/2015 05:17:55 PM : [D2D EVENT   ] Event [34 DD 16 5] [sT] [255] uom=0 prec=-1

Thu 07/16/2015 05:17:55 PM : [  34 DD 16 5]       ST 255

Thu 07/16/2015 05:17:55 PM : [D2D-CMP 001E] STS [34 DD 16 5] ST op=6 Event(val=255 uom=0 prec=-1) != Condition(val=0 uom=0 prec=-1) --> true

Thu 07/16/2015 05:17:55 PM : [D2D-CMP 001D] STS [34 DD 16 5] ST op=1 Event(val=255 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false

Thu 07/16/2015 05:18:01 PM : [iNST-TX-I1  ] 02 62 00 00 1B CF 11 00

Thu 07/16/2015 05:18:01 PM : [iNST-ACK    ] 02 62 00.00.1B CF 11 00 06          LTONRR (00)

Thu 07/16/2015 05:18:18 PM : [iNST-TX-I1  ] 02 62 00 00 1B CF 13 00

Thu 07/16/2015 05:18:18 PM : [iNST-ACK    ] 02 62 00.00.1B CF 13 00 06          LTOFFRR(00)

Thu 07/16/2015 05:18:18 PM : [D2D EVENT   ] Event [34 DD 16 5] [sT] [0] uom=0 prec=-1

Thu 07/16/2015 05:18:18 PM : [  34 DD 16 5]       ST   0

Thu 07/16/2015 05:18:18 PM : [D2D-CMP 001E] STS [34 DD 16 5] ST op=6 Event(val=0 uom=0 prec=-1) != Condition(val=0 uom=0 prec=-1) --> false

Thu 07/16/2015 05:18:18 PM : [D2D-CMP 001D] STS [34 DD 16 5] ST op=1 Event(val=0 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> true

Thu 07/16/2015 05:18:27 PM : [iNST-TX-I1  ] 02 62 00 00 1B CF 11 00

Thu 07/16/2015 05:18:27 PM : [iNST-ACK    ] 02 62 00.00.1B CF 11 00 06          LTONRR (00)

Thu 07/16/2015 05:18:27 PM : [D2D EVENT   ] Event [34 DD 16 5] [sT] [255] uom=0 prec=-1

Thu 07/16/2015 05:18:27 PM : [  34 DD 16 5]       ST 255

Thu 07/16/2015 05:18:27 PM : [D2D-CMP 001E] STS [34 DD 16 5] ST op=6 Event(val=255 uom=0 prec=-1) != Condition(val=0 uom=0 prec=-1) --> true

Thu 07/16/2015 05:18:27 PM : [D2D-CMP 001D] STS [34 DD 16 5] ST op=1 Event(val=255 uom=0 prec=-1) is Condition(val=0 uom=0 prec=-1) --> false

 

Thanks, Mike

Link to comment

Here's the fix for the power outage issue, read the comments for more info. Also, like I mention in the comments, I did change the '000 ButtonOn' to use '100%' instead of of 'not Off' which probably would fix it as well, but I didn't test it.

 

If
        $i.GDM_DontWatch is -1
    And (
             Status  'ZZ-Buttons / Front House D (GDM)' is Off
          Or Status  'ZZ-Buttons / Front House D (GDM)' is 100%
        )
 
Then
        $s.GDM  = 10
 
Function:
Make sure everything is correct after a reboot.

Details:
Since I have to monitor the "status" of buttons and not "control", 
both of the 000 Button On or Off programs will be triggered on boot
up of the ISY, and one of them should be true.
On a normal reboot of just the ISY it all works properly because the 
button states are correct.  But for some reason during a power outage 
the button status has not been correct.  I think this is because the 
button is neither off nor on since the KPL is also rebotting, but I 
am not sure since I don't want to really force a power outage to the 
ISY & KPL at the exact same time.  Originally the ButtonOn program used
'not Off' (because I don't like seeing 100%) so I think that was the
root cause, but either way this program makes me feel better...

So, the i.GDM_DontWatch has it's init value as -1, so when the ISY
boots up, the 000 Button Off and On will not ever be true.  This
program runs the 010 Done, which resets the state.  Hopefully the
door was not in motion during the power outage, but I don't think
I need to worry about that.
Also, set the 'Init To' in '010 Done':

 

If
        $s.GDM is 10
 
Then
        $i.GDM_DontWatch  = 0
        $s.GDM  = 0
        $i.GDM_DontWatch Init To -1

 
State machine is all done so start watching again.

Jimbo, the above change is to the 000 ButtonOff correct? Thought I was getting somewhere but still not working. When setting up the variables for first time all values are 0 to begin with?

 

Thanks again, Mike

Link to comment
  • 3 months later...

I have had this running for several months now and have only one small problem.  Perhaps it is my particular implementation, but the keypadlinc button is not updating its state when the original manual push button is used.  This button is mounted in the garage on the wall and is therefore the most convenient method of closing-opening the door when I am in the garage.

 

I think based on this statement in the original post by the author this function was intended:  

 

"Of course, it also properly handles everything when the door is manually opened or closed..."

 

It seems like it may have at one time worked for me, but I had to re-cap my PLM a month or so ago and some switches got kind of flaky afterward and the link table had to be somewhat re-built.  I am not sure if it did ever work and I have rebuilt the iolinc and keypadlinc (deleted and replaced) and the PLM link table shows them to be OK.

 

My install is maybe somewhat different in that I am using a limit switch (normally open contacts) mounted on top of the opener that is tripped by a cam-block attached to the openers chain near the trolley.  Functionally, I am sensing when the door is open instead of the typical magnetic switch which is usually mounted near the floor and senses when the door is closed.  I have changed the program slightly (003 Doorstatusclosed -> sensor on and 003 Doorstatusopen ->sensor off) to compensate for this. 

 

Was this the original intention of the program?  If so, can you point me in the direction of how to debug this?  It may be a timing issue as my method does not immediately update the door open until it is fully open due to the switch location.  The door has to be fully open for the limit switch to change states.  Conversely, my install does immediately sense when the door is closing.

 

I can't say I am really happy about using the IOlinc in this type of install.  It seems that due to only having one input, the doors position can only be positively sensed either fully open or fully shut.  I have a EZIO 2x4 that I am thinking about re-purposing due to this.

 

Thanks for any help anyone can provide.

 

Dave

Link to comment

Hi Dave-

 

Assuming a link table problem, try a Restore Device on both the KPL and the IOLinc and test again.

 

If it were me, I would relocate the limit switch to the door closed end of the track to have a positive indication that the door is closed.

 

-Xathros

Link to comment

Thanks for the quick reply, Xathros.

 

I tried again the restore device but it didn't help.  I had tried this at least twice already, but wanted to be sure.

 

For just a bit more info, the keypadlinc does not update when the in-car button is used either.  This is not a surprise, but I just tried it to verify.

 

I agree about the position of the door.  I am looking into changing either the placement of the chain-cam or going to the EZIO unit.

 

Dave

Link to comment

Post your programs.  I will see whats going on.  Normally, the IOLinc sensor would be a scene controller with the KPL LED(s) as responders. 

 

Why not just move your switch to the other end of the track to sense when the cam is in the closed position?  At worst all you would need to do is extend the wire.

 

-Xathros

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...