GUI for add-ons (other than just tiles in Lovelace)

I may be way over my head here. I have a background in Python and have done a fair amount of programming, but I’m also self-taught, which means a lot of holes in my experience and background. (I’ll also add that when I wrote HTML, I did use some JavaScript, but that was in the 90s and had never heard of CSS until a year or two AFTER I was no longer doing HTML work.) While I’ve used APIs on other programs, like OpenOffice (over a decade ago), I have never been in a situation to use REST and my work predated AJAX. (I remember posting on Usenet, asking if there was a way to change one item on the page loaded into the browser and got several answers that it wasn’t possible - it was THAT long ago!) Most of my work is with CLI based programs, but I have used TK with Python on programs before.

I want to write an add on for HA that I think others will find helpful. While reading through the documentation for add ons, I did read about Ingress, but the links on this page don’t seem to look to me like it provides widgets or controls that I can use for my add on.

Are add on developers supposed to write all the GUI code for an add on directly? Or are there any ways to use controls as an add on and have the look and feel of HA? I need to use a drop down list, some radio buttons, and maybe a few checkboxes. (Not all on screen at once - they’d show up as part of a process.)

I suppose I could write it in straight Python, using TK, and use ssh to add or modify configuration files on HA. (If that’s possible - looks like it, but I know I could be wrong.) I’d rather write something that integrates with HA. The backend of this is something I can easily handle, but I’m not at all sure how to handle the UI and fit it within the HA framework.

An addon is usually either a program that runs without any need for a GUI (like mosquitto mqtt or samba) or has its own web interface (like portainer or motioneye).

What about something like File Editor or the SSH add on?

File editor is a web based editor, ace editor.

From the SSH & Web terminal Supervisor page

This add-on, of course, provides an SSH server, based on OpenSSH and a web-based Terminal

So basically plan to write my own UI, then?

Yes.

Okay, not the answer I was hoping for, but the answer I needed.

Configuration is done in yaml, take a look at some existing addons.