-
Posts
4640 -
Joined
-
Last visited
Everything posted by Jimbo.Automates
-
Garage door control with KPL and Mobilinc
Jimbo.Automates replied to Jimbo.Automates's topic in ISY994
I was asked to post them from a topic in another forum, so here they are... All the programs are contained inside my Garage/GDM folder to better organize them. GDM=Garage Door Middle. I am not responsible for your garage door being open when you think it should be closed! I have tried every possible combination and have not seen the scene status fail to be correct. If you try these programs please make sure to check the actual status of the IOLinc sensor! For me this is easy in Mobilinc, where I make the scene a favorite, then I can check the status of the sensor when I click on that scene. Otherwise just look out your door to make sure it is closed Notes: [*:2e2f5bax]The scene being controlled is 'Garage / GarageDoorMiddle' [*:2e2f5bax]The object 'Garage / GarageDoorMiddle-Sensor' is the IOLinc sensor for that door, and is in the scene as a controller. [*:2e2f5bax]The object 'Garage / GarageDoorMiddle-Relay' is the IOLinc relay and is not in any scene, and it is in ‘Momentary B’ mode. [*:2e2f5bax]The object 'ZZ-Buttons / Front House D (GDM)' is one of my KPL buttons in the scene as a responder. [*:2e2f5bax]The KPL buttons must be in toggle mode, which is the default. [*:2e2f5bax]My setup uses the magnetic switch which is NO (Normally Open), which is NOT what the current smarthome kits come with. But, a few changes to the logic would make a NC switch work as well. [*:2e2f5bax]The text below each program is from the 'Comment' section... Would be nice if the UDI copy to clipboard function said that. [*:2e2f5bax]I have removed all the ‘Else’ sections since they are not used anywhere. [*:2e2f5bax]I hope I copy and pasted everything correct... Sure would be nice if the UDI admin console could spit all this out for a folder... This has been requested a couple times, but seems to have no or very low priority [*:2e2f5bax]I guess I could attach the 'exported' xml for the folder, but I have no idea how that would work for someone else since it contains my device specific information. Again, feel free to comment or critique! I want these to work the best possible way so any input is ok. Program: 000 ButtonOff If $i.GDM_DontWatch is 0 And Status 'ZZ-Buttons / Front House D (GDM)' is Off Then $i.GDM_RequestedStatus = 0 $s.GDM = 1 Function: When the button state is changed, remember if it was changed to on or off and start up the state machine. Details: All the '000' programs monitor the status of the KPL that is tied to the GDM Scene. We only have to monitor one of them, since when the scene is changed by any of KPL or Mobilinc it will affect all of them. The main state variable for all GDM programs is s.GDM, which tells us where in this state machine we are. We do not monitor that state variable in the 000 programs because other programs within this state machine will toggle the scene on and off, which in turn changes the button state, so while the state machine is running we ignore running the 000 programs using the i.GDM_DontWatch integer variable. The i.GDM_RequestedStatus stores if the request was to close (0) or open (1). Program: 000 ButtonOn If $i.GDM_DontWatch is 0 And Status 'ZZ-Buttons / Front House D (GDM)' is not Off Then $i.GDM_RequestedStatus = 1 $s.GDM = 1 See '000 ButtonOff' for a description. Program: 001 DoorStateFalse If $s.GDM is 1 And ( ( $i.GDM_RequestedStatus is 0 And Status 'Garage / GarageDoorMiddle-Sensor' is On ) Or ( $i.GDM_RequestedStatus is 1 And Status 'Garage / GarageDoorMiddle-Sensor' is Off ) ) Then $s.GDM += 1 Function: We have just entered the state machine from a KPL button changing state. If the requested door status does not match the door sensor status then go to the next state. Info: It seems that we could tie the check of the sensor status into the 000 Button* states, but that does not work correctly because it would trigger the 000 state when the sensor status changes but the button status has not changed yet. This is because I have the sensor as a controller for the GD scene because I want to see the sensor as part of the scene in Mobilinc. Program: 001 DoorStateTrue If $s.GDM is 1 And ( ( $i.GDM_RequestedStatus is 0 And Status 'Garage / GarageDoorMiddle-Sensor' is Off ) Or ( $i.GDM_RequestedStatus is 1 And Status 'Garage / GarageDoorMiddle-Sensor' is On ) ) Then $s.GDM = 10 Function: We have just entered the state machine from a KPL button changing state. If the requested door status matches the door sensor status then we are done. Info: See DoorStateFalse for info. Program: 002 Init If $s.GDM is 2 Then $i.GDM_DontWatch = 1 $s.GDM_Counter = 10 $s.GDM += 1 Function: The door was requested to move, so initialize variables used in the state machine and go to the next state. i.GDM_DontWatch: 1=Don't watch the state changes of the KPL's s.GDM_Counter: Loop counter for '002 Loop' program s.GDM: Main state variable, go to state 2 Program: 002 Trigger If $s.GDM is 2 Then Set 'Garage / GarageDoorMiddle-Relay' On Function: The door was requested to move, so trigger it. Note: This could have been done in the Init program, but that delays the flashing of the scene for longer than I like... The IOLinc relay is in Momentary B mode so it is triggered by both on and off. I think this is important since I don't turn it off, although I could, but I don't care what state the relay is in. Program: 003 DoorStatusClosed If $s.GDM is 3 And $i.GDM_RequestedStatus is 0 And Status 'Garage / GarageDoorMiddle-Sensor' is Off Then Set Scene 'Garage / GarageDoorMiddle' Off $s.GDM = 10 Function: While in the state and the door was requested to close, when the door is closed we are done. Make sure the scene is off and go to the cleanup state. Program: 003 DoorStatusOpen If $s.GDM is 3 And $i.GDM_RequestedStatus is 1 And Status 'Garage / GarageDoorMiddle-Sensor' is On Then Set Scene 'Garage / GarageDoorMiddle' On $s.GDM = 10 See DoorStatusClosed for a description. Program: 003 Loop If $s.GDM is 3 And $s.GDM_Counter > 0 Then Set Scene 'Garage / GarageDoorMiddle' Off Wait 1 second Set Scene 'Garage / GarageDoorMiddle' On Wait 1 second $s.GDM_Counter -= 1 Function: Toggle the scene on and off so the KPL buttons and Mobilinc icon change state. This gives visual feedback that we are waiting for the door. Decrement the counter s.GDM_Counter each time, which tracks our timeout function, and causes this program to restart until the counter reaches zero. We could have made the counter be the s.GDM... Oh well... (I wish the 'Wait' could use a variable!) Program: 003 Timeout If $s.GDM_Counter is 0 And $s.GDM is 3 Then $s.GDM += 1 Function: If the s.GDM_Counter has reached zero while we are in the waiting state, then the door did not reach the state that was requested! So go into state 3 which handles the failures. (I had a reason for not handling them in this state, but can't remember why...) Program: 004 FailedClose If $s.GDM is 4 And $i.GDM_RequestedStatus is 0 Then Set Scene 'Garage / GarageDoorMiddle' On Resource 'Pushover-GDM-Close-Error' $s.GDM = 10 Function: There was a request to close the door, but we timed out waiting. Make sure the scene is on since this state machine toggles the scene we are not sure where it ended up. Send a notification to tell us that there was a problem! Go to state 10 which does the cleanup. Note: I wonder if there could be a race condition... If the door sensor status happens to change after TimeOut and before this is triggered? But I really don't think that will happen... Program: 004 FailedOpen If $s.GDM is 4 And $i.GDM_RequestedStatus is 1 Then Set Scene 'Garage / GarageDoorMiddle' Off Resource 'Pushover-GDM-Open-Error' $s.GDM = 10 See FailedClose for a description. Program: 010 Done If $s.GDM is 10 Then $i.GDM_DontWatch = 0 $s.GDM = 0 State machine is all done so start watching again. -
I have tried every suggested setup from this forum and the Mobilinc forum that I could dig up over the last few months to have accurate status and control of my garage doors using a KPL button and Mobilinc but could never get exactly what I want. I'm a little OCD, so I need it to be perfect The main features I want [*:25t1o0yz] A Scene that accurately shows open/close status tied to a KPL button. The basics of this are easy, but it is not always accurate. The main problem is, say the garage door is open, the scene is on, and I press the KPL button. The scene is immediately turned off, and the garage door is triggered, which is correct. But, say there is something in they way of the garage door and it does not actually close. The KPL button stays off. IMO this seems like a weakness in INSTEON and/or the ISY... Meaning, if I ask a scene to turn off and the controller of that scene (the IOLinc status) never turns off, that scene should not be off. [*:25t1o0yz] One button, a scene, in Mobilinc that shows accurate door status and allows pushing the button to control the door. Essentially solving the previous one also solves the status issue, and if done correctly allows for control as well. Also, as part of this, I want the garage door sensor to be in the scene so it is easy to double check the sensor inside that scene in Mobilinc. Each of these on there own are fairly easy to solve, but at least for me, solving the both was a challenge. So I decided to write the programs in state machine style to solve this, and after a few hours of it working and testing all possible combinations, I think I finally have it. While it does exactly what I want from above, it also has some extra features: [*:25t1o0yz]When the scene is toggled with the KPL button or Mobilinc, the KPL button flashes on and off every couple of seconds until the door reaches the requested state, or it times out. Then makes sure the scene in the proper state based on the door status. This also results in the Mobilinc icon alternating between on/off. I really like having the feedback that something is happening. [*:25t1o0yz]If the above timeout happens and the door is not in the requested state, it sends a notification. Of course, it also properly handles everything when the door is manually opened or closed... If anyone is interested in seeing the programs, or if you want to critique them, I could post them, although since it's 13 little programs that is a real pain.... Or if you have a much simpler way to accomplish at least the 2 main features, I would be interested.
-
I was thinking the same thing today. To write something to pull the folder of programs using another program in Perl or whatever and reformat it with bbcode to copy and paste to forums. Sharing in a forum for help and comments would be nice. Using a zip file to export and import would be good for reuse. Sent from my SAMSUNG-SGH-I337 using Tapatalk 4 Beta
-
I asked for that a while ago and was told it would be very low priority. I think people would be more willing to share larger examples if it was not so tedious. Sent from my SAMSUNG-SGH-I337 using Tapatalk 4 Beta
-
Thanks for confirming. Now I just wish autelis would get some devices in stock! Sent from my SAMSUNG-SGH-I337 using Tapatalk 4 Beta
-
jtara92101, Does it look like this: http://awesomescreenshot.com/0391hxq5c9 and if so, don't you see the Admin console selection? That's what I see when I access mine from outside my network. #6 Here shows how to bring up the console a few different ways. http://forum.universal-devices.com/viewtopic.php?f=25&t=11533 - Jim
-
I had the same issue with my rules that ran the notification inside the then section. Even manually executing the then did not send a notification. I "updated" the notification run in that command to exactly what it already was, then saved all programs and it started working again. I just recently added notifications and updated to the latest 4.0.5 release, but I can't remember what order they were done, but it could have been an issue with updating. - Jim
-
I realize this is an old post, but why do you need both iAqualink and the Autelis?
-
Issue with IOLink & Genie Powermax 1500
Jimbo.Automates replied to Jimbo.Automates's topic in ISY994
I finally received it and had time to hook it up. The only problem is that it only responds to on commands, which will both open and close the door. It took a while to figure out how to get it working. Finally got it working both on its own by pushing the the button on the iolink, and with a KPL. But, can't get mobilinc working properly, it seems to always send on/off, ignoring how the iolink is configured. Guess I'll post something in the end mobilinc forum now. Sent from my Nexus 7 using Tapatalk HD -
Issue with IOLink & Genie Powermax 1500
Jimbo.Automates replied to Jimbo.Automates's topic in ISY994
Just in case anyone else has this issue, I emailed Genie and they responded with: If you are connecting a non-series III device to the unit it will need to be connected to the BWC using a dry contact kit part number 38013r. Please contact our office with any questions at 800-354-3643. Also, I found this post on how to connect it to the wall button: http://www.perceptiveautomation.com/use ... 64&p=57237 I've ordered the part because I'd rather not run the wire to the wall switch. - Jim -
Issue with IOLink & Genie Powermax 1500
Jimbo.Automates replied to Jimbo.Automates's topic in ISY994
I was wondering about that, but there are 2 connections available on the unit one is "Wall Console" and the other is "Intelligent Wall Console" so I was hoping the first one would work, but it wouldn't. I'll try your suggestion. Thanks, - Jim -
I have the Garage door kit installed, but I'm not able to get the IOLink to trigger the opener. In the manual it says: Wall consoles from other manufacturers may not work with openers of these serial number groups. Use only the wall console provided with this unit. Each wall console has three buttons. http://www.manualowl.com/m/Genie/PowerM ... 933?page=8 The wiring diagram seems pretty standard: http://www.manualowl.com/m/Genie/PowerM ... 33?page=20 Anyone have a clue why this would not work? Thanks, Jim
-
What causes this error in my event log? Sun 12/16/2012 11:11:35 AM : [FileOpen ] Open failed for [/CONF/FF0901.REC] ® Sun 12/16/2012 11:11:35 AM : DB: Cannot load /CONF/FF0901.REC Sun 12/16/2012 11:11:35 AM : [FileOpen ] Open failed for [/CONF/FF0902.REC] ® Sun 12/16/2012 11:11:35 AM : DB: Cannot load /CONF/FF0902.REC That address does not match any of my devices? Or is it from my 2 X10 devices? Thanks, Jim