[Feature Request] Maker API - Disable Device Commands

I'll admit this isn't something I am needing / wanting, but some recent conversations about the Hub Info driver got me thinking, and I thought others may think this was a good idea....

I use Maker API to send events to a raspberry pi to record them in InfluxDB and produce charts in Grafana. That all works fine. I could see situations where people may want to limit options in Maker API to only make the device information available, but no device control (commands). I'm thinking there could be a checkbox (setting) like those that enable / disable mode and HSM control. The default could be the current behaviour, leaving commands "turned on", but you could turn the setting off to stop any device command calls to that Maker API instance.

Obviously, separate installations of the Maker API app allow for lists of devices that require control and those that are info-only.

3 Likes

I can see the value in the feature you're requesting. It seems to me that Hubitat's undocumented WebSocket eventstream would be ideal for this.

A few years ago, @chuck.schwer had indicated that while the WebSocket eventstream was undocumented and unsupported, that there were plans to create a documented WebSocket interface at some point of time with no ETA. The undocumented eventstream still works ....

@gopher.ny - is this still on the roadmap?

2 Likes

Any additional feature like the websocket would be welcomed, but I expect there are some existing external solutions that would rely on the POSTing of events via HTTP, which I am thinking is not what the web socket would produce? Not something I have dabbled in myself....

Are we talking about /eventsocket stream?
At this point, I'd say it makes sense to just document it. It's been around, unchanged, for years.

4 Likes

+1 for the /logsocket stream as well!

4 Likes

Yup. And I agree. Seems to work for a lot of people. Documenting it would be great.

1 Like

:raised_hand: ..... Maker API - Disable Device Commands :smile:

Good to see something may come from this request :slight_smile:

2 Likes

Did this ever happen? I want to completely prevent any button controller or remote from moving my blinds when on vacation. Currently, it requires me to disable the device manually and all things that act on blinds are rendered inoperable.

Not that I am aware of...

While the Maker API request I made would be nice in your situation, it feels like what you are after could stretch further than just Maker API.

Whether it does immediately (or not), there are situations I could imagine where automations outside of Maker API could be instigated, so would need some restrictions outside of those configured within Maker API, like I suggested. E.g. triggering of rules from outside... Perhaps not your circumstance, but something to consider.

As much as an automated solution would be nice, a switch is the likely solution in your case I expect. If the restriction via Maker API is implemented and covers your situations then, happy days.

You can programmatically disable devices and apps via API. Maybe have a rule that fires ehen on vacation that disabled the button controller apps instead of the devices?

2 Likes

Can you point me to docs on that or an example?

Within Rule Machine you can disable a device:

Or it can be done via endpoint from Rule Machine, custom app or even externally like NodeRed:

Other example:

5 Likes

This wasn't what I had in mind, but still good for people to know this can be done.

Trying to do this today via http call, and get a 404 when I attempt this. I did find the options in rule machine to disable a device, so I'm going to give that a shot. I could NOT find where to disable/enable an app (i.e. like a specific dashboard).

Re disabling Apps, at the top of the Apps page there are various icons, one being a (typically) greyed out "X". Click this to toggle the display of the disable/enable option next to each App.

Has to be a POST not a GET. I just tried via PostMan and it works.

I also tried the following POST and it disabled an app:
http://ip-address/installedapp/disable?id=XXX&disable=true

1 Like

My bad, forgot you were looking to do this via API calls :slight_smile:

1 Like

Ahhh, that did it. Thank you!

I couldn’t find it as an option in rule machine.

3 Likes

You can do it with the URL I mentioned above as http post action. Since it is coming from RM you will need to add the :8080 port

3 Likes