Subgroups in devices

With the revelation that every single device and button needs to be linked to the PLM to report its status, it became apparent that plcd needs to deal in 32bit addresses. Insteon uses 24bits for each device, and plcd uses an additional byte for the controller group. For example


A, B and C are the device address bytes, G is the group bytes. I use group ID -1 for this which makes the base device (ie the on/off switch) 0, and each extra group goes up from there. For example, the 'C' button on the 8way KeypadLinc at the top of the stairs is 0x1a1e8c02. This will get an 'On' or 'Off' command depending on the state change, and can be used to trigger macros or as a state holder.

All that remains will be getting these subgroups turned on and off, as this will be necessary to manage the fans that are connected to Fanlincs.