Suggestion for HPM Developer Doc and HPM Packages

I'm a newbie developer on HE. I have no experience with github and json operations. I just migrated from Vera, which required me to develop a custom device driver for my Hikvision cameras that I released yesterday by posting it in the Custom Drivers category.

Now I want to get my driver into Community using HPM. But the doc came up short. It assumes I am a developer who is well versed in json and issuing various requests. I could not get past the first step using this doc.

It wasn't until I went to (i.e. stumbled upon) the HPM repository on github and found the README. In there was the process and the examples I needed to get me started, I think, I hope! :slight_smile:

So my request is, please put a link to that README in the developer section of that doc for HPM.

As we all know, "searching for answers" is no fun. Good doc is critical. I worked in a world where it was essential. But I know, nobody wants to take the time. Its like this everywhere now.

So my other suggestion has to be, all built-in and community apps and drivers should have a user guide, no matter how simple it may be. For a more complex driver with specific requirements, please see mine for a good example (just like the old days for me). Without that, what's a poor user to do if they try to use my driver and it doesn't work? They will blame me, that's what! But it was they who forgot to... can't say it!

Thank you!
TomS

1 Like

I wrote a quick addon app HPM Manifest Generator (in HPM or at https://raw.githubusercontent.com/thebearmay/hubitat/main/apps/hpmManifestGen.groovy ) to simplify the creation of the manifest contents and create an update for the repository.

4 Likes

Documentation for built-in apps and drivers is here:

For apps and drivers created by the community, it’s really dependent on the developer, or a knowledgeable user, to take the time to create documentation.

Suggesting that it be done is one thing, actually doing it is another thing entirely, and there’s no way to enforce that.

ETA: the documentation for your new Hikvision driver is very well done, which is always appreciated :slightly_smiling_face:.

2 Likes

Thanks, I understand the difficulty with requiring and enforcing that on Community stuff, but there could still be some best practices or guidelines published along these lines. And no doubt, users will always forget to... can't say it.

And thanks for the compliment... I'm hoping it does provide a good example for others.

Good day!

2 Likes

Cool, I will check this out for sure. For starters, I'm going to use the hpm method in the README to get better acquainted with the underlying process. In there was a link to the tags I can use, which is something else I was looking. Saw them in your code, too. Thanks!

I'm puzzled a bit... the two are the same. The README is a clone of Dominic's original, a result of the fork. The website, on day one, was 100% of the words and photos, just in a web format. I decided to build the website (and purchase a ssl cert) only to make the document more readable/accessible. :smiley: I have made an edit or two to the web documents, in response to questions I've received, but overall, they are the same :smiley:

I'm not knocking the critique, just pointing out how unexpected it is, given that my intent was exactly the opposite :smiley:

I've added a link.

1 Like

As someone who likes writing code for a hobby and publishes/supports the community only as a favor, I chuckled at this and smiled.

Then my side evil thought...sure I will write documentation but charge :moneybag: premium prices for it, since that would be actual work to me and not a hobby, and would expect to get paid for it. :slight_smile:

6 Likes

Ok! I see now they are the same. Sorry for that bit of confusion! But that leads me back to step one, and the assumption I know what I'm doing because I rarely do until someone shows me how to...

Submit a Pull Request to the Master Manifest repository with a JSON snippet that will get merged into the current repository.

I'm a newbie dummy and need step by step... thanks!
ps... I know what goes in it, I just don't know how to submit it.

Got it, figured it out on my own with a little help from youtube

  1. go to HubitatCommunity/hubitat-packagerepositories
  2. Fork a copy into my git
  3. Open setting.json in my git
  4. Add my name and rep to the bottom of the list where it belongs
  5. Submit Pull Request, with title and description

If this works, I will come back and mark this as the solution.

1 Like

I agree that more knowledge is going to make the process better, but this community isn't the place to teach Github :smiley: That's what YouTube is for, right? :smiley: (It has to be good at something, given the hours my kids spend looking at it. :angry: )

I am NOT a Github resource, I would call myself barely adequate. Perhaps that's the reason I don't tackle that 'opportunity' :smiley: I don't really go with the Github flow myself. I get PRs to add to the Master Manifest and I do NOT use the merge feature, I manually merge it because that fits my workflow better. Plus I have to manage two Github repositories... so i'm open to accepting updates via PM here as well.

3 Likes

Yes, sorry to have taken this post off-topic with my github issue and lack of knowledge thereof. You're right, this is not the place for that. I'll get there someday soon, step by step. Thanks for your help with my submission.