BriG Posted May 7, 2013 Posted May 7, 2013 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.
oberkc Posted May 7, 2013 Posted May 7, 2013 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.
oberkc Posted May 7, 2013 Posted May 7, 2013 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.
BriG Posted May 7, 2013 Author Posted May 7, 2013 Bummer. I was hoping for some kind of clever program or scene that could unify the two. Like a virtual keypad or something.
oberkc Posted May 7, 2013 Posted May 7, 2013 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.
BriG Posted May 7, 2013 Author Posted May 7, 2013 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.
oberkc Posted May 7, 2013 Posted May 7, 2013 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.
BriG Posted May 7, 2013 Author Posted May 7, 2013 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.
Xathros Posted May 7, 2013 Posted May 7, 2013 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
MWareman Posted May 7, 2013 Posted May 7, 2013 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.
Xathros Posted May 8, 2013 Posted May 8, 2013 It's an Integer NOT a state variable for that and a few other reasons. Note the i.Dad... instead of s.Dad... -Xathros
BriG Posted May 8, 2013 Author Posted May 8, 2013 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...
oberkc Posted May 8, 2013 Posted May 8, 2013 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.
Xathros Posted May 8, 2013 Posted May 8, 2013 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
oberkc Posted May 8, 2013 Posted May 8, 2013 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.
Xathros Posted May 8, 2013 Posted May 8, 2013 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
MWareman Posted May 8, 2013 Posted May 8, 2013 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.
MWareman Posted May 8, 2013 Posted May 8, 2013 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.
BriG Posted May 22, 2013 Author Posted May 22, 2013 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
LeeG Posted May 22, 2013 Posted May 22, 2013 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.
BriG Posted May 24, 2013 Author Posted May 24, 2013 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?
oberkc Posted May 24, 2013 Posted May 24, 2013 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.
BriG Posted May 26, 2013 Author Posted May 26, 2013 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.
oberkc Posted May 26, 2013 Posted May 26, 2013 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.
Recommended Posts