Craig,

I am jumping into the middle of this, so if you already tried this I apologize.

I see below you have the following entry in your mht file:

INSTEON_ICONTROLLER, 11, kpl_scene_h_light, All_Scenes
SCENE_MEMBER, back_hall_light_kpl_h, kpl_scene_h_light, on

However, that second line should be re-written as:

SCENE_MEMBER, back_hall_light_kpl_h, kpl_scene_h_light, surrogate

That is changing "on" to "surrogate."  


I think restarting MH will be sufficient, but you may need to run "scan_link_table" on $back_hall_light and then run "sync_links" on $back_hall_light_kpl_h again.

Kevin


On Wed, May 29, 2013 at 2:52 PM, Eloy Paris <peloy@chapus.net> wrote:
Hi Craig,

I don't immediately see what the problem could be so I've Cc'ed the
mailing list to see if we can get more pairs of eyes to look into this.

For reference, these are the relevant ALDB entries for my KPL and my PLM:

KPL:

[Insteon::AllLinkDatabase] [0x0fcf] rspndr(03) record to $PLM (11):
onlevel=on and ramp=none (d3:03)
[Insteon::AllLinkDatabase] [0x0fff] contlr(01) record to $PLM (01),
(d1:03, d2:1c, d3:01)

PLM:

05/29/13 05:47:51 PM [Insteon::ALDB_PLM] responder record to
$kpl_garage_button_a(03) (d1=00, d2=00, d3=00)
[Insteon::ALDB_PLM] cntlr(11) record to $kpl_garage_button_a (d1=01,
d2=00, d3=03)

I've listed KPL button (controller) to PLM (responder) but that's not
needed for controlling the button LED. But it's nice to make sure that
things are working (i.e. you press the button and see a message in the
MisterHouse print log).

You can find the PLM scene by going to web interface -> MrHouse ->
Browse Categories -> INSTEON.

Cheers,

Eloy Paris.-

On 05/28/2013 07:01 PM, Craig wrote:

> I probably have tried to set back_hall_light_kpl_h directly, but I have
> reloaded mh many (many) times. I think I may have been reporting the
> error that occurred when setting it directly, instead of the setting the
> scene (I was turning the button on/off from the web, which is NOT the
> scene). I don't seem to have a web link for toggling the scene, so I
> went back to running into the garage and opening and closing the door,
> which triggers the scene to change. The log now shows:
> 05/28/2013 06:42:09 PM [Insteon_PLM] Received all-link cleanup success:
> obj=$kpl_scene_h_light; command=off; extra=00
> 05/28/2013 06:42:09 PM [Insteon::BaseObject]
> $kpl_scene_h_light::set(off, sensor)
> 05/28/2013 06:42:09 PM [Insteon_PLM] DEBUG2: Sending
> obj=$kpl_scene_h_light; command=off; extra=00 incurred delay of 0.00
> seconds; starting hop-count: 1
> 05/28/2013 06:42:09 PM back garage door state changed (normalmin)
> 05/28/2013 06:41:57 PM [Insteon_PLM] Received all-link cleanup success:
> obj=$kpl_scene_h_light; command=on; extra=FF
> 05/28/2013 06:41:57 PM [Insteon::BaseObject] $kpl_scene_h_light::set(on,
> sensor)
> 05/28/2013 06:41:57 PM [Insteon_PLM] DEBUG2: Sending
> obj=$kpl_scene_h_light; command=on; extra=FF incurred delay of 0.00
> seconds; starting hop-count: 1
> 05/28/2013 06:41:57 PM back garage door state changed (alertmin)
> This appears to me to be setting the scene correctly on and then off,
> but the LED on the keypad never changes.
> Prior to all this, I executed the following commands, in this order:
> back hall light sync links
> back hall light kpl h sync links
> plm sync all links
> back hall light log links
> plm log links
> I see some entries that are related to the PLM(11) that I assume are
> as we expect. If it matters, I am running the hollie/misterhouse master
> branch that was released last week. I believe that this is the latest
> Insteon code.
> Here is the output (with debug set to just insteon). It is in reverse
> order and I have removed anything that didn't seem to be related to the
> back hall keypad:
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f8) record to 22.49.7B
> (d1=01, d2=00, d3=f8)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f7) record to 22.49.7B
> (d1=01, d2=00, d3=f7)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f6) record to 22.49.7B
> (d1=01, d2=00, d3=f6)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f5) record to 22.49.7B
> (d1=01, d2=00, d3=f5)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f4) record to 22.49.7B
> (d1=01, d2=00, d3=f4)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f3) record to 22.49.7B
> (d1=01, d2=00, d3=f3)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(f2) record to 22.49.7B
> (d1=01, d2=00, d3=f2)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(11) record to
> $back_hall_light_kpl_h (d1=01, d2=00, d3=08)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_h(08) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_g(07) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_f(06) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_e(05) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_d(04) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_c(03) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light_kpl_b(02) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(01) record to 22.49.7B
> (d1=01, d2=1c, d3=41)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] responder record to
> $back_hall_light(01) (d1=00, d2=00, d3=00)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] cntlr(00) record to 22.49.7B
> (d1=01, d2=1c, d3=41)
> 05/28/2013 06:17:50 PM [Insteon::ALDB_PLM] Link table health: good
> 05/28/2013 06:17:50 PM Running: PLM log links
>
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0ff0] contlr(01)
> record to $PLM (01), (d1:03, d2:00, d3:01)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fe8] contlr(02)
> record to $PLM (02), (d1:03, d2:00, d3:02)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fe0] contlr(03)
> record to $PLM (03), (d1:03, d2:00, d3:03)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fd8] contlr(04)
> record to $PLM (04), (d1:03, d2:00, d3:04)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fd0] contlr(05)
> record to $PLM (05), (d1:03, d2:00, d3:05)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fc8] contlr(06)
> record to $PLM (06), (d1:03, d2:00, d3:06)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fc0] contlr(07)
> record to $PLM (07), (d1:03, d2:00, d3:07)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0fb8] rspndr(08)
> record to $PLM (11): onlevel=on and ramp=none (d3:08)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] [0x0FF8] contlr(08)
> record to $PLM (08), (d1:03, d2:00, d3:08)
> 05/28/2013 06:16:59 PM [Insteon::AllLinkDatabase] Link table for
> $back_hall_light health: good
> 05/28/2013 06:16:59 PM Running: back hall light log links
> 05/28/2013 06:14:11 PM [Sync all links] All links have completed syncing
> 05/28/2013 06:14:11 PM [Insteon::BaseController] Nothing to do when
> syncing links for $kpl_scene_h_light
> 05/28/2013 06:14:11 PM [Sync all links] Now syncing: $kpl_scene_h_light
> (26 of 26)
> 05/28/2013 06:14:11 PM [Insteon::BaseController] Nothing to do when
> syncing links for $back_hall_light_kpl_h
> 05/28/2013 06:14:11 PM [Sync all links] Now syncing:
> $back_hall_light_kpl_h (11 of 26)
> 05/28/2013 06:14:11 PM [Insteon::BaseController] Nothing to do when
> syncing links for $back_hall_light
> 05/28/2013 06:14:11 PM [Sync all links] Now syncing: $back_hall_light (4
> of 26)
> 05/28/2013 06:14:11 PM [Sync all links] Adding $kpl_scene_h_light to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_h to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_g to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_f to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_e to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_d to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_c to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light_kpl_b to
> sync queue
> 05/28/2013 06:14:11 PM [Sync all links] Adding $back_hall_light to sync
> queue
> 05/28/2013 06:14:11 PM [Sync all links] Starting now!
> 05/28/2013 06:14:11 PM Running: PLM sync all links
> 05/28/2013 06:14:02 PM $back_hall_light_kpl_h completed sync links
> 05/28/2013 06:14:02 PM [Insteon::BaseController] Nothing to do when
> syncing links for $back_hall_light_kpl_h
> 05/28/2013 06:14:02 PM Running: back hall light kpl h sync links
>
> 05/28/2013 06:13:56 PM $back_hall_light completed sync links
> 05/28/2013 06:13:56 PM [Insteon::BaseController] Nothing to do when
> syncing links for $back_hall_light
> 05/28/2013 06:13:56 PM Running: back hall light sync links
> So again, I am stumped by something that seems to be pretty simple.
> Still trying to decipher the log output (which looks like a cat ran over
> the keyboard). I am hoping that we will see some documentation once the
> code is complete.
> -Craig
>
>
> On Tue, May 28, 2013 at 3:35 PM, Eloy Paris <peloy@chapus.net
> <mailto:peloy@chapus.net>> wrote:
>
>     Hi Craig,
>
>
>     On 05/27/2013 02:16 PM, Craig wrote:
>
>         OK, I am still fighting the Insteon learning curve. I am trying
>         to do
>         something similar to you. I have a door sensor on the back
>         garage door.
>         I want one of my buttons on the 8-button keypadlinc to represent the
>         state of the door. On it is open, Off if it is closed. Where I am
>         stumped is turning on the light when the door opens. I think the
>         logic
>         works the way I want (at least for testing). But whenever I try
>         to turn
>         on the keypad light it fails with the following message:
>         [Insteon::KeyPadLinc] You may not directly attempt to set a
>         keypadlinc's
>         button unless you have defined a reverse link with the
>         "surrogate" keyword
>         I have followed the procedure in the instructions to set the
>         keypadlink
>         button as a responder. I am not sure how to accomplish this from
>         mh though.
>         Here is the code I have so far:
>         INSTEON_KEYPADLINCRELAY, 22.49.7B:01, back_hall_light,
>           All_Insteon  #
>         2486D v6.2 keypadlinc dimmer
>         ... (other buttons removed, but similar)
>         INSTEON_KEYPADLINCRELAY, 22.49.7B:08, back_hall_light_kpl_h, buttons
>         INSTEON_ICONTROLLER, 11, kpl_scene_h_light, All_Scenes
>         SCENE_MEMBER, back_hall_light_kpl_h, kpl_scene_h_light, on
>         $back_garage_door = new Generic_Item; # noloop
>         if ($state = state_changed $back_garage_door_sensor) {
>               print "back garage door sensor state changed ($state)\n";
>               set $back_garage_door ($state);
>         }
>
>         if ($state = state_changed $back_garage_door) {
>               print_log "back garage door state changed ($state)\n";
>               speak "mode=unmute the back garage door is now " . ($state eq
>         'alertmin' ? "open" : "closed");
>               $kpl_scene_h_light->set($state eq 'alertmin' ? ON : OFF,
>         "sensor");
>         }
>
>
>     Hhmmm. I don't see anything incorrect in your .mht file or in your
>     user code. Everything looks virtually identical to my own, working
>     setup.
>
>     In your user code you are setting the state of the PLM scene
>     (kpl_scene_h_light), which is what I do (and I don't get that
>     "surrogate link" message).
>
>     I got the "surrogate link" message when I tried to directly set my
>     equivalent of your back_hall_light_kpl_h KPL button, but once I
>     re-wrote things to set the PLM scene the message went away.
>
>     Did you at some point try to set the state of the KPL button LED by
>     talking to back_hall_light_kpl_h directly? If so, did you reload
>     your code (or better yet, restart MisterHouse) after switching to
>     using a PLM scene (kpl_scene_h_light) instead?
>
>     Also, have you sync'ed links after setting everything up? To check
>     that everything looks fine do a "log links" for both the KPL and the
>     PLM and see if the "11" controller (PLM) and responder (KPL) links
>     are there.
>
>     Cheers,
>
>     Eloy Paris.-
>
>


------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
________________________________________________________
To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_id=1365