For the rules, yes I was using state change so that would explain the odd behavior. I didn't realize the command trigger didn't respond to local presses.
Correct, I have a button on a 2334-232 keypad triggering all responders in a 4-way configuration. The key to getting this to work was configuring a scene through HouseLinc as follows:
2334-232 Keypad Button A - Controller & Responder
2413U Modem - Scene 1 - Controller
2477S Switch - Controller & Responder
2477S Switch (load connected here) - Controller & Responder
In my items file i have (where xx.xx.xx are device IDs):
Switch entranceKeypadButtonA "Entrance Keypad Button A Stairs" (allLights) {insteonplm="xx.xx.xx:F00.00.15#keypadbuttonA,group=1,related=xx.xx.xx+xx.xx.xx"}
Controlling this keypad button A through a sitemap or via rules causes the other 2 switches to change as well. I have related items listed but they don't seem to be triggering a poll. The poll works for regular switches and dimmers for me so I am not sure if it is implemented for keypad buttons.
In the debug logs it looks like the binding is already sending a group message to the modem for this case:
21:55:22.826 [INFO ] [.o.b.i.InsteonPLMActiveBinding:122 ] - Item: entranceKeypadButtonA got command ON
21:55:22.826 [DEBUG] [o.o.b.i.i.device.InsteonDevice:170 ] - processing command ON features: 7
21:55:22.826 [INFO ] [.o.b.i.i.device.CommandHandler:148 ] - LightOnOffCommandHandler: sent msg to switch xx.xx.xx to on
21:55:22.826 [DEBUG] [o.o.b.i.i.device.InsteonDevice:351 ] - qe taken off bcast: KeyPadButton3(1:1:4) OUT:Cmd:0x62|toAddress:00.00.01|messageFlags:0xCF=ALL_LINK_BROADCAST:3:3|command1:0x11|command2:0xFF|
21:55:22.841 [DEBUG] [o.o.b.i.internal.driver.Port :327 ] - writing (500): OUT:Cmd:0x62|toAddress:00.00.01|messageFlags:0xCF=ALL_LINK_BROADCAST:3:3|command1:0x11|command2:0xFF|
I am guessing the keypad is handled differently in the binding code as I couldn't get a regular dimmer switch (F0.00.01) to send these group commands when I added group=X to the items file.
To support group broadcasts I don't think we will need to duplicate all of the device types. We would probably be fine with just a single "meta" device type that can be used for all scenes/groups. You can think of scenes as an abstract collection of various Insteon devices. I believe the only commands supported are on/off/dim/brighten. Even the Insteon hub app only allows these commands to be triggered on scenes.The On level and list of devices/responders are all stored within the scene in the modem. This works well for switches that only have on/off states. For dimmer switches I don't think a scene can respond with an "On" level when polled (since it could be different for each device in the scene), so the Insteon Hub will show the scene only as On or Off, even if you dim or brighten it.
Regarding scene configuration I don't know if it is worth the maintenance effort to try to configure Insteon devices and scenes through OpenHAB. The UDI ISY99i controllers do this and they have dedicated development teams to keep up with all the latest devices and firmware revisions. The same goes for the Insteon Hub App and it appears that MrHouse has taken the better part of a decade to provide the level of Insteon support it has now. There is also yet another version of the Insteon hub that was announced that is supposed to be more developer friendly and support Alljoyn:
http://www.insteon.com/insteon-hub-alljoyn/.