I was just replying to an old thread about a feature request to MakerAPI and it got me thinking about all of the MakerAPI requests I've personally made or wanted over the years. I don't think any of them were actually done no matter how small (and some of them were really small requests IMO)
I'm not trying to blame anyone -- I get it -- there's only so much time in the day and when you're running a business you have to prioritize things.
But, it seems like it'd be a great opportunity with a platform like Hubitat which has such an active community of developers who've contributed so much of their own time to open source some of these built-in apps like MakerAPI.
I personally don't know if I'd still be using Hubitat if it weren't for so many of these open source apps (Blink, Tuya, Kasa, Orbit, Rachio, Weather and on and on). To me Hubitat is in a good middle ground between the overly complex Home Assistant and all of the closed systems that Google/Amazon/Apple provide.
Now, I'm guessing there's nothing stopping someone from writing their own version of MakerAPI from scratch today. I've thought about it but am no where near able to do this myself today. But, I could probably help with a couple of additions or changes if the source was available.
I'm not saying it'd be great either to have several versions of MakerAPI out there either.. but, as with most of the apps/drivers here typically one of them seems to stand out over time and become the de-facto standard.
What does everyone else think? Is there dev out there who thinks it'd be easy to write an app like MakerAPI? I'd be up for learning how it works and adding to it
Please provide a concise list of these, and I'll look into it. Not making any promises, but yeah, some things might be doable.
As for implementing an open version of Maker API, I can tell you that as it is implemented, Maker API utilizes certain built-in system methods that are restricted for security reasons, and not available to user created apps. I can't tell you off the top of my head if there is another way to do these things that wouldn't use restricted methods.
Maker API supports a wide range of use cases, and any single user is likely to only use/need a subset of its features. Which ones are needed for a particular use case?
Two that immediatrly comes to mind is one to trigger a RM rule and the other to get a list of RM rules. It would be great to do it from a dashboard like HD+. To keep it simple in Hubitat, I use a the change state of a global variable to trigger a menu rule that uses a number value that I use Tasker task to set. Tasker has many dialog types built in so it is easy to build the task. It would be simpler to trigger the rule directly from Tasker.
While writing this I realized that I would also want to create a log message directly from Tasker.
While it wouldn't be impossible to cram this into Maker API (can't speak to the likelihood...), you may not be aware such an API already exists, both on the hub (for direct use in your own Groovy apps) and over HTTP (similar to Maker API):
Here's a few that I can find.. some definitely more useful that others and I can try to better summarize them just let me know. I know for myself personally (HD+) the first one would be the biggest one for me. But, I do think they'd all be useful to others too.
It's going to take me some time to work through this list, which I will do. I'll get back with updates...
About the first item on the list: It's above my pay grade (knowledge) and those who could help are more than full time employed at the moment on high priority projects. So this will have to wait a bit.