I’ve started using Shinobi. It’s a free (for home use) CCTV solution that is an alternative to ZoneMinder and Blue Iris. It runs on Mac OS, Windows, and Linux.
I initially tried running it on an ODroid XU4 without much success. I’m now running it on an old Dell running Ubuntu 16.04 LTS alongside openHAB 2.2. So far I only have two cameras but it runs really well.
There is no openHAB binding (yet), but I do have jpegs from the camera feeds displayed on my sitemap along with mjpeg feeds on HABpanel. It also supports an API which should work with the http binding ( though I haven’t tested it yet).
I share this because, even without a binding, it integrates well with openHAB and I was looking for alternatives after frustration with ZoneMinder. I’d be curious to hear others’ experience with Shinobi, particularly with regards to openHAB integration.
Thanks for sharing. I’ve been having challenges with ZoneMinder as well. The Docker containers I find are out of date and it is not an easy program to install. This might be an adequate replacement (BI doesn’t run on Linux so it is out of consideration in my environment, I’m not anti-windows, I just don’t want to pay for a license just to run one service).
I’ll have to give it a look. I don’t expect I’ll ever have more than three or four cameras so lack of mutiserver support isn’t a problem for me.
However, while it has a pretty good API for controlling Shinobi, I’m not seeing a way for Shinobi to reach out and trigger OH or anything else when, for example, it detects motion or other OpenCV events. I only looked for like 5 minutes so I may have missed it.
But I’m as if not more interested in getting the motion events to OH than I am in using OH to trigger a camera to record.
I think by default curl does a GET, not a POST. A quick scan of the API looks like all of these commands are expecting GETS so try using that in your Items and see if that works.
@sipvoip@rlkoshak This was actually my first change to play with the API, and I’ve had the same success with GET! I’m really happy you guys both like it so far.
@rlkoshak I agree that it looks like Shinobi doesn’t currently have a way to share its motion events via its API, though I’m going to install the motion plugin and play around with it.
It looks like there’s a plugin in development to connect Home Assistant and Shinobi, though it doesn’t look like importing motion events is an option yet there either. I’ll plan to keep an eye on their efforts, though I doubt I have the skills to duplicate it in a binding.
Next, I opened up my monitor settings pages (each one is done separately. Hit “Advanced” at the bottom, and make sure it says “Detector: Motion Connected” on the left. Click that heading, turn Enabled to “Yes,” and Command on Trigger, to “Yes.” Then, put the curl command in the “command” field - here’s one of mine:
I’d also suggest making a few tweaks. Mine was way too sensitive so I turned the “indifference” up to 500 (in both the monitor page and the region edit page), though I’ll need to mess with it further. I’d also turn “Allow Next Command” down significantly, I set mine to 1 to match the minute in the Expire binding.
Hey. Currently I’m working on a custom docker image for Shinobi CCTV based on Shinobi Pro . I’ll let you know when you will be able to find it at Docker Hub, if you’re interested in. Right now I’m fighting some issues regarding True Type Fonts and timestamps related to Alpine Linux.
I have build custom docker images for Shinobi CCTV based on Shinobi Pro. Thanks to MoeIsCool for his great work and inspiration. You will find it on Docker Hub https://hub.docker.com/r/migoller/shinobi/ .
The Alpine images fails right now on Shinobi’s timestamp features because because Alpine’s ffmpeg package is missing the configuration “–enable-libfreetype”. Compiling ffmpeg from the sources did not the trick.
That’s why I decided to add a Debian based docker image; Debian’s ffmpeg package does not miss any required configuration options. API-access is working so Dome’s items should be able to access Shinobi’s monitors and groups.
I’ll add some stuff for setting up the database on remote MariaDB or MySQL servers. Right now you’ll find a script and corresponding sql-files on GitHub https://github.com/MiGoller/docker-shinobi/tree/master/sql .
Hey Moe. Thank you for your feedback. Looks like the execution permission is missing on docker-entrypoint.sh. I’ll fix this and let you know. You will find this issue on https://github.com/MiGoller/docker-shinobi/issues/2 .
Hey Moe. I’ve just updated both images, alpine and debian, on Docker Hub. Building the images succeeds locally and on Docker Hub. I’m running my debian image, which I pulled from Docker Hub, without any errors while starting up. Can you give it a try, please? Regards.