|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Insteon_PLM -> device_id never set?Greetings,
I am a relatively new convert to Insteon and MH and for the past few weeks, I've struggled getting my new PLM to work properly with scenes. I am using the current svn trunk. It seems that after updating my perl skills (last time I codded perl extensively, it wasn't even object oriented!), I may finally be starting to understand the problem; MH thinks the Insteon_PLM object device_id is zero because it is unset because $PLM->device_id() is never being called with a value to set it. Note that though I have insteon debugging enabled in my mh.private.ini, I never see the "[Insteon_PLM] PLM id:" print. I have hacked around the problem by setting deviceid to my PLM's device ID in add_item (by calling the device_id method) when it sends the '0260' command and after factory resetting all my KPLs and syncing, everything seems to work. Questions: Why does the '0260' command seem to fail or be ignored on my PLM? I never seem to correctly locate the '06' return code with the '0260' record type in _parse_data which seems to be where the device_id() method *should* have been called to set the PLM device ID. Is this a know problem? My PLM is marked revision 3.1 on it's sticker. Is it too old or too new? My firmware version might be 85 (see log below), but I'm not sure since the parsing the query response fails. Do I need a different firmware version? Why doesn't read_table_A.pl allow us to pass the device ID on the INSTEON_PLM line to the new method when the Insteon_PLM PLM object is created from the .mht file? When I called PLM->device_id() from my user.pl file, the initial status commands seemed to fail; Thus, the hack... (Or have I missed something?) Is there a programmers guide for the PLM available? How can I obtain a copy? I gather that the Insteon support is being completely re-worked by Gregg? Is there a Subversion branch for this work? If not, is there a way I can contribute to this effort? Have I properly understood the code? I have also enhanced the Light_Item and Light_Switch_Item code. Is there a MH development email list or should I post patches for discussion here? Thanks for your help! --Brad Below are the first several debug lines from a fresh mh start. I have added some notes marked by '****'. I presume this contains a clue which I might even find myself if I had some documentation on the PLM.... 06/01/09 09:38:49 AM ---------- Restart ---------- 06/01/09 09:38:49 AM [Insteon_PLM] serial:/dev/ttyS0:19200 06/01/09 09:38:49 AM Reading /home/brad/src/misterhouse/mh.private.ini and mh.ini 06/01/09 09:38:49 AM Reading 1 .mht table files: insteon.mht 06/01/09 09:38:49 AM Translating insteon.mht -> /home/brad/src/misterhouse/code/insteon.mhp 06/01/09 09:38:49 AM Initialized read_table_A.pl 06/01/09 09:38:49 AM Reading 18 code files 06/01/09 09:38:49 AM Evaluating user code 06/01/09 09:38:49 AM [Insteon_PLM] setting default xmit delay to: 0.15 06/01/09 09:38:49 AM [Insteon_PLM] setting x10 xmit delay to: 0.5 **** The following two lines were added by me to verify that my hacked in device ID set was working 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: _id_check: 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [X10_Sensor] Calling Serial_match_add_hook 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 06/01/09 09:38:49 AM Called prevent_bounces count=2 06/01/09 09:38:49 AM Called prevent_bounces count=2 06/01/09 09:38:49 AM Called prevent_bounces count=2 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 1 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 2 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 3 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 4 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 5 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 6 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 7 06/01/09 09:38:50 AM [Insteon_PLM] Parsing serial data: 02600f438a03058506 06/01/09 09:38:50 AM [Insteon_PLM] Prior cmd failed **** Can someone interpret the above response for me? Did the request fail? I see my PLM device ID in there. I gather my firmware version is 0x85? 06/01/09 09:38:50 AM Generating Voice commands for all Insteon objects 06/01/09 09:38:50 AM Rereading .menu code files. 06/01/09 09:38:50 AM Organizer: Calendar matches target schema and does not require upgrading 06/01/09 09:38:50 AM Organizer: Todo matches target schema and does not require upgrading 06/01/09 09:38:50 AM Organizer: Reading updated organizer calendar file now 06/01/09 09:38:50 AM Evaluating code organizer_events 06/01/09 09:38:50 AM Organizer: Reading updated organizer todo file 06/01/09 09:38:50 AM Evaluating code organizer_tasks 06/01/09 09:38:52 AM [Insteon_PLM] Prepending prior data fragment: 438a03058506 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 438a0305850602621005440f19000602501005440f438a2b0000 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $mbr_lamp1 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $mbr_lamp1 with on-level: 0%, hops left: 2 06/01/09 09:38:52 AM : New value 1 different than 06/01/09 09:38:52 AM Light_Switch_Item($switch_mbr1) setby: Insteon_Link=HASH(0x9b48a98)setby name: $mbr_lamp1 06/01/09 09:38:52 AM Light_Switch_Item($switch_mbr1)::set(off, Insteon_Link=HASH(0x9b48a98)): $mbr_lamp1 was set by Insteon_PLM=HASH(0x9af70b8) p_state = off 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 0262112f6c0f190006 06/01/09 09:38:52 AM Setting mixer volume to 0 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 02620515890f190006 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 150250112f6c0f438a2318fe 06/01/09 09:38:52 AM [Insteon_PLM] Interface extremely busy. Resending command after delaying for 0.3 second 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $mbr_lamp2 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $mbr_lamp2 with on-level: 100%, hops left: 0 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 02500515890f438a2b1a0002620513f10f190006 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $ktch_light 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $ktch_light with on-level: 0%, hops left: 2 06/01/09 09:38:52 AM Light_Switch_Item($switch_ktch) setby: Insteon_Link=HASH(0x9b4df58)setby name: $ktch_light 06/01/09 09:38:52 AM Light_Switch_Item($switch_ktch)::set(off, Insteon_Link=HASH(0x9b4df58)): $ktch_light was set by Insteon_PLM=HASH(0x9af70b8) p_state = off 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 02621134f10f190006 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 026211350e0f190006 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 02501134f10f438a2b0800 06/01/09 09:38:53 AM [Insteon_PLM] Processing message for $lvrm_lamp 06/01/09 09:38:53 AM [Insteon_Device] received status request report for $lvrm_lamp with on-level: 0%, hops left: 2 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 15 06/01/09 09:38:53 AM [Insteon_PLM] Interface extremely busy. Resending command after delaying for 0.3 second 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 025011350e0f438a2b1100 06/01/09 09:38:53 AM [Insteon_PLM] Processing message for $lvrm_lamp2 06/01/09 09:38:53 AM [Insteon_Device] received status request report for $lvrm_lamp2 with on-level: 0%, hops left: 2 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 0262113afd0f190006 06/01/09 09:38:54 AM [Insteon_PLM] Parsing serial data: 0250113afd0f438a2b1900 06/01/09 09:38:54 AM [Insteon_PLM] Processing message for $lvrm_lamp3 06/01/09 09:38:54 AM [Insteon_Device] received status request report for $lvrm_lamp3 with on-level: 0%, hops left: 2 06/01/09 09:38:57 AM [Insteon_Device] WARN: queue timer on $dinn_light expired. Attempting resend: status_request 06/01/09 09:38:57 AM [Insteon_PLM] Parsing serial data: 02620513f10f190006 06/01/09 09:38:58 AM [Insteon_PLM] Parsing serial data: 02500513f10f438a2b3800 06/01/09 09:38:58 AM [Insteon_PLM] Processing message for $dinn_light 06/01/09 09:38:58 AM [Insteon_Device] received status request report for $dinn_light with on-level: 0%, hops left: 2 06/01/09 09:38:58 AM Light_Switch_Item($switch_dinn) setby: Insteon_Link=HASH(0x9b4f6b0)setby name: $dinn_light 06/01/09 09:38:58 AM Light_Switch_Item($switch_dinn)::set(off, Insteon_Link=HASH(0x9b4f6b0)): $dinn_light was set by Insteon_PLM=HASH(0x9af70b8) p_state = off ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
|
|
Re: Insteon_PLM -> device_id never set?Hi Brad,
Brad Bosch wrote: > Greetings, > > I am a relatively new convert to Insteon and MH and for the past few > weeks, I've struggled getting my new PLM to work properly with scenes. > I am using the current svn trunk. > > It seems that after updating my perl skills (last time I codded perl > extensively, it wasn't even object oriented!), I may finally be > starting to understand the problem; MH thinks the Insteon_PLM object > device_id is zero because it is unset because $PLM->device_id() is > never being called with a value to set it. Note that though I have > insteon debugging enabled in my mh.private.ini, I never see the > "[Insteon_PLM] PLM id:" print. > > I have hacked around the problem by setting deviceid to my PLM's > device ID in add_item (by calling the device_id method) when it sends > the '0260' command and after factory resetting all my KPLs and > syncing, everything seems to work. > > Questions: > > Why does the '0260' command seem to fail or be ignored on my PLM? No idea; it has always worked perfectly for me. [EDIT] Strike that, I now see the problem. More comments in your debug. > I > never seem to correctly locate the '06' return code with the '0260' > record type in _parse_data which seems to be where the device_id() > method *should* have been called to set the PLM device ID. > > Is this a know problem? Nope; it appears to be specific to you and the result of your deviceid. Again, see below. There is a bug that I'll need to fix. > My PLM is marked revision 3.1 on it's > sticker. Is it too old or too new? My firmware version might be 85 > (see log below), but I'm not sure since the parsing the query response > fails. Do I need a different firmware version? I would doubt it. I have not seen any insteon documentation that would suggest that this command is somehow deprecated. > Why doesn't read_table_A.pl allow us to pass the device ID on the > INSTEON_PLM line to the new method when the Insteon_PLM PLM object is > created from the .mht file? The ability to pass the device id via the constructor was something I added a while back for some very specific debugging reasons. I've never seen the 0260 message not being returned (except in your case for now known reasons). Further, the PLM deviceid is persisted across restarts. > When I called PLM->device_id() from my > user.pl file, the initial status commands seemed to fail; That's a timing issue; but, device_id is not intended to be set by the user anyway. > Thus, the > hack... (Or have I missed something?) > > Is there a programmers guide for the PLM available? How can I obtain a > copy? I don't know if there is a public version floating around. My copy is from code.insteon.net and requires a developer account to gain access. > I gather that the Insteon support is being completely re-worked by > Gregg? yes > Is there a Subversion branch for this work? No; I made the request for the branch some time ago of Matt and have never seen him respond. > If not, is there > a way I can contribute to this effort? You can send me a note off-list once I make the rewrite available. Currently, it's not yet at a state that I feel comfortable sharing. > Have I properly understood the code? > > I have also enhanced the Light_Item and Light_Switch_Item code. Is > there a MH development email list or should I post patches for > discussion here? post here > Thanks for your help! > > --Brad > > Below are the first several debug lines from a fresh mh start. I have > added some notes marked by '****'. I presume this contains a clue > which I might even find myself if I had some documentation on the > PLM.... > > 06/01/09 09:38:49 AM ---------- Restart ---------- > 06/01/09 09:38:49 AM [Insteon_PLM] serial:/dev/ttyS0:19200 > 06/01/09 09:38:49 AM Reading /home/brad/src/misterhouse/mh.private.ini and mh.ini > 06/01/09 09:38:49 AM Reading 1 .mht table files: insteon.mht > 06/01/09 09:38:49 AM Translating insteon.mht -> /home/brad/src/misterhouse/code/insteon.mhp > 06/01/09 09:38:49 AM Initialized read_table_A.pl > 06/01/09 09:38:49 AM Reading 18 code files > 06/01/09 09:38:49 AM Evaluating user code > 06/01/09 09:38:49 AM [Insteon_PLM] setting default xmit delay to: 0.15 > 06/01/09 09:38:49 AM [Insteon_PLM] setting x10 xmit delay to: 0.5 > > **** The following two lines were added by me to verify that my hacked in device ID set was working > > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: _id_check: > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [X10_Sensor] Calling Serial_match_add_hook > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] -> add_item() self->device ID: 0f438A _id_check: 1 > 06/01/09 09:38:49 AM Called prevent_bounces count=2 > 06/01/09 09:38:49 AM Called prevent_bounces count=2 > 06/01/09 09:38:49 AM Called prevent_bounces count=2 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 1 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 2 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 3 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 4 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 5 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 6 > 06/01/09 09:38:49 AM [Insteon_PLM] Command stack size: 7 > 06/01/09 09:38:50 AM [Insteon_PLM] Parsing serial data: 02600f438a03058506 > 06/01/09 09:38:50 AM [Insteon_PLM] Prior cmd failed On occasion, the PLM will return an '0f' vice '15' as a form of NACK. So, the current parse code attempts to look for that response. Unfortunately, 02600f is the start of your valid response above. IMO, insteon really should be issueing PLM deviceids whose prefix starts with '0f'. I definitely hope that none of them start with '06' or '15'. I've made an adjustment to lib/Insteon_PLM.pm in svn trunk. Let me know if you continue to experience this same problem. > **** Can someone interpret the above response for me? Did the request > fail? I see my PLM device ID in there. I gather my firmware > version is 0x85? > > 06/01/09 09:38:50 AM Generating Voice commands for all Insteon objects > 06/01/09 09:38:50 AM Rereading .menu code files. > 06/01/09 09:38:50 AM Organizer: Calendar matches target schema and does not require upgrading > 06/01/09 09:38:50 AM Organizer: Todo matches target schema and does not require upgrading > 06/01/09 09:38:50 AM Organizer: Reading updated organizer calendar file now > 06/01/09 09:38:50 AM Evaluating code organizer_events > 06/01/09 09:38:50 AM Organizer: Reading updated organizer todo file > 06/01/09 09:38:50 AM Evaluating code organizer_tasks > 06/01/09 09:38:52 AM [Insteon_PLM] Prepending prior data fragment: 438a03058506 > 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 438a0305850602621005440f19000602501005440f438a2b0000 > 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $mbr_lamp1 > 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $mbr_lamp1 with on-level: 0%, hops left: 2 > 06/01/09 09:38:52 AM : New value 1 different than > 06/01/09 09:38:52 AM Light_Switch_Item($switch_mbr1) setby: Insteon_Link=HASH(0x9b48a98)setby name: $mbr_lamp1 > 06/01/09 09:38:52 AM Light_Switch_Item($switch_mbr1)::set(off, Insteon_Link=HASH(0x9b48a98)): $mbr_lamp1 was set by Insteon_PLM=HASH(0x9af70b8) p_state = off > 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 0262112f6c0f190006 > 06/01/09 09:38:52 AM Setting mixer volume to 0 > 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 02620515890f190006 > 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 150250112f6c0f438a2318fe > 06/01/09 09:38:52 AM [Insteon_PLM] Interface extremely busy. Resending command after delaying for 0.3 second > 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $mbr_lamp2 > 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $mbr_lamp2 with on-level: 100%, hops left: 0 > 06/01/09 09:38:52 AM [Insteon_PLM] Parsing serial data: 02500515890f438a2b1a0002620513f10f190006 > 06/01/09 09:38:52 AM [Insteon_PLM] Processing message for $ktch_light > 06/01/09 09:38:52 AM [Insteon_Device] received status request report for $ktch_light with on-level: 0%, hops left: 2 > 06/01/09 09:38:52 AM Light_Switch_Item($switch_ktch) setby: Insteon_Link=HASH(0x9b4df58)setby name: $ktch_light > 06/01/09 09:38:52 AM Light_Switch_Item($switch_ktch)::set(off, Insteon_Link=HASH(0x9b4df58)): $ktch_light was set by Insteon_PLM=HASH(0x9af70b8) p_state = off > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 02621134f10f190006 > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 026211350e0f190006 > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 02501134f10f438a2b0800 > 06/01/09 09:38:53 AM [Insteon_PLM] Processing message for $lvrm_lamp > 06/01/09 09:38:53 AM [Insteon_Device] received status request report for $lvrm_lamp with on-level: 0%, hops left: 2 > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 15 > 06/01/09 09:38:53 AM [Insteon_PLM] Interface extremely busy. Resending command after delaying for 0.3 second > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 025011350e0f438a2b1100 > 06/01/09 09:38:53 AM [Insteon_PLM] Processing message for $lvrm_lamp2 > 06/01/09 09:38:53 AM [Insteon_Device] received status request report for $lvrm_lamp2 with on-level: 0%, hops left: 2 > 06/01/09 09:38:53 AM [Insteon_PLM] Parsing serial data: 0262113afd0f190006 > 06/01/09 09:38:54 AM [Insteon_PLM] Parsing serial data: 0250113afd0f438a2b1900 > 06/01/09 09:38:54 AM [Insteon_PLM] Processing message for $lvrm_lamp3 > 06/01/09 09:38:54 AM [Insteon_Device] received status request report for $lvrm_lamp3 with on-level: 0%, hops left: 2 > 06/01/09 09:38:57 AM [Insteon_Device] WARN: queue timer on $dinn_light expired. Attempting resend: status_request > 06/01/09 09:38:57 AM [Insteon_PLM] Parsing serial data: 02620513f10f190006 > 06/01/09 09:38:58 AM [Insteon_PLM] Parsing serial data: 02500513f10f438a2b3800 > 06/01/09 09:38:58 AM [Insteon_PLM] Processing message for $dinn_light > 06/01/09 09:38:58 AM [Insteon_Device] received status request report for $dinn_light with on-level: 0%, hops left: 2 > 06/01/09 09:38:58 AM Light_Switch_Item($switch_dinn) setby: Insteon_Link=HASH(0x9b4f6b0)setby name: $dinn_light > 06/01/09 09:38:58 AM Light_Switch_Item($switch_dinn)::set(off, Insteon_Link=HASH(0x9b4f6b0)): $dinn_light was set by Insteon_PLM=HASH(0x9af70b8) p_state = off > > ------------------------------------------------------------------------------ > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp as they present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 > ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
|
|
Re: Insteon_PLM -> device_id never set?Gregg Liming writes:
> Brad Bosch wrote: > > I gather that the Insteon support is being completely re-worked by > > Gregg? > > yes > > > Is there a Subversion branch for this work? > > No; I made the request for the branch some time ago of Matt and have > never seen him respond. He doesn't seem to be as active on the list these days. Would it make sense to formally ask again? I don't know about sourceforge specifically, but creating a branch is normally a pretty trivial operation in Subversion and it could be much easier to obtain help with your development if you had a branch where you could stage/coordinate experimental changes. > > > If not, is there > > a way I can contribute to this effort? > > You can send me a note off-list once I make the rewrite available. > Currently, it's not yet at a state that I feel comfortable sharing. OK. I will likely be available to help test/debug/patch when you are ready. I don't mean to sound greedy or pushy, but... Any ETA on first release of your new code? The current code seems to mostly work, but I can see (and have read on this list) some areas where it is not reaching full potential for reliability. I'd love to put all this expensive new Insteon hardware which I've plunged headlong into to more effective use! > > On occasion, the PLM will return an '0f' vice '15' as a form of NACK. > So, the current parse code attempts to look for that response. > Unfortunately, 02600f is the start of your valid response above. IMO, > insteon really should be issueing PLM deviceids whose prefix starts with > '0f'. I definitely hope that none of them start with '06' or '15'. I haven't seen the documentation, but it sounds like Insteon may have made some serious interface design errors if it's not easier than that to tell success from failure for such a basic operation. Should I be reevaluating my choice of Insteon or does Smarthome document things and support you well enough as a third party software developer to make this all work reliably? For example, I see they have a USB PLM now. Is that supported already (Does it just look like a serial USB device)? BTW, what do they charge for the developer documents? > > I've made an adjustment to lib/Insteon_PLM.pm in svn trunk. Let me know > if you continue to experience this same problem. Thanks so much for the quick response and code fix! I gave it a quick test and it seems to work fine for me now without my hack. --Brad ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get ________________________________________________________ To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365 |
| Free embeddable forum powered by Nabble | Forum Help |