Custom integrations can provide a schedule entity with the same functionality provided by the schedule helper. Actually only schedules stored in the “store” can be edited by the schedule helper (front-end) this is a limitation for custom integrations. For example, I’ve a boiler at home and it provides a weekly schedule for circuits “a”, “b”, “c” and “acs”.
Looking at the source code, it looks like editable Schedule are those that belongs to the storage_collection but they are stored in the local store (json) there are no callbacks to read/store the data in an entity provided by the integration.
If there were a “schedule” entity whose UI were the current schedule editor that would be also great. In the meantime, there is no way to use the schedule UI functionality in custom integrations.
In my own integration,I managed to use the schedule entity to be able to tell if my power pet door sensor is in the on or off state. I can retrieve and even have code to set schedules for my entity. But no way to visualize / edit it because of the backing store.
Oh well, I guess we wait until they decide that having an entity for schedules that’s not a helper is a good idea is part of core. As even the third-party integration for schedules is not really appropriate for my use (it’s designed to create a schedule and execute actions directly for a bunch of different entities, rather than just giving me the ability to represent/edit the schedule for a single entity, without taking actions on it).