Author |
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 21 2007 at 15:43 | IP Logged
|
|
|
I have the tabletop controlinc on each of my night tables. I also have a keypad for my burgular alarm (Elk) in the bedroom, but it's near the door to the bedroom. My wife (it's always about the wife) "forgets" to arm the burglar alarm before going to bed, but always remembers to turn off the lights. I was thinking, it would be really cool if I could detect her pushing the "All Off" button and use that to trigger arming the alarm system. The SimpleHomeNet IO module would certainly work well for this, but I was thinking, what if PH could emulate a virtual insteon switch? I'm not super smart about the insteon protocol, but this virtual switch was a part of a scene, when the button was pushed to activate that scene, wouldn't the PLC see that address? And then couldn it pass that to PH, where PH could then do something cool? Like arm a burglar alarm?
Skip
|
Back to Top |
|
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: May 21 2007 at 21:11 | IP Logged
|
|
|
I don't think it would be near that complicated (no need for any IO module). I would suggest that you make an Insteon "all off" trigger, and then have it fire a macro.
In the macro I would check a couple of things prior to doing anything. I would first check the time of day (to make sure it is near bedtime), and I would also check the Elk status (is the system already armed?).
While my Elk system is now down (so I can't check these commands), I believe this is all quite do-able with the Elk and Insteon functionality already within the lastest version of PH.
For Elk system status:(cut from the help menu)
"Support for the Elk specific control commands is available using the ph_ctlrcmd and ph_ctlrcmd1 functions. The specific controller command values and parameters are detailed below. To send an "Arming Status Request" command, the function would look like: ph_ctlrcmd1("ELKID",120,0,0,"","",1)"
For the Insteon "all off" trigger: I would make a group called "All Lights", and use a group in trigger. This may take some fooling with to get right, but I DO THINK it is possible with no additional hardware.
Best of Luck
Edited by smarty - May 21 2007 at 21:12
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 21 2007 at 23:08 | IP Logged
|
|
|
Well, the way the controlinc works with the "all off" command, is that it sends the off signal to every receiver that is linked to the controlinc, so I suspect it would be different that the generic insteon all off command (is there even such a thing? A single command that will turn off all receivers, no matter what group(s) they are in?) But if there is a way to see what was sent, and what controller sent it, then it may be doable. Unfortunately, I've yet to write my first macro, so I'm still quite the newbie when it comes to PH and macros.
I still think it would be cool to have virtual devices like that in PH. For all I know, it may already do that.
I hope that you are right, and as I get into the manual more, I will certainly keep your idea in mind.
Skip
|
Back to Top |
|
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: May 22 2007 at 08:44 | IP Logged
|
|
|
I will fool with this more in the next day or two. While my Elk is down, I DO HAVE a ControLinc and some Insteon switches still hooked up.
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: May 22 2007 at 21:23 | IP Logged
|
|
|
Ok, had some time to play with this.....
When I press the "All Off" button on my ControLinc, I see the following entry in my PH event log (make sure you have "Insteon In" enabled in your log set-up):
"Incoming Insteon received on Insteon DM controller POWERLINC-USB. From Address:[00.78.C7] To Address:[00.00.FF] Flags:[207] Cmd1:[19] Cmd2:[0]. Decode: Group Broadcast. From: CONTROL LINC Group: 255, Off"
From this information, I then can set up a trigger (type is "Insteon Group In"), Trigger ID is "Control Linc" (or whatever you named your control linc device). The trigger ID number is "255", and trigger value is "Off".
As a side note, I believe group 255 is a special group. This group contains all insteon devices (so All Off and All On will work). You don't have to do anything to set this default group up, it just works. Maybe someone else can explain it better.
Hope this helps,
Steve
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 27 2007 at 21:00 | IP Logged
|
|
|
Very cool. I now have a trigger set up such that when I push "All Off" on my ControLinc, it arms my M1G to "Stay mode". Very simple to do. Just set up a trigger like this:
Action Type: Raw Formula
Action: ph_ctlrsq("ELK",121,"009999",2,1) *replace the 9999 with your four-digit arm code
Action Style: queued
Status: active
Trigger Type: Insteon Group In
Trigger ID: MY_CONTROLINC *just select your controlinc from the dropdown list
Trigger ID Number: 255
Trigger Value: Off
Boolean: 1
I couldn't have done it without you, Steve. Thanks.
Skip
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 30 2007 at 21:12 | IP Logged
|
|
|
Arghhhhh!!! ^&$%@)&@##!!!!!
All of a sudden, this isn't working any more. When I push the all off buttons on any of my three controlincs, I dn't see any message in the PH log. If I push any of the 5 group buttons, I do get the log entries. The lights turn off like they are supposed to, but I'm not seeing the log entries. I do have a link to the PLC as a responder for each group, so it should be included in the signal, but alas,no such luck. Arghhhh *&%#$#(&!!!!
Can I make my request again for a virtual Insteon device?
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 30 2007 at 21:33 | IP Logged
|
|
|
Further research is revealing that PH is only receiving the group cleanup commands when I press one of the group buttons, but I get nothing from the All On or All Off buttons. Again, the lights turn on and off as expected, but PH just isn't seeing it. To summarize, I am not receiving any of the group commands, just the group cleanups.
The SDM doesn't show any traffic when I press the All On or All Off buttons either.
Edited by MrGibbage - May 30 2007 at 21:35
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: May 30 2007 at 21:52 | IP Logged
|
|
|
Skip,
It sounds as if your PLC has "forgotten" the address of your ControLinc.
The Insteon protocol is complicated and everything has to be perfect for all to work. Even though you've got a link with the ControLinc as a controller and the PLC as a responder, if the PLC doesnt have the address of the ControLinc in it's little database of "known" devices, then it will ignore messages (mostly) from your ControLinc.
To fix this, open the Insteon Explorer and navigate to the "Setup" tab. Click "Clear" Insteon Device ID's from PLC followed by "Add" device ID's to PLC. This should refresh the memory of your PLC and hopefully cause it to respond to the ControLinc group commands.
Dave.
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: May 30 2007 at 22:13 | IP Logged
|
|
|
Yep, that did it. I always wondered what those buttons really did :)
Skip
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: December 25 2007 at 13:14 | IP Logged
|
|
|
I've been using this for quite a while now, and for the most part it work *pretty good* (tm) However, it seems to misfire a lot. I haven't kept actual data on it, but I would guess that about one time out of ten I have to push the "All Off" button twice to make the system arm. I don't seem to have any unreliability issues anywhere else except here. Any suggestions or thoughts?
The more I think about it, the more a virtual insteon device seems to make sense and seems like it would be very practical. Would something like this even be possible?
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 25 2007 at 14:18 | IP Logged
|
|
|
I think you're running into the generic problem with group commands - the 'cleanups' commands (i.e., the handshake) is aborted if there's any other traffic. Try backing off your scan interval (assuming you're running a frequent scan).
Personally, I don't run any scans because I want the channel clear for cleanup commands (buttonpresses from KPLs have the same problem) and for X-10 traffic
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: December 25 2007 at 14:40 | IP Logged
|
|
|
No scans here at all. I don't like the blinking of the LED on the controlinc, so I disable it altogether.
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 25 2007 at 14:43 | IP Logged
|
|
|
well, is there any other traffic at the times the command is 'unreliable'?
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: December 25 2007 at 18:46 | IP Logged
|
|
|
Nope, always late at night, just pressing the "All Off" button. THat's it.
|
Back to Top |
|
|
jeffw_00 Super User
Joined: June 30 2007
Online Status: Offline Posts: 929
|
Posted: December 25 2007 at 19:31 | IP Logged
|
|
|
I'm a bit fuzzy on this - but since group commands aren't acked - if the powerline path from the CL to the PL is noisy, that could be an issue
/j
|
Back to Top |
|
|
MrGibbage Super User
Joined: October 23 2006 Location: United States
Online Status: Offline Posts: 513
|
Posted: December 25 2007 at 23:32 | IP Logged
|
|
|
And that's why I was thinking if there was a virtual insteon device that lived in PH, it would solve problems like these.
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: December 30 2007 at 19:54 | IP Logged
|
|
|
I think the problem you're seeing is with the Insteon All Off/All On methodology. As explained elsewhere, the All on/all off is accomplished by sending a group command to group 255. Of course, group commands are not ACK'ed so you then need to fall back and hope that the group cleanups get through. However, group commands to group 255 (all on/all off) DO NOT generate group cleanup commands (presumably it could be a large number of commands with potential duplication). Just an FYI, dim and bright commands do not generate group cleanups even on normal group numbers.
Sooo, in this case, you really only get a single group command from a ControLinc and it could be lost if a device has anything less than perfect communications. I think SmartHome realized the weakness in this scenario since the all on/all off on the RemoteLinc actually sends the group command multiple times (I used to know the number but cant put my hands on it at the moment...but 4 comes to mind).
You could probably minimize the problem by creating a PLC group with the same devices that are in the ControLincs all on/all off group and then have a trigger that sends the same command to the PLC group. But even here, you're relying on the single ControLinc all on/all off group command being heard by the PLC.
I re-read the first post concerning a virtual Insteon switch and am trying to think of how something like this could be implemented. Based upon your first post, it really sounds as if you'd like PowerHome to respond to the all on/all off press from the ControLinc...something that it can do with a trigger. But, I think Im starting to get an idea of what you mean by a virtual Insteon switch. You couldnt have a real "virtual" switch with an address that is actually programmed into "real" devices since this would cause alot of invalid Insteon traffic...ie, say we have a virtual Insteon device with a "make-believe" address of aa.bb.cc. If this address (that doesnt physically exist) were programmed into an actual physical Insteon device, when the real device sends a group command, if all goes well, it will follow it with a group cleanup command...to a device that doesnt exist. This command will then be repeated multiple times until it times out and finally NAK's. However, if this "virtual" device did not have actual links in physical devices but instead had "virtual" links that only PowerHome was aware of, then when the group command from the physical device was heard, then PowerHome would update the "virtual" device appropriately because it thinks that the links in the PowerHome database are actual. You could then have a trigger on the "virtual" device to do something.
This is something that I could implement in PowerHome. It would be an advanced concept though and could possibly confuse users, perhaps not. I think that everything that a virtual device could offer can already be achieved with the existing triggers...perhaps not since I havent thought it fully through. If anyone has any thoughts on this, feel free to post and let me know what you think.
Dave.
|
Back to Top |
|
|
CV27 Newbie
Joined: January 17 2008 Location: Canada
Online Status: Offline Posts: 9
|
Posted: March 19 2008 at 21:13 | IP Logged
|
|
|
Hey dave,
Her's another twist on the virtual Insteon device.
My IRlinc is working great on its own, Dimming light A to 40% and light B to 25% when I press my remote's 'play' button. Both lights go to full when I press 'pause'. Only thing is, I don't want those lights to flip flop if it's 2 PM. So what I would like is to have PowerHome 'detect' an ON command to Virtual_device-1 from the IRlinc and then, if PH determines it's night time, have PH send the appropriate commands to lights A and B.
P.S: Yeah, I'll admit it, I'm trying to get your attention on supporting the IRlinc
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: March 20 2008 at 23:00 | IP Logged
|
|
|
CV27,
I think a virtual Insteon device is a good thing. I use them in my own setup for the RemoteLinc to fire triggers. Ive been able to do this by creating bogus Insteon addresses for non-existant devices and setting them to inactive. Not the most intuitive way, but it works somewhat.
Now to just figure out the best way to implement a virtual Insteon device. I could have a separate column as a flag in the database, but then that wouldnt show on Device Status screens so you could see if a device is virtual or not. The other choice is to make the first character of a virtual Insteon device address a "V" so a sample virtual Insteon device address may look like V2.00.A5. This has the advantage of no database changes required and quick knowledge that the device is virtual on existing screens.
Concerning the IRlinc...Ive just ordered one. Once it gets in, I'll be able to see what's necessary for adding support. As far as I can tell, there's not much to really do. If I understand correctly, you can already create links via the Insteon Explorer. The only other thing that I would think you would want to do is fire triggers on particular IR commands which should be doable now by linking the IRlinc to the PLC and firing on the appropriate trigger. If there's more to the IRlinc or Im mistaken, please let me know .
Dave.
|
Back to Top |
|
|