-
Notifications
You must be signed in to change notification settings - Fork 19
Description
All-link groups are sometimes called Insteon scenes. Insteon calls these all-link groups and responders react to all-link group broadcasts. Most all Insteon devices can be all-link group controllers and it is common to link Insteon devices to each other using this capability. Implementing scene control for all types of controllers is a large task since it requires knowledge of the ALDB entries from all devices. It looks like a lot of work is underway to implement this capability (#45), but I suspect it will take quite a while because there are a few layers to that onion.
This enhancement request is specific to just PLM controller groups. If a PLM is linked into a fully meshed responder/controller all-link group, then the PLM can update all the responders in the scene (all-link group). Likewise, if any other controller updates the scene, the PLM will be notified. Effectively the PLM can be modeled as a 254-button controller from HASS. insteonplm will need specific changes since interacting with the all-link controller groups requires different PLM messages than interacting with a true multi-button controller.
Prior to getting full scene capabilities; an interim step could be to expose the PLM controller groups to HASS as switch devices and then hide all the associated devices in the UI. HASS would track the scene state as the device state. From a coding perspective adding these PLM controller groups as switches is all that is needed since hiding devices in the UI is already supported. Once full scene updates can be tracked, the underlying devices would not need to be hidden. My initial idea is to modify the PLM ALDB auto-discovery so that only responder entries are discovered as bonafide devices. Any controller entries would be added to a generic switch device as they are discovered. E.g. if there are 5 controller all-link groups (0x10-0x14) a switch device would be added for each one using the PLM ID (e.g. switch.1fdc78_10, switch.1fdc78_11, …, switch.1fdc78_14)
I really see this enhancement as orthogonal to adding support for ALDB and full tracking of device scenes. HASS still should ultimately be enhanced to support PLM controller groups.
I would be happy to provide as much assistance coding this capability as desired. I plan to start prototyping now but opened this request so that we could discuss how likely this change is to be incorporated if I create it. If this enhancement seems like a good idea, I would also like to discuss implementation details to make sure the code changes fit into the overall architecture of the project.
I implemented the i2cs support in Misterhouse a few years back and got deep into the Insteon protocol back then. That knowledge is a bit rusty but I’m quickly coming back up to speed.