Jump to content

Garage Door Control & Status


BriG

Recommended Posts

This may be addressed. If so, I apologize, but my search on garage door came up with hundreds of hits...

 

I have the Mobilinc iOS app to work with my ISY. I have the Insteon I/O Linc garage door kit. I want to setup a single scene or program in my ISY that will both indicate garage door status and allow me to open or close the door. I have a HydroFLASH sprinkler controller that has basic Insteon integration, and does this. The trick is that the ISY presents the relay and sensor as two separate devices, but I really want to somehow bridge them together and have the sensor's status indicate whether the door is opened or closed. And, I would like that bridged device's commands to send open or close instructions to the relay. With the current environment in Mobilinc, it is two devices and I have to look at one to see the status of the door and the other to actually close or open the door.

 

I do not have any KPL or other physical devices that control the door. I just want to have an easy thing in my Mobilinc interface.

Link to comment
I want to setup a single scene or program in my ISY that will both indicate garage door status and allow me to open or close the door.

 

To my knowledge, this cannot be done with Mobilinc. I believe you will need to observe the sensor for garage status and use the relay for garage control. Perhaps there is someone who has figured this out and can report. If so, I will learn along with you.

 

As an aside, I use the android version and my wish is for widgets that can be configured for one-touch commands, for things like garage doors.

Link to comment
I want to setup a single scene or program in my ISY that will both indicate garage door status and allow me to open or close the door.

 

To my knowledge, this cannot be done with Mobilinc. I believe you will need to observe the sensor for garage status and use the relay for garage control. Perhaps there is someone who has figured this out and can report. If so, I will learn along with you.

 

As an aside, I use the android version and my wish is for widgets that can be configured for one-touch commands, for things like garage doors.

Link to comment
Like a virtual keypad or something.

 

Me, too. Bring it up in the mobilinc forum. The company response has always been a little cool towards the idea, either because a percieved lack of demand or out of concerns that someone could accidentally activate something without knowing.

Link to comment

I posted over there. After reading a few of their posts and replies, I am surprised at how disconnected they may be from human-machine interaction. MobiLinc HD is a very pretty interface, but all it does is digitally recreate the physical switches and control panels. They need to get away from that metaphor and remember that they are writing for a tablet (or phone) and that presenting a visual representation of a SwitchLinc is kind of regressive.

Link to comment
I am surprised at how disconnected they may be from human-machine interaction

 

I don't know that I would describe it as "disconnected", but rather as failing to think bigger. I percieve that they are limiting thier view of Mobilinc as a PHONE program (with inherent risks/rewards when one is physically away from the house), and failing to consider how tablets can be used as dedicated whole house controllers, unconstrained by any concerns about unintended-and/or-unkown presses of widgets and icons.

 

but all it does is digitally recreate the physical switches

 

But it does not even do this. If it did, your problem (and mine) would be solved. A physical switch can both display status of one scene and act as scene controller for another. A physical switch can issue a command by a single press. A physical switch can be part of MANY scenes. Mobilinc devices can do none of these things. I actually think a virtual insteon switch, duplicating an insteon switch or insteon keypad button, would be a HUGE improvement.

 

MobiLinc HD is a very pretty interface,

 

I don't use the iOS version, but I find that the very core of apple products often trade function for pretty (ever notice where the power button is on a Mac?) iOS apps are almost universally "prettier" than the android counterparts. I have often wondered if iOS tends to make iOS apps also biased in such a way.

 

remember that they are writing for a tablet

 

Yup.

Link to comment

Getting back to the garage door thing... it seems like there ought to be a way to create a combination of a scene and program on the ISY that could do this for me and look right on the MobiLinc.

 

For example if I could have a scene that turning on would open the door and turning off would close the door. Then, the status of the scene would be off when the door was closed and on when the door was open. If I created a scene with I/O Linc relay as the responder, then I supposed that turning the scene on and off would actually trigger the I/O Linc directly. So, that would not give me the ability to set the scene's status based on the status of the I/O Linc sensor. But, this is only my third or forth day with the ISY, so I am still massively clueless to its potential.

 

It seems like most people have a garage door scene that has a KPL as the controller. Then, they use a program to control the KPL's light to indicate whether the door is opened or closed. Someone out here must have a garage scene that manages the door without a KPL and unifies status and control into one interface.

 

oberkc - I agree with all of your points. Apple is very pretty, but sometimes the IQ goes down in favor of looks.

Link to comment

All-

 

Sorry for the delay, been distracted over the last week or so.

 

I have this working well with Mobilinc. It took me a while to work out the details. Here is how it works:

 

I did not use any scenes other than for managing KPL button statuses. (Scene 'Garage / Garage-Dad')

My Favorite in Mobilinc is a program. I run Then as the favorite press.

I use an integer variable that follows door status. Open = 1, Closed = 0

The If Statement in the program only looks at the integer variable.

 

 

I turn the relay off after 10 seconds because I like it to say off - doesn't need to be there.

 

This is my Open Close program (Run then from Mobilinc)

If
       $i.Dad_GD_Status is 1

Then
       Set 'Garage / Garage Door IOLinks / GD- Dad Garage Door Relay' 100%
       Wait  10 seconds
       Set 'Garage / Garage Door IOLinks / GD- Dad Garage Door Relay' Off


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

 

This Program Monitors Door Status:

If
       Status  'Garage / Garage Door IOLinks / GD- Dad Garage Door Sensor' is Off

Then
       Set Scene 'Garage / Garage-Dad' Off
       Resource 'Syslog-SECRTY - Dad Garage Door Closed'
       $i.Dad_GD_Status  = 0
       $i.Dad_GD_Status Init To $i.Dad_GD_Status
       Run Program '.Dad-Open-Close' (Else Path)

Else
       Set Scene 'Garage / Garage-Dad' 100%
       Resource 'Syslog-SECRTY - Dad Garage Door Opened'
       $i.Dad_GD_Status  = 1
       $i.Dad_GD_Status Init To $i.Dad_GD_Status

 

The whole point of the $i.Dad_GD_Status mvar is to allow the initial program status to be true or false for mobilinc status feedback. The program runs true whenever you run then. Status monitor runs Else (False) when door is fully closed. I have set custom statuses in ML that say Opened for True and Closed For False.

 

Hope that makes sense.

 

-Xathros

Link to comment

Xathros,

 

Looks like I'm going to update my garage door programming. That looks neat.

I have but one question.

 

If the garage door is open and you reboot the ISY, doesn't the door get closed essentially uncommanded - since the state variable will be 1 and the program will run the then branch of boot of the ISY.

 

I'm not sure I would want that - even though the chance of the ISY rebooting while the door is open is, I agree, slight.

 

Michael.

Link to comment

It's an Integer NOT a state variable for that and a few other reasons. Note the i.Dad... instead of s.Dad...

 

-Xathros

Link to comment

This is very cool. I am still learning, so I probably only half-understand it. But, my old programming and EE background is coming back fast. Thank you very much. Now, if there was only a way to present this more attractively in MobiLinc...

Link to comment
This is very cool

 

Indeed, it is. I had failed to realize that program status was shown in mobilinc listing, nor to recognize how to exploit this. Cool, indeed.

 

Now, if there was only a way to present this more attractively in MobiLinc

 

Which led me to ponder using a widget for this, since widgets allow use of neat pictures and icons. Unfortunately, it appears that widgets do not show status. Too bad. That would have been nice.

Link to comment
This is very cool. I am still learning, so I probably only half-understand it. But, my old programming and EE background is coming back fast. Thank you very much. Now, if there was only a way to present this more attractively in MobiLinc...

 

I set the custom Icon on the favorite to "Garage Door Reversed" and it represents the proper door status in its dual mode icon.

One other tip: set the custom status for "Running Then" to "Door in motion"

 

-Xathros

Link to comment

Xathros,

 

This is turning into a mobilinc clinic. Thanks.

 

Unfortunately, I am beginning to suspect that the differences in iOS and Android (my version) versions are starting to come out. I don't believe I can change the icon of a program. I also don't see custom "status" (at least for programs).

 

Hopefully BriG can take advantage of this.

Link to comment
Xathros,

 

This is turning into a mobilinc clinic. Thanks.

 

Unfortunately, I am beginning to suspect that the differences in iOS and Android (my version) versions are starting to come out. I don't believe I can change the icon of a program. I also don't see custom "status" (at least for programs).

 

Hopefully BriG can take advantage of this.

 

Yeah. I just looked over Mobilinc on my Galaxy Tab and I'm afraid you are quite correct. The Android version seems to be somewhat less mature than the iOS and these features, I'm fairly sure, will come with time.

 

For those on the iOS version of Mobilinc, here are some screenshots:

 

 

 

 

FWIW, The Very Pretty iPad MobilincHD falls short on the custom program icons too!

 

Mobilinc Tip: The "." prefix in .Dad-Open-Close and .Mom-Open-Close is to force these two favorites to sort to the top of the list. Seems the only way to force things to the bottom is to prefix with a "z".

 

-Xathros

post-1437-140474159193_thumb.jpg

post-1437-140474159194_thumb.jpg

Link to comment
Xathros,

 

This is turning into a mobilinc clinic. Thanks.

 

Unfortunately, I am beginning to suspect that the differences in iOS and Android (my version) versions are starting to come out. I don't believe I can change the icon of a program. I also don't see custom "status" (at least for programs).

 

Hopefully BriG can take advantage of this.

Indeed, it seems that when you favorite a program on Android, you cannot favorite the 'Run ....' branches. Clicking the favorite pops up a 'which path do you want to run' menu. Very annoying.

 

Works perfectly on IOS though. Got the icons all setup and put that favorite on the camera page viewing the door. Just about as perfect as it gets. Thanks again Xathros.

 

Michael.

Link to comment
It's an Integer NOT a state variable for that and a few other reasons. Note the i.Dad... instead of s.Dad...

 

-Xathros

Gotcha - I forgot that. Thanks for clarifying.

 

Michael.

Link to comment
  • 2 weeks later...
I have this working well with Mobilinc. It took me a while to work out the details. Here is how it works:...

I use an integer variable that follows door status. Open = 1, Closed = 0

The If Statement in the program only looks at the integer variable.

 

I turn the relay off after 10 seconds because I like it to say off - doesn't need to be there.

 

This is my Open Close program (Run then from Mobilinc)

If
       $i.Dad_GD_Status is 1

Then
       Set 'Garage / Garage Door IOLinks / GD- Dad Garage Door Relay' 100%
       Wait  10 seconds
       Set 'Garage / Garage Door IOLinks / GD- Dad Garage Door Relay' Off


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

 

This Program Monitors Door Status:

If
       Status  'Garage / Garage Door IOLinks / GD- Dad Garage Door Sensor' is Off

Then
       Set Scene 'Garage / Garage-Dad' Off
       Resource 'Syslog-SECRTY - Dad Garage Door Closed'
       $i.Dad_GD_Status  = 0
       $i.Dad_GD_Status Init To $i.Dad_GD_Status
       Run Program '.Dad-Open-Close' (Else Path)

Else
       Set Scene 'Garage / Garage-Dad' 100%
       Resource 'Syslog-SECRTY - Dad Garage Door Opened'
       $i.Dad_GD_Status  = 1
       $i.Dad_GD_Status Init To $i.Dad_GD_Status

 

The whole point of the $i.Dad_GD_Status mvar is to allow the initial program status to be true or false for mobilinc status feedback. The program runs true whenever you run then. Status monitor runs Else (False) when door is fully closed. I have set custom statuses in ML that say Opened for True and Closed For False.

 

Hope that makes sense.

 

-Xathros

Xanthros, thanks again. I have been tinkering with the programs above, and I have a few follow-on questions...

 

My "Garage Door Opener" (first program) is always false. It seems like it should run the Then when the integer is switched to 1. However, it does not seem to occur. Here's my puzzle. If I run the Then clause from MobiLinc to open/close the door, that works. If it opens the door, the Then clause runs and that is it: the status of the program changes to True, and MobiLinc interprets that as "Open." If it closes the door, then the status program runs the Else clause after the door closes. This seems to work normally.

 

However, what should happen when the door is opened by the GDO button or a remote? In that case, it does not appear that anything happens in the first program. The status remains False, and it does not run, per the program summary tab in the ISY.

 

The other alternative is that if the status program saw door open and sets the variable to 1, then it seems like the first program would run the then clause and cause the door to immediately close again. I feel like I am missing something.

 

Here is the exact code of my two programs:

"Garage Door Opener"

If
       $Garage_Status is 1

Then
       Set 'Garage Door Opener' On

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

 

"Garage Door Status"

If
       Status  'Garage Door Status' is On

Then
       Send Notification to 'Brian MMS' content 'Garage Door Closed'
       $Garage_Status  = 0
       $Garage_Status Init To $Garage_Status
       Run Program 'Garage Door Opener' (Else Path)

Else
       Send Notification to 'Brian MMS' content 'Garage Door Opened'
       $Garage_Status  = 1
       $Garage_Status Init To $Garage_Status

Link to comment

Garage Door Opener Program cannot be triggered by a change in the Variable value because it is an Integer variable. Integer variables cannot trigger Programs. The example provided is run using a Run Then from MobiLinc, not from the variable value changing.

 

“This is my Open Close program (Run then from Mobilinc)â€

 

There is a complete forum Category for variables. The very first post describes how variables work which explains that the only difference between an Integer and State variable is that Integer variables never trigger Programs.

Link to comment

Thanks, again, that helps as I am learning my way through the ISY... This leads to a couple more questions.

 

1) If an integer variable cannot trigger a program, then what is the point of evaluating the variable in the IF clause of the Garage Door Opener program.

 

2) Is there a way to set the Garage Door Opener program to True by any other means than executing the Then clause? (In other words, how can I make its status true if the door is opened by another means?

Link to comment
If an integer variable cannot trigger a program, then what is the point of evaluating the variable in the IF clause of the Garage Door Opener program.

 

In general, programs can be triggered by a few things. One is that the program includes at least one condition that, itself, triggers the program. Another is that it can be triggered by a call from another program (run program xxx if path). A third is that it can be triggered manually through mobilinc. Under the latter two options, the integer variable condition will be evlauated.

 

Is there a way to set the Garage Door Opener program to True by any other means than executing the Then clause?

 

I don't believe so. A program condition is, I understand, simply an indication of which path it last ran.

Link to comment

Next learning question... What is the purpose of setting and evaluating the variables at all in these two programs? It seems like they would behave exactly the same without the variable. Xanthros was very specific about making it an integer instead of a state variable, but I do not know what purpose it serves.

Link to comment

I assume that the purpose of the variable is to allow closing of the door, but not opening.

 

This program WILL behave differently because of the variable. When called (triggered) by mobilinc, the path it takes will be based upon the value of the variable.

Link to comment

Archived

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


×
×
  • Create New...