NxBot & Programmable Surveillance

Jack
4 min readFeb 5, 2019

--

Photo by Siarhei Horbach on Unsplash

When it comes to surveillance systems in 2019, there appear a limitless number of security camera solutions. Nest, Arlo, Blink, Swann, Night Owl and Ring, just to name a few brands you’ll see walking into your local box store.

It’s great to see video surveillance becoming readily available and more affordable, however there seems to be a trend with all of these offerings. They’re end-to-end solutions, packaging hardware and software together.

Generally speaking… This poses potential issues to the consumer, tech-savvy and novice alike. Having your hardware and software tied together means you’re subject to limits of the given products’ offerings. If you want to add another camera, you’re stuck with their brand’s cameras. If the software doesn’t have a specific feature, or doesn’t integrate with your smart home, or whatever else — well, hopefully you can file a support request and see the feature added somewhere down the road.

My last point is the Cloud. The idea that your personal surveillance video is being streamed up through the Internet leaves me feeling uneasy. There’s also the case in which you’re bandwidth constrained, sending multiple video feeds can be costly both in terms of performance and monetarily. I do think this is why many companies are calling it “Cloud” and not just “Internet” after-all…

I don’t deny the ease of use that these highly integrated systems offer. It definitely lowers the barrier to entry for a lot of people. It’s unfortunate, however, with all of the growth in this area that there remains a lack of powerful, well polished, fully featured surveillance software that integrates with traditional IP cameras…

Fortunately, there is one solution that I’ve come to discover that rivals even the best of the end-to-end offerings: Nx Witness by Network Optix.

Nx Witness

It was a year ago that I first started using Nx Witness and after trying countless paid-for, or free and open-source solutions I was amazed by the overall experience of Nx Witness.

As a video management software (VMS), using the traditional features of reviewing footage, setting up recording scheduled, motion zones, alerts, etc… It was not only intuitive, but amazingly fast — which, if you haven’t spent a lot of time with other VMS solutions is a rare but pleasant surprise.

But I’m not writing this to praise the standard features of Nx Witness. If you’re you’re interested, however, visit their site and see for yourself.

What I wanted to write about today is how not only is Nx Witness solving my surveillance needs, but its powerful API has allowed me to build features on top of their system, like my only personal Ring-style doorbell alert using all my existing hardware combined with open-source software I authored.

Introducing NxBot

NxBot is an free and open-source program that provides access to camera snapshots and motion alerts through the secure messaging app, Telegram (available on web, desktop and mobile).

Left: Motion event snapshots, Right: On-demand snapshots

NxBot is available on GitHub where there contains information on how to setup the software for your own use. To get started visit the projects’ Wiki, which covers how to configure Nx Witness and Telegram.

Programmable Surveillance

What makes NxBot possible is the extensive server API available to Nx Witness customers. NxBot is a rather simple program that calls upon just a couple of the server API endpoints.

You can take a look at the Server API and other developer resources located on the Network Optix support site:
Where can I find the Nx Witness SDK/API?

In addition to the Server API, Nx Witness features a rather feature rich Event Rules system. The “Do HTTP request” action really allows you to integrate Nx Witness events into any other system and made NxBot trivial to get working.

Left: Example of the Event Rule used to NxBot motion events, Right: Other available actions

In Summary

Nx Witness continues to prove itself useful time and time again. I wish more companies would approach products with the same dedication to openness as they do to business-promoting ecosystems.

I’m far from the typical consumer, but let me tell you that it doesn’t mean the Nx Witness VMS is more difficult to use. If anything it’s been the easiest, it’s just that under the hood I was pleased to find an extremely powerful server API.

I look forward to expanding this project, in part, taking a closer look at the Video SDK offered and making a standalone mobile app similar to Ring, but powered by Nx and their open platform.

To find out more and to download NxBot visit the GitHub Repository and Wiki.

--

--