Configure Panel for Custom Component

I am wondering if it is possible to create a custom “configure” panel in a custom component, mimicking the functionality of the same thing in the Zigbee integration?

image

Clicking this button opens a new page with tabs and fancy UI things (manage groups, visualize the network, etc).

I’d like to implement something similar for an integration I’m working on - unfortunately the Options Flow does not have the flexibility/complexity that I’m looking for

The source for that particular integration’s config flow is here, I assume it will give you some ideas?

I did have a rummage through that but this config_flow.py file is all about the initial configuration form, not the fancier “Configure” panel that is accessed after installation.

I’ve now expanded my search to the frontend repo, and can see references to what I’m after here:

So it’s looking unlikely that such a thing can be easily added to a custom component :frowning:

It should be possible. There is a similar ‘options’ menu for the custom youtube music component I use

image

image

Unfortunately this Options flow is different to what I’m referring to - they are somewhat limited to just a simple popup form, as per your screenshot. The “fancy config page” thing that the Zigbee component has is an entirely separate page/subsite/section with custom styling and logic.

I’m particularly interested in the “Create Group” page, where you can bundle Zigbee devices into logical groups. Here there is a list of all my devices with a handy Search box above them to easily filter and select.

I would like to replicate something like this for my integration, but the closest thing I can get via the Options flow is the multi-select, but it isn’t quite the same

Hi @ianByrne, did you ever find a solution for this?

Unfortunately not :frowning: From what I could see, the extra functionality that can be found in the Zigbee component is only because it’s hard coded in the UI - there’s no way to do similar things in a 3rd-party custom component.

I have couple of custom integrations and I have configure button for them like this;

image

Edit: You want to have a separate page as MQTT or ZHA, not pop up. I see your question now and I do not know the answer.

Hi :wave:!
If there is still interest in this, I’m currently working on such a custom configuration panel. Searching for infos or documentation unfortunately yields next to nothing.

The only example of config panels that are not part of HA frontend repo I could find was “Insteon”.

The idea is to load it from pypi as integration requirement, run it in an iFrame and communicate via websockets to your integration backend.

Unfortunately I’m totally new to frontend development, so any pointers to other examples, threads or documentation are appreciated.

The insteon integration has an external dependency on this

I am the author of the Insteon custom panel. There are at least 2 other integrations that have a custom panel as well. We have also created a template project that can be used as a starting point: Have a look at these integrations:

  • KNX
  • Dynalite

And the custom panel template is here: ha-custom-panel/template: Template repository for Home Assistant custom panels. (github.com). it is a work in progress however.

1 Like