Hubitat Limitations

I have written a stand alone groovy app that runs as a Linux service to query Hubitat location mode then update Zoneminder camera's function based on that location mode. Currently that requires poling both system's API's often to keep them updated. I would prefer to Make the Zoneminder API calls directly from Hubitat when the location mode changes but have a dilemma. I require the use of several java classes that Hubitat will not allow. They are; java.net.InetAddress , java.security.cert.X509Certificate . javax.net.ssl.TrustManager . javax.net.ssl.X509TrustManager , javax.net.ssl.SSLContext , and javax.net.ssl.HttpsURLConnection

Is there an alternative or a way to utilized these classes in the Hubitat environment?

Unless they allow access then I'm not sure you can. The workaround I did was using an external server to do the heavy lifting and communicate the data back to HE - not really an ideal situation BUT definitely reduces potential hub overhead.

1 Like

Not that I know of - but I'm not a cert expert either.

But you could use Maker API to push the events to your man-in-the-middle system, and just listen for the location/mode events. That way you at least wouldn't have to poll the hubitat side.

4 Likes

Yeah, a bit of a pain. plus it requires the use of an unencrypted access to my Zoneminder API's via the man in the middle system. Not what I an looking for. Don't understand why there would not be access to SSL/TLS via Hubitat. What would it take to open that up?

Actually it would reduce hub overhead since this would only run when I changed location mode instead of poling every five minutes.

1 Like

You would make a request to @gopher.ny and/or @bravenel , and based on the security implications to the platform, difficulty to implement, and potential # of users that would use the feature they would add it, or not.

As with any product:
Low risk, easy, many users is more likely to get implemented than Low risk, hard, few users. Etc.

2 Likes

Are Zoneminder API calls using HTTPS with self signed/invalid certificate?
If so, there's ignoreSSLIssues parameter in httpPost, set it to true and it will take anything.

2 Likes

At the moment it is using a self signed valid cert that I created. I will however be setting up client based cert access only and therefore would be using the needed classes.

I will try out the ignorSSLIssues to get started though. Thank you for the direction. Still have to learn the Hubitat environment.

Is the Hubitat to Zoneminder traffic all local on your own private LAN? Or are you wanting Hubitat to communicate to a cloud service? I have no experience with Zoneminder, and thus I am curious…:thinking:

ZM is on a separate network from hubitat and I can access it from outside my firewall as well

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.