Author |
|
cmhardwick Senior Member
Joined: July 08 2006 Location: United States
Online Status: Offline Posts: 290
|
Posted: March 28 2007 at 18:35 | IP Logged
|
|
|
What could be happening is, since all the switches change virtually simultaneously, some are being missed.
You could set the KPL to trigger a macro. One line of the macro would set the global variable, another would turn on the group of lights.
Just a thought. I'm at work, so can't dig into it on my system to look at things.
Someone may have mentioned this, but couldn't you just have a trigger that went off when ANY of the 6 was turned off that would check the status of all the switches. if ALL the status come back OFF, then do the command to turn off the KPL button? This would take longer however, as you'd have to wait for PH to check each device. .... never mind
Edited by cmhardwick - March 28 2007 at 18:37
__________________ Cicero, Enjoying automation!
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: March 28 2007 at 21:20 | IP Logged
|
|
|
Jeremy,
I carefully read your post of what you've done and have found a couple of problems.
The first was where the global variable was not initialized with a value. To make sure everything is synchronized, make sure that every light in the basement is off. Also make sure that PowerHome Device Status screen thinks that the light is off. With that all synchronized, set the BASEMENT_CNT global variable to 0 and save.
The other major error is in you line below:
Code:
Action:if({BASEMENT_CNT}=0,ph_insteongroupcu ("PLCGROUP253ID","BASEMENTKPLID",ioff),ph_insteongroupcu (PLCGROUP253ID","BASEMENTKPLID",ion))
|
|
|
The "PLCGROUP253ID" should be replaced with the ID that you assigned to your PLC group 253, in your case, I believe you named it "DOWNSTAIRSLIGHTS". Also, the "BASEMENTKPLID" string should be replaced with whatever ID you've assigned to the KPL. This should get this formula working so that it will start controlling the KPL button 4 light. Sorry for not making this more clear .
The other potential problem is in your 3 way (4 way) switch setup. If I understand correctly, you've got a master switchlinc with the load connected and two other switchlincs that are virtual controllers without the load connected. These 3 switches are all cross-linked so that the single load is controlled. If this is the case, you should be able to simplify your setup a little. It should technically still work however (I think), but you really only need a trigger per load controlling light (4 total if I read everything correctly). You really only need to increment/decrement the count global when a load changes state.
The last thing I would do is adjust the action formula for your 6 (4) switchlinc triggers. The original formula was:
Code:
ph_addtoglobal("BASEMENT_CNT",if([LOCAL10] = 0, - 1,1))
|
|
|
I would probably change this to
Code:
ph_addtoglobal("BASEMENT_CNT",if([LOCAL10] = 0,if({BASEMENT_CNT} > 0, - 1,0),if({BASEMENT_CNT} < 6,1,0)))
|
|
|
In the code above, change the 6 to a 4 if you reduce your switchlinc triggers from 6 to 4.
With everything in place, I would test each section individually. With the BASEMENT_CNT variable synchronized to your switches, I would turn on a single light downstairs. Verify that the BASEMENT_CNT variable is now set to 1. Remember that the PowerHome Explorer does not automatically update and must be manually refreshed. If the Global Variables screen is the current window, then just press the F5 key to save/refresh the data. If the variable updated, then the KPL button 4 should also have turned on. Check the event log and make sure that the triggers and Insteon commands all appear properly. I would then turn off the light you turned on and verify that the BASEMENT_CNT variable is now 0. Also check the KPL button, it should have turned off. Check the log again for proper entries. Next try turning on a couple of lights and verifying the values. Then try mixing it up. Turning on 3 lights, multiple turning a couple of lights on and off multiple times. As long as a single light is always on, we should never hit 0 and the KPL should button should still be lit. See if the count tracks properly.
Let me know how it goes,
Dave.
|
Back to Top |
|
|
jeremybe Newbie
Joined: March 15 2007
Online Status: Offline Posts: 39
|
Posted: March 29 2007 at 18:32 | IP Logged
|
|
|
Thank you..Dave - I completed some testing and it was working for a while and then something threw off the count so it stopped - I'm going to go through various scenarios and post what causes the count to go off - I'll be away till Tuesday in NYC, but I'll post some updates when I get back.. Almost there.. It almost works :)
Edited by jeremybe - March 29 2007 at 19:53
|
Back to Top |
|
|
jeremybe Newbie
Joined: March 15 2007
Online Status: Offline Posts: 39
|
Posted: April 07 2007 at 10:38 | IP Logged
|
|
|
I've been trying to test the solution all day yesterday and today - The triggers are not being kicked off when I turn on/off a button downstairs - It seems like the PLC isn't seeing any activity at all - When I look in the event viewer, I do not see any triggers firing - Yet when I control a device manually through the device status screen, the trigger gets kicked off - Any ideas??? I ordered a couple more filters and a few more Signalinks in hope that this will help.. Any ideas?
I see the following in my log:
PLC:SRIR=send failed
ui:srir=00 00 00 07 F1 55 45 11 FD
uifinished:srir=00 00 00 07 F1 55 45 11 FD
si:05 0F 0D 07 F1 55 45 11 FD
PLC:eventraw=03
PLC:eventraw=04
PLC:receiveinsteonraw=04 07 F1 55 05 0F 0D 61 11 FD
4/7/2007 11:02:03 AM:ackmsg=07.F1.55:ON at 99%
PLC:SRIR=send failed
ui:srir=00 00 00 07 F1 55 45 11 FD
uifinished:srir=00 00 00 07 F1 55 45 11 FD
si:05 0F 0D 07 F1 55 45 11 FD
PLC:eventraw=03
PLC:eventraw=04
PLC:receiveinsteonraw=04 07 F1 55 05 0F 0D 61 11 FD
4/7/2007 11:02:08 AM:ackmsg=07.F1.55:ON at 99%
PLC:SRIR=send failed
ui:srir=00 00 00 07 F1 55 45 11 FD
uifinished:srir=00 00 00 07 F1 55 45 11 FD
si:05 0F 0D 07 F1 55 45 11 FD
PLC:eventraw=03
PLC:eventraw=04
PLC:receiveinsteonraw=04 07 F1 55 05 0F 0D 61 11 FD
4/7/2007 11:02:13 AM:ackmsg=07.F1.55:ON at 99%
PLC:SRIR=send failed
ui:srir=00 00 00 07 F1 55 45 13 FD
uifinished:srir=00 00 00 07 F1 55 45 13 FD
si:05 0F 0D 07 F1 55 45 13 FD
PLC:eventraw=03
PLC:eventraw=04
PLC:receiveinsteonraw=04 07 F1 55 05 0F 0D 61 13 FD
4/7/2007 11:02:18 AM:ackmsg=07.F1.55:OFF at OFF
PLC:SRIR=send failed
I have no idea why my reliability seems to have gone downhill...
Edited by jeremybe - April 07 2007 at 17:39
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: April 11 2007 at 20:55 | IP Logged
|
|
|
Jeremy,
If the PLC can control a device but does not seem to be able to "see" messages that the device sends, then one possible cause could be that the device is not in the PLC database. To eliminate this possibility, open the Insteon Explorer and go to the "Setup" tab. Just to make sure that everything is "up to date", I would "Download" the core application followed by "Clear" the PLC database followed by "Add" PowerHome Insteon Device ID's to PLC. After performing these steps, see if the PLC can see commands from the remote devices. The other thing to make sure of is that the remote devices are linked to the PLC with the device as a controller and the PLC as a responder. If after all of the above still doesnt work, then you most likely have a signal problem and more SignaLincs may help improve the signal.
Dave.
|
Back to Top |
|
|
jeremybe Newbie
Joined: March 15 2007
Online Status: Offline Posts: 39
|
Posted: April 14 2007 at 16:12 | IP Logged
|
|
|
Dave- Thanks I went through those steps and I purchased 2 more SignaLincs as well - All is working now
I just completed testing the implementation of the KPL monitoring the lights - I made the changes so that there are only triggers for the lights with Loads - So I have the 3 triggers for my load/lights and my one trigger for BASEMENT_CNT - One of the triggers is my Switchlink in my media room "BSMT-MEDIA ROOM" for some reason whenever this switchlink is turned on it increments BASEMNT_CNT +2 sometimes even +3- Looking at the event log, I see either 2 or 3 trigger checks- If I turn it on via device control it only increments it by 1 - If its turned on via the Keypad it only increments as 1 as well - When I turn it off via the switchlinc it usually decrements by 2.- I am not sure why it is behaving in this manor and it's throwing things off... Its frustrating me a driving me nuts!
Here's the log when this is happening:
4/15/2007 10:56:56 PM:ackmsg=08.4C.84:ON at 99%
PLC:eventraw=03
PLC:eventraw=03
PLC:eventraw=03
PLC:SRIR=send failed
ui:srir=00 00 00 08 4C 84 45 11 FD
uifinished:srir=00 00 00 08 4C 84 45 11 FD
si:07 F7 D5 08 4C 84 45 11 FD
PLC:eventraw=03
PLC:eventraw=04
PLC:receiveinsteonraw=04 08 4C 84 07 F7 D5 65 11 FD
4/15/2007 10:57:01 PM:ackmsg=08.4C.84:ON at 99%
PLC:eventraw=03
PLC:SRIR=send failed
On a whim I installed a new Switchlinc thinking that maybe it was detecting a double tap, but the new one does the same, still increments by 2
Any ideas??
Thanks for your help! SO close......
I'm wondering if Twombles approach (earlier in the thread) might work better for me since it doesn't deal with incrementing a variable, but rather setting the variable to On or Off - Your help is really appreciated my wife is telling me I'm waking up in the middle of the night saying things like "trigger", Insteon" and "Powerhome"
Edited by jeremybe - April 15 2007 at 23:06
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: April 16 2007 at 17:33 | IP Logged
|
|
|
Jeremy,
Concerning the incrementing by two...how many lights does the BSMT-MEDIA ROOM switchlinc actually control? If the BSMT-MEDIA ROOM switchlinc controls itself in addition to another light, then this would be correct. If the BSMT-MEDIA ROOM switchlinc is controlling only itself, then it sounds as if the Insteon Device Chg trigger for BSMT-MEDIA ROOM does not have the "Boolean" field set with the proper formula: [LOCAL9] <> [LOCAL10] and ([LOCAL9] = 0 or [LOCAL10] = 0)
Another thing to check is whether or not "PowerHome" thinks that the BSMT-MEDIA ROOM switchlinc controls any other lights (in the Links tab of the Insteon Explorer).
If none of these turn out, you may want to post a snippet of your PowerHome eventlog showing the incoming insteon and trigger checks that are performed. I may be able to spot something that is causing this.
You could certainly use Twombles approach. I would probably just make a slight modification to use the new ph_getinsteonlevelrt command so that you actually get a current status request of the devices from PowerHome. It will cause more Insteon traffic but I would suspect it may end up being more accurate and less prone to error in the long run.
Let me know,
Dave.
|
Back to Top |
|
|
jeremybe Newbie
Joined: March 15 2007
Online Status: Offline Posts: 39
|
Posted: April 16 2007 at 18:22 | IP Logged
|
|
|
Dave-
I verified everything, the BSMT_MEDIA ROOM is only controlling one light - The only responder is the PLC - I verified that the Boolean is correct as well - Here's the event log showing the activity:
Time_stamp type &nbs p; event info & nbsp; sequence
4/16/2007 18:15:18.156 31 &nbs p; Insteon DM Controller HOUSELINC_PLC transmission of Address:[08.4C.84] Flags:[69] Cmd1:[17] Cmd2:[253]. Decode: Group Cleanup. ID: KEYPAD Group: 253, On &nbs p;245
4/16/2007 18:15:13.265 11 &nbs p; Trigger check of BASEMNT_CNT performed. &n bsp; 244
4/16/2007 18:15:13.25 16   ; Global variable BASEMENT_CNT changed from 1 to 2   ;243
4/16/2007 18:15:13.25 11   ; Trigger check of 1 performed. &n bsp; 242
4/16/2007 18:15:13.078 31 &nbs p; Insteon DM Controller HOUSELINC_PLC transmission of Address:[08.4C.84] Flags:[69] Cmd1:[17] Cmd2:[253]. Decode: Group Cleanup. ID: KEYPAD Group: 253, On &nbs p;241
4/16/2007 18:15:13.015 11 &nbs p; Trigger check of BASEMNT_CNT performed. &n bsp; 240
4/16/2007 18:15:13 16 &n bsp; Global variable BASEMENT_CNT changed from 0 to 1   ;239
4/16/2007 18:15:12.828 11 &nbs p; Trigger check of 1 performed. &n bsp; 238
4/16/2007 18:14:36.171 31 &nbs p; Insteon DM Controller HOUSELINC_PLC transmission of Address:[08.4C.84] Flags:[69] Cmd1:[19] Cmd2:[253]. Decode: Group Cleanup. ID: KEYPAD Group: 253, Off &nb sp;237
If you dont see anything - Any chance you can layout what I would need to do to get Twombles approach working? I've gotten some triggers to work, but I'm still strugg;ing along- I really do appreciate your help - I only have 3 devices that are carrying a load:
BSMNT_MEDIA ROOM, BSMNT-OVERHEAD and BSMNTT-STAIRS-UP
Thanks again
dhoward wrote:
Jeremy,
Concerning the incrementing by two...how many lights does the BSMT-MEDIA ROOM switchlinc actually control? If the BSMT-MEDIA ROOM switchlinc controls itself in addition to another light, then this would be correct. If the BSMT-MEDIA ROOM switchlinc is controlling only itself, then it sounds as if the Insteon Device Chg trigger for BSMT-MEDIA ROOM does not have the "Boolean" field set with the proper formula: [LOCAL9] <> [LOCAL10] and ([LOCAL9] = 0 or [LOCAL10] = 0)
Another thing to check is whether or not "PowerHome" thinks that the BSMT-MEDIA ROOM switchlinc controls any other lights (in the Links tab of the Insteon Explorer).
If none of these turn out, you may want to post a snippet of your PowerHome eventlog showing the incoming insteon and trigger checks that are performed. I may be able to spot something that is causing this.
You could certainly use Twombles approach. I would probably just make a slight modification to use the new ph_getinsteonlevelrt command so that you actually get a current status request of the devices from PowerHome. It will cause more Insteon traffic but I would suspect it may end up being more accurate and less prone to error in the long run.
Let me know,
Dave.
|
|
|
|
Back to Top |
|
|
|
|