ha-warmup/warmup

ha-warmup is not an HAOS Custom repository: 'Repository structure for master is not compliant'

petarvucetin opened this issue · 10 comments

My warmup integration stopped working. Trying to added via custom repo gives an error: repo not properly configured.

artmg commented

Hi Petar,

  1. what was it you were changing when the integration stopped working?
  2. what method were you trying to use to 'add the repo'?
  3. where did the error appear?
  4. what was the exact error message?

Hopefully we can find out enough about your issue to be able to help you resolve it

Hi,

  1. I am using Home Assistant and warmup has been removed after upgrade to HASOS
  2. Adding it via Community Tab / Add Custom repository
    image
  3. Community / Add Repository
  4. Repostitory structure for master is not compliant
artmg commented

Hi Petar, thank you for clarifying the nature of your issue.

Unfortunately this component was created as a 'custom component' for manual inclusion in a Home Assistant Core installation (manual using Python virtual environment). I am afraid it has not been designed as 'Custom repository' for Home Assistant Operating System (HAOS) or Home Assistant Container deployments.

I am not sure whether it is possible to deploy this manually into HAOS, perhaps someone familiar with that deployment style could help you, or you could search or maybe post in the HA Community Forum. Sorry it's not the quick fix you may have been looking for Petar.

If there is enough demand perhaps someone here could work out what it would take to convert this component into a Custom repository (see the example https://github.com/home-assistant/addons-example for an idea), however I do not know if the two structures are mutually compatible so that might need to be created as a separate github repo under this project.

If anyone is interested in looking into this please let us know here. Thanks

I think the easier thing to do would be to make this HACS compliant? See https://hacs.xyz/docs/publish/start. This would make the installs and updates a lot easier. I'm happy to be a tester, and buy a coffee/beer :-)

artmg commented

Technically speaking, @robchandhok in life, the easiest thing to do is frequently nothing ;-)

In theory, much of the 'programming' work is already done, it should be more of a case of adding configuration files as per that HACS documentation you mention. Unfortunately, any work to convert to HACS would risk breaking the component in its current form, so I would not encourage the changes to be made here in this particular repository. However, I could create a secondary HACS project if people are interested in having a go. It sounds like there is already at least one keen volunteer in this thread :)

Get in touch if you'd like to see a HACS version, and may be interested in being a part of bringing it to life. Thanks

FWIW, I've added the hacs.json file to a fork, and moved the files to custom_components/, and I was able to load using a custom repository in HACS.

I would make a few more changes if I could figure out where:

  • I would prepend "warmup_" to all entity/device names, "climate.master_bath" could be ambiguous (thermostat for air or floor?).
  • Add setup via UI for integration
  • bump versions, make it cleaner about minimum supported etc.

Happy to help but I'm not a great Python coder. Really appreciate the work done so far @artmg !

See https://github.com/robchandhok/warmup

artmg commented

Fantastic initiative, Rob. Unfortunately any changes like this to make it HACS compliant risk breaking its ability to be used as a manual custom component. So for prudence I have created a separate repository, based on your fork, called hacs-warmup.

If we put all the HACS related changes, issues and documentation in there, then it stops that work treading on the toes of anything here. I have added you as a contributor, and already raised a Pull Request #1 for the basic documentation changes.

@artmg I think we'd be better having one repo for the pypi project and one (HACS compliant) repo for the custom_component. I think this would be a more standard setup. What do you think? We could delete custom component from here and delete the pypi bit from the repo you just created and fix up the README.md in both so people don't get lost.

Agree with the structure @foxy82 described.

artmg commented

Restructuring of this project under #50 is now complete and has been delivered #54 in release 2023.3.19

Thanks for your advice and contributions