Author |
|
cmhardwick Senior Member
Joined: July 08 2006 Location: United States
Online Status: Offline Posts: 290
|
Posted: August 27 2007 at 21:28 | IP Logged
|
|
|
Ok, another question:
I have a macro that updates another program with the level of my devices (20%, 30%, etc). I noticed that when PH sets a lamplinc to a certain level (other than on/off) the level is reported correctly, but if I control that lamplinc via a KPL or ControlLinc, the level wasn't changing. It would show ON or OFF but no dim level change. I then pulled up the PH device status page and they weren't updating there either. All my devices are linked as controllers and responders to my PLC, however, I know lamplincs can't truly be controllers.
As a prime example, my living room lights were turned on full while I was cleaning, PH shows 100%, external program shows 100%. I then dimmed them to about 50% (where they normally are in the evening) using the KPL controlling them. PH still shows 100%. If I do ph_getinsteonstatrt, I get the correct level.
Even after doing this command, PH doesn't update the database.
Anyone know of a way to correct this? Something in the model of lamplinc I've got? (it does it on all 5 of them).
Edit: Actually, now I'm noticing it on all my dimmers, lamplincs or signallincs. Changes made via PH show correct level, made at the switch just show on or off.
Edited by cmhardwick - August 28 2007 at 22:41
__________________ Cicero, Enjoying automation!
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: August 31 2007 at 17:26 | IP Logged
|
|
|
I tested your scenario but did not experience your problem. I thought maybe it might be something related to polling but I think somewhere we have already had that discussion. Maybe Tony or Dave, when he gets beamed up, can shed some light on it.
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
TonyNo Moderator Group
Joined: December 05 2001 Location: United States
Online Status: Offline Posts: 2889
|
Posted: August 31 2007 at 18:41 | IP Logged
|
|
|
I believe polling is the only thing that will catch this. When it gets the status, it will update the DB.
|
Back to Top |
|
|
cmhardwick Senior Member
Joined: July 08 2006 Location: United States
Online Status: Offline Posts: 290
|
Posted: September 01 2007 at 10:45 | IP Logged
|
|
|
polling isn't catching it either. for some reason the data isn't being updated, but I can get the correct value with the ph_getinsteonstatrt formula no problem, except then, since the level is different than the database, it triggers the insteon change trigger and I get a loop
__________________ Cicero, Enjoying automation!
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: September 01 2007 at 10:55 | IP Logged
|
|
|
From a previous post "What version are you on Pete? I'm still on 10." Have you considered going to R11 although I'm not optimistic that will resolve your problem.
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
cmhardwick Senior Member
Joined: July 08 2006 Location: United States
Online Status: Offline Posts: 290
|
Posted: September 01 2007 at 18:13 | IP Logged
|
|
|
I've been leary of going to 11 because of issue several people reported. This seems to be the only problem i'm having with 10. Hopefully 12 will be out soon, or Dave will chime in with something
__________________ Cicero, Enjoying automation!
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: September 01 2007 at 19:50 | IP Logged
|
|
|
I think the Energizer batteries are running low... We'll see when he beams up Scotty....
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: September 02 2007 at 20:14 | IP Logged
|
|
|
Cicero,
PowerHome should be catching this (it works on my system) but there are a couple of areas where this could get hung up. An explanation of the way it's supposed to work would probably help.
Say you have a KPL linked to a LampLinc and a SwitchLinc. The KPL is a controller and the LampLinc and SwitchLincs are responders. When you press the KPL button on, you'll get a group broadcast saying to turn on that group. You should then get a couple of group cleanup commands saying to turn on as well. These are hit and miss though based upon other Insteon traffic. However, since it's a direct command, it must be acknowledged and if it's sent, it will most likely get through. So far, so good.
If the PLC has the KPL in it's internal database (this is different from a link and you can make sure with the "Clear PLC Database" and "Add ID's to PLC" on the Setup tab of the Insteon Explorer), then the group broadcast command as well as the group cleanup commands will be seen by the PLC and reported to PowerHome. PowerHome will react to these commands and should update status appropriately. If the PLC ALSO has the LampLinc and SwitchLinc in it's internal database, then it will also see and respond to the ACK commands sent back from the group cleanup commands (assuming they were sent). I know, it can get confusing and overwhelming, but it sounds as if this part is working (mostly). If the PLC did not have the KPL in it's internal database then PowerHome would not hear the group broadcast or group cleanup commands. However, if the LampLinc and SwitchLinc were in the PLC database, then PowerHome would hear and respond to the ACK commands for the group cleanups. IE, things may not be 100% setup properly, but in this case, most of the times, it'll still work. Also, whatever links are in the devices, PowerHome must also be aware of them in order for all of this to work properly.
Whew...now lets look at a dimming command. Same situation as above, KPL linked to a SwitchLinc and a LampLinc. When you press and hold the KPL button, a "Start Manual Change" group broadcast is sent out. If the LampLinc and SwitchLinc are properly linked (and if they hear the command), they'll start dimming at a predetermined rate. They will continue to dim until they hear the "Stop Manual Change" group broadcast from the KPL which will be sent when you let up on the KPL button. It's important to note here that unlike X10 which sent a continuous stream of "dim" commands, Insteon instead sends a single "Start Manual Change" followed by a "Stop Manual Change" with no traffic in between the two commands. This command also DOES NOT produce any group cleanup commands (it cant since the dimming operation is a function of time between sending the "Start" and "Stop" commands). There are also no ACK commands from the LampLinc or SwitchLinc since no direct (group cleanup) commands are sent. So right away, this command is alot less reliable than an on or off command.
Now what happens with PowerHome is this. If the KPL is a member of the PLC internal database, then it should hear the initial "Start Manual Change" command. It essentially ignores this other than firing a trigger because there is no way to tell yet what has happened. Next, the "Stop Manual Change" command should be sent and again if the KPL is a member of the PLC internal database, then it should hear and respond to the command. When PowerHome hears the "Stop Manual Change" command, it looks up in it's internal link database to get a list of all devices that should have been effected by the change. Since no part of the Stop Manual Change command says how much the lights were actually dimmed (changed), we must query each affected device to see what really changed. This includes the KPL itself. So PowerHome will then quickly do a "Poll Status" on each member of the KPL group and the KPL itself to try and determine what the new level is.
That is the way it should work.
Several things can obviously go wrong though.
1. PowerHome (the SDM and PLC actually) does not hear the command (Stop Manual Change) due to noise or a distance issue. You can confirm this by checking the SDM log or the PowerHome eventlog to see if the Stop Manual Change command is actually heard.
2. The command actually makes it to the PLC, but the PLC ignores it because the KPL is not in it's internal database. Fix this by clearing the PLC database followed by "Add ID's to PLC" (assuming the KPL is in the PowerHome database).
3. PowerHome is not aware of the link relationship between the KPL and the LampLinc or the SwitchLinc. If PowerHome does not know that the LampLinc or SwitchLinc is a member of the KPL group, then it doesnt know to poll it's status. Fix this using the Links tab in the Insteon Explorer.
4. The SwitchLinc and/or LampLinc are flagged as "Failed". PowerHome will not attempt to poll the status of a failed device. Fix this by clearing any pinkish boxes in the "Devices" tab of the Insteon Explorer.
5. The PLC does not have the SwitchLinc or the LampLinc in it's internal database. The PLC will not pass on the results of the status requests if the devices are not in it's internal database. See #2 above to fix.
That's all I can think of at the moment. Lot of potential for failure but it should work if everything is setup properly.
Let us know how it goes.
Dave.
|
Back to Top |
|
|
cmhardwick Senior Member
Joined: July 08 2006 Location: United States
Online Status: Offline Posts: 290
|
Posted: September 03 2007 at 17:14 | IP Logged
|
|
|
Well, everything is in PowerHome (links, etc) because that's how I do all my linking. (tap-tap method got old REAL FAST). I've cleared and reloaded the PLC database. Still same effect. I know PH sees changes because the trigger fires, but it doesn't seem to update. I'll keep pluggin away at it. Levels aren't a huge issue, just be nice to see, but I want it to at least say "on" when a light is on, you know? hehehe
Thanks!
__________________ Cicero, Enjoying automation!
|
Back to Top |
|
|
|
|