User-defined section (menu) names

Following on the many responses from users about the changes in categories (Apps=> Automations, Drivers, Devices, etc) in release 2.5, I'd like to suggest adding the ability for completely user-defined (customized) menus.

This would be implemented by allowing users to group each code object (a driver, a device, an integration, an automation, etc) with their choice of menu, with the menu title named as they decide. The grouping would ideally be done via drag-n-drop in the GUI, but could also be done via a menu.

Each code object would be internally identified by a unique attribute -- ideally the Id (as exists for applications), but if a code object lacks that, a unique repeatable ID would be generated based on the name (ie., "basicZwaveTool") and the category (ie., "driver"). This would allow different -- but related -- objects, such as an Acme driver and an Acme automation, to be distinguished.

For example, this pseudo-json represents a customized menu structure:

menus.json

{
      "Automation (the artist formerly know as Apps)":
      [
         # the order within the json reflects the order of objects shown in the GUI
         "id": "abc-123",        # the id used by the author publishing the App
          "id": "34a4bc_RingCamera_Driver"  # a code object w/o an ID, hash the category and name given by the author 
      ],
      "3rd Party Drivers":
       [
           "id": "HPM_12789ad",
       ],
       "3rd Party Putters":
       [
            id: "ashk81304_zWave_integration"
            id: "8340-sajd_Kwikset"
       ]
   ]
}

Using a unique id (software author defined or created by the hub when the code object is installed) would not require changes from application or driver developers and the user-defined organization would be preserved over both HE platform and 3rd-party code updates.

1 Like