I wrote a new Zoneminder binding from scratch. I tried to use the existing binding for a while. I even tried to fix the existing one, but it would’ve required far too much time to fix.
Initially I wrote the binding for my own personal use, because I wasn’t sure if I’d be able to make it more reliable and maintainable than the existing binding. As it turns out, someone found it. And, based on it working pretty well, I’m making it available for others to use.
This binding is compatible with Zoneminder versions 1.34.0 or greater and Zoneminder API version 2.0.
It supports Zoneminder configured for user authentication, as well as no authentication.
It’s NOT backwards compatible with earlier versions of Zoneminder because it uses the new token-based authentication model. I also think it uses features of the API that may not be in older ZM versions.
I’ve named my implementation of the binding org.openhab.binding.zm instead of org.openhab.binding.zoneminder to clearly differentiate it from the old one. If I end up submitting this for inclusion in the distribution, I’ll likely need to rename it back to org.openhab.binding.zoneminder.
There are some things you can’t currently do with the API, such as setting the event cause when triggering an alarm externally. Hopefully those features will be added to the API at some point.
In the process of developing the binding, I ran into a few Zoneminder bugs. I was very pleased with the responsiveness of the ZM team in resolving those bugs. As a result, I gave them a donation.
If you’re similarly happy with ZM, I’d encourage you show them some love, too.
The jar file can be found here.
And, the README can be found here.
Let me know if you run into any issues, or have any suggestions for improvement. If you have an issue, DEBUG logs are very helpful. The binding also has TRACE-level logging that’s very verbose.