open source ZM client: ZmNinja (uses ZoneMinder APIs)

Discussion topics related to mobile applications and ZoneMinder Event Server (including machine learning)
Post Reply
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

open source ZM client: ZmNinja (uses ZoneMinder APIs)

Post by asker »

Please follow the zmNinja blog or the twitter channel for updates.



Presenting ZMNinja - an open source cross platform client for ZoneMinder.
Runs on the following platforms:

Mobile:
iOS version on App Store
Android version on Play Store


Desktop:
Mac, Linux, Windows.
Download for free, here

As of Dec 14, 2015, the beta tests are closed. I've submitted the apps to the app/play store.
The Desktop versions are free.

Thanks for your support.

For those who want to see how it looks - here is a video of iOS client.

Source Code & Screen shots here

Upgrading your ZM version to APIs:
Instructions here

As of Oct 12, 2015 zmNinja supports real time event notifications via the new ZoneMinder event server. Instructions on setup here
Last edited by asker on Sun Oct 04, 2015 2:48 pm, edited 37 times in total.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
PacoLM
Posts: 971
Joined: Wed Dec 02, 2009 9:55 pm
Location: Spain

Re: Working on an open source ZM client: ZmNinja

Post by PacoLM »

Looks really good! Good job.
If you want a beta tester for Android, let me know ;)

PacoLM

After more than 15 years, no longer using ZM as surveillance system.
Now in the dark side, using a commercial system...
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

Cool, thanks PacoLM. It will be a while before I get to Android - but will be happy to get it by your way.
I'm learning iOS/AngularJS programming now 8)
PacoLM wrote:Looks really good! Good job.
If you want a beta tester for Android, let me know ;)

PacoLM
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Re: Working on an open source ZM client: ZmNinja

Post by knight-of-ni »

Nice work. We had someone a while back stop in and volunteer to write a new (open source) app, but it looks like that person never got the ball rolling.

According to Kyle the API is installed by default if you build with cmake:
https://github.com/ZoneMinder/ZoneMinde ... t-68536313

We plan to depreciate autotools eventually.
Visit my blog for ZoneMinder related projects using the Raspberry Pi, Orange Pi, Odroid, and the ESP8266
All of these can be found at https://zoneminder.blogspot.com/
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

Thank you. I did notice that thread of discussion. Given that it only gets installed via cmake, I'd suspect a majority of people won't be using it, which makes using it in my mobile app a non starter for now. I do look forward to it being a mainstream part of a new update to ZM - it would be pretty simple to switch from my view=xml/view=mobile mode to a proper API when its ready! I went ahead and asked kyle about the status in that thread anyway, incase he responds.
knnniggett wrote:Nice work. We had someone a while back stop in and volunteer to write a new (open source) app, but it looks like that person never got the ball rolling.

According to Kyle the API is installed by default if you build with cmake:
https://github.com/ZoneMinder/ZoneMinde ... t-68536313

We plan to depreciate autotools eventually.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Re: Working on an open source ZM client: ZmNinja

Post by knight-of-ni »

I'm not sure how many people are still using autotools. Many have already switched over to cmake.
In time, we will get rid of autotools altogether.

We also plan to eventually depreciate the xml skin, in favor of Kyle's API.
Visit my blog for ZoneMinder related projects using the Raspberry Pi, Orange Pi, Odroid, and the ESP8266
All of these can be found at https://zoneminder.blogspot.com/
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

knnniggett wrote:I'm not sure how many people are still using autotools. Many have already switched over to cmake.
In time, we will get rid of autotools altogether.

We also plan to eventually depreciate the xml skin, in favor of Kyle's API.
Do you recommend I switch to using APIs? I can reinstall ZM with make.
I had to manually install the APIs over my current version (which was installed using dpkg-* as instructed in https://github.com/ZoneMinder/ZoneMinder) because the github instructions don't result in APIs being installed.

The problem I found was after manual install, it was responding to my queries even if I did not authenticate, which was worrying. Would you know if the APIs would tie into auth if I installed it via cmake?

Finally, would you have any advice what is the best way to go about interfacing with kylejohnson if he is the only one responsible for the APIs should I discover/need API stuff for the client?
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
knight-of-ni
Posts: 2404
Joined: Thu Oct 18, 2007 1:55 pm
Location: Shiloh, IL

Re: Working on an open source ZM client: ZmNinja

Post by knight-of-ni »

Yes, I recommend you develop your app to use the API rather than the xml skin.
Recommend you use a zoneminder built from cmake, rather than autotools.
That doesn't necessarily mean you have to build from source yourself.
I don't recall if you have previously mentioned the distro you are using. Fedora, CentOS, and (new) Debian rpms are available that have been built using cmake.

Please ask Kyle your questions about the API. Since it isn't finished, let him know if there is anything you think should be added.
Visit my blog for ZoneMinder related projects using the Raspberry Pi, Orange Pi, Odroid, and the ESP8266
All of these can be found at https://zoneminder.blogspot.com/
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

knnniggett wrote:Yes, I recommend you develop your app to use the API rather than the xml skin.
Recommend you use a zoneminder built from cmake, rather than autotools.
That doesn't necessarily mean you have to build from source yourself.
I don't recall if you have previously mentioned the distro you are using. Fedora, CentOS, and (new) Debian rpms are available that have been built using cmake.

Please ask Kyle your questions about the API. Since it isn't finished, let him know if there is anything you think should be added.
Okay, thanks. I'm on Ubuntu server 14.04 - so I guess from source is the way to go for cmake. I'll go ahead and ask kyle my API qs - what's the best way to do that though? post as github issues even if they are not issues? (example: thoughts & challenges)
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

A quick update. The client is coming along nicely.
I've migrated almost all of it to the ZoneMinder APIs. It makes my life easier, but unfortunately, there is only one person working on the ZM APIs and it looks like API updates is not in his top priority list. If you want the client to have more features, do let the ZM folks working on the API know I need their help :-)

So while my app is working rather well so far, unless you have the APIs installed, you are not going to be able to use it. Also, I'm hanging around for some key API filters which I'll integrate when I get a response from the API maintainer/developer.

In any case, I'm open sourcing this by this month end and I'll continue to upgrade it and push changes.

Some eye candy: All screens are using the API for the most part (except live view, there is no way to do it via the API so far)

I've simplified the menu - taken out filters. I think filters in a mobile app is completely useless unless you can perform operations on it (which I haven't added yet, and nor is it supported as far as I can tell with the APIs)
Last edited by asker on Wed Jul 01, 2015 7:41 pm, edited 2 times in total.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
Henri
Posts: 29
Joined: Mon May 16, 2011 7:39 pm

Re: Working on an open source ZM client: ZmNinja

Post by Henri »

Your application looks really good. :D
If you need someone for debugging please let me know.
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

Thanks folks.

The code is not yet at a stage where I consider it beta for testing. Its pre-alpha right now.
I'm waiting for kyle@ZoneMinder to resolve some API issues - I can't proceed unless they are resolved.

Plus there are various things I need to do (including making the client handle 20-30 monitors gracefully without looking horrid, gobs of events etc)

Anyway, I've pushed the code to github for developers to start looking at
https://github.com/pliablepixels/zmNinja

Please don't report issues yet - there are many I know of. I'll fix them over the next few weeks.

Plus, most importantly - I'm not a coder and this is my first AngularJS/phonegap app, so its likely its full of head reeling code.
Last edited by asker on Wed Jul 01, 2015 7:41 pm, edited 1 time in total.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

So the app's been making great progress, see the first post in this thread.
At this stage, I can easily generate an Android version for testing - but you need to have the latest APIs of the angular-ui branch installed and working (not trivial).

If there are any takers who want to do this, let me know. The app also has a simulation mode built into the settings screen - you can try the app - it will fake events and monitors so its not of real use to use, but you will get to explore the full app :-)

So bottom line, the app is in good state, but I'm going to have to hang around till the ZM folks merge the APIs and make it easy for folks to access and also provide more some critical missing features (like viewing events footage - yeah, the APIs don't support it yet)
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

Lots of new updates:
Both Android and iOS ports are rock solid. Events view integrated, with skip/prev/next/pause/play
If any of you want to install the APIs for ZoneMinder, I'll be happy to send you the app to test

https://github.com/pliablepixels/zmNinja
Last edited by asker on Wed Jul 01, 2015 7:41 pm, edited 1 time in total.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: Working on an open source ZM client: ZmNinja

Post by asker »

Awesome news :ZM folks are trying their best to incorporate the APIs into release 1.29.
No guarantees that they will, but if it does, this app can go mainstream and everyone can use it.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
Post Reply