ZmNinja: Release specific notes

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

ZmNinja: Release specific notes

Post by asker »

This thread will contain release specific notes for ZmNinja.
The first post (this one) will always contain a summary of release notes

Users are encouraged to post in this thread with suggestions/bug reports/etc. So far you've been email me - please post to the forum instead so others can benefit.

Current Release: Release 0.86
Changelog: HERE
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
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

New tester here. Here are my initial observations for iOS release v0.81.

Initial setup/ZM Settings:
1) For ZM portal URL I mistakenly entered only the ip address, without the /zm suffix. This caused an 'api not found' error. Then the "ZoneMinder upgrade needed" page appeared with a reported version 0.0.0. Now there's no way to clear it or go back and fix the settings. Probably have to delete and re-install.

2) Possibly the reason I messed up was I noticed the "ZM api url" had the proper suffix automagically added so I didn't bother to verify the correct portal URL during initial setup.

System Status:
3) Initially returned "undetermined/undetermined/unknown" but after quitting & restarting the app it is working.

Montage view:
4) Press & hold causes a monitor to continuously zoom in & out... is this a feature to allow selective resizing of each monitor? It's difficult to control once it starts and the setting does not seem to persist. One of my monitors was stuck as a reduced size for a while, then eventually fixed itself.

5) Please consider re-enabling swipe between monitors. I found myself wishing for this then I saw the release notes for v0.77. Perhaps an option to choose between swipe or pinch/zoom?

Montage, Timeline:
6) Consider showing only those cameras selected for montage viewing in the timeline and when viewing prev/next in full screen live view. I use two streams from each camera, full-res stream for viewing and a low-res stream for motion detection. I normally never want to see the low res stream.

Overall the app is very enjoyable to use. Really wonderful & clean UI.

*** UPDATE *** I really like how quickly montage view resumes when you wake up the app from sleep. I just picked up my phone and bam, live view. Sweeeeeeeeet!!!!

Thanks,
Patpend
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ZmNinja: Release specific notes

Post by asker »

Hi Patpend, thanks for the feedback. Some notes inlined:
patpend wrote:New tester here. Here are my initial observations for iOS release v0.81.
Initial setup/ZM Settings:
1) For ZM portal URL I mistakenly entered only the ip address, without the /zm suffix. This caused an 'api not found' error. Then the "ZoneMinder upgrade needed" page appeared with a reported version 0.0.0. Now there's no way to clear it or go back and fix the settings. Probably have to delete and re-install.
Ah yes, if you incorrectly specify a URL then API check will fail and the version compare takes you to the upgrade page. it is intentionally set so you can't do anything with the app - when you upgrade ZM and restart the app, it will automatically start working.

In your case however, you did have the right version but the wrong configuration. That was a bug. Will be fixed in the next release

System Status:
3) Initially returned "undetermined/undetermined/unknown" but after quitting & restarting the app it is working.
Tell me more - this is before you fixed your configuration or after ? If after, how often did it happen? If it happens, please enable debug logs and try to replicate this situation and please let me know what you see in the logs (zmNinja has a convenient way to email logs and it strips out your server/password)
Montage view:
4) Press & hold causes a monitor to continuously zoom in & out... is this a feature to allow selective resizing of each monitor? It's difficult to control once it starts and the setting does not seem to persist. One of my monitors was stuck as a reduced size for a while, then eventually fixed itself.
Yeah - I was experimenting with individual resizes but the way I have it now is painful. I thought I disabled it - I guess not. I'll disable long press for now and come up with a better interface.
5) Please consider re-enabling swipe between monitors. I found myself wishing for this then I saw the release notes for v0.77. Perhaps an option to choose between swipe or pinch/zoom?
Hmmm, may just do so. Watch for it in the next release (if I do)
Montage, Timeline:
6) Consider showing only those cameras selected for montage viewing in the timeline and when viewing prev/next in full screen live view. I use two streams from each camera, full-res stream for viewing and a low-res stream for motion detection. I normally never want to see the low res stream.
Ah. Good point. More work though - I'll get this done in the next few releases
Overall the app is very enjoyable to use. Really wonderful & clean UI.
Thanks!
*** UPDATE *** I really like how quickly montage view resumes when you wake up the app from sleep. I just picked up my phone and bam, live view. Sweeeeeeeeet!!!!
Glad you like it. Do you have auth enabled?
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
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

asker wrote:
patpend wrote:System Status:
3) Initially returned "undetermined/undetermined/unknown" but after quitting & restarting the app it is working.
Tell me more - this is before you fixed your configuration or after ? If after, how often did it happen? If it happens, please enable debug logs and try to replicate this situation and please let me know what you see in the logs (zmNinja has a convenient way to email logs and it strips out your server/password)
I'm testing on a 6S and an iPad Mini 2. This was on the iPad which was configured properly from the get-go. It only happened once and has been fine ever since. Also, once I got the iPhone configured properly, this was a non-issue on that device. Maybe just impatience on my part while the app was first syncing up with the server?

asker wrote: Glad you like it. Do you have auth enabled?
Not yet, riding bareback at the moment.

Had a couple of observations during today's activities, which included doing the army crawl in attic hell running cable for another camera:
1) After adding the camera to ZM, all monitors got re-selected in ZmNinja's montage view, so I had to redo those selections plus the newly-added camera.
2) At one point the timeline was missing recent events from the past hour or so. Tried going out and back into timeline a couple of times but I ended up having to quit and re-launch the app to get these events to show.
3) It's probably my fat fingers but when I pinch to re-scale the timeline it often jumps back to the original scaling when I lift my fingers. Seems to be more of an issue on the iPhone than the iPad. Also, please consider expanding the timeline vertical scroll region from just the left and right edges. Maybe include at least the monitor name column, or even the entire graph, if possible.
4) When in montage view a single tap on an image brings up a fullscreen version of that monitor. It would be nice if a single tap on the image brought you back to montage view - as an alternative to tapping the bottom right "uncollapse" button then tapping the "exit live view" button. Pinch zoom works exceptionally well here, smooth and fast. Hoping you're leaning towards re-enabling swipe to prev/next monitor :-)
5) Events: Selections on the yellow "latest events" pull-up don't appear operational (tapping 1 hour summary etc. gives no response).
6) Events: Quick scrub always shows the question mark graphic, although the scrub slider does appear to load the correct number of frames. Possible config/permissions issue on the ZM side?

Please let me know if any aspects of the log file would be of interest based on the above or with any future reports.

Thanks,
patpend
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ZmNinja: Release specific notes

Post by asker »

Had a couple of observations during today's activities, which included doing the army crawl in attic hell running cable for another camera:
1) After adding the camera to ZM, all monitors got re-selected in ZmNinja's montage view, so I had to redo those selections plus the newly-added camera.
Yes, you will need to re-do. What I do is compare the monitor list length with the stored length. If they are different, I reset values because that means you added/deleted cameras and its hard for me to know what got changed. So its a safety measure.

2) At one point the timeline was missing recent events from the past hour or so. Tried going out and back into timeline a couple of times but I ended up having to quit and re-launch the app to get these events to show.
I realized I was not redrawing the timeline correctly in some cases. The next release will always draw the timeline fresh. Let me know if it happens again after I send out 0.82

3) It's probably my fat fingers but when I pinch to re-scale the timeline it often jumps back to the original scaling when I lift my fingers. Seems to be more of an issue on the iPhone than the iPad. Also, please consider expanding the timeline vertical scroll region from just the left and right edges. Maybe include at least the monitor name column, or even the entire graph, if possible.
The timeline does scroll at any point (not the monitor names). But if you hold and drag any where inside it, it should scroll.
With respect to your jump back to original, I've observed it too. Did you try and use the joystick control? (That's got some bugs right now I need to work on, but in its current form it offers an alternate way to pan and zoom)

4) When in montage view a single tap on an image brings up a fullscreen version of that monitor. It would be nice if a single tap on the image brought you back to montage view - as an alternative to tapping the bottom right "uncollapse" button then tapping the "exit live view" button. Pinch zoom works exceptionally well here, smooth and fast. Hoping you're leaning towards re-enabling swipe to prev/next monitor :-)
yes, the next version has both re-enabling swipe and persisting hidden monitors in events and timeline views (not monitor view as the goal in monitor view is to see all monitors). Both will be options in "Developer settings"

With respect to single tapping back to montage, I'd like to avoid it because I've seen various people like to keep single view on and an errant touch is very easy to do. Hence the 2 tap method. However if I hear more people requesting the same, I might do it (I am trying to avoid adding various options unless really necessary)
5) Events: Selections on the yellow "latest events" pull-up don't appear operational (tapping 1 hour summary etc. gives no response).
It should be - I find it the most useful feature in the app (for me). If you are sure there are events in 1 hour and its not showing up, that is you don't even see the pullup bar coming up, then its a problem. I have a note at the end on how to help debug. There are two situations:
a) The pullup bar comes up but you see empty lists - that means the server did not return data at that moment
b) the pullup bar doesn't come up at all - likely an app bug (try killing and trying again)
6) Events: Quick scrub always shows the question mark graphic, although the scrub slider does appear to load the correct number of frames. Possible config/permissions issue on the ZM side?
If you are seeing this as always being a problem, you probably don't have php-gd5 installed in your ZM system. Check apache error logs at the time you are trying to scrub. If it says 'cannot scale image' or something like that then that is the problem.

Code: Select all

sudo apt-get install php5-gd
fixes that problem.

If that was the problem let me know how you installed ZM. It should automatically be included if its a package.
Please let me know if any aspects of the log file would be of interest based on the above or with any future reports.
So in general, here is how to help me:

a) Enable debug logs in ZmNinja - it logs a lot of data, all of which may be useful

b) ZmNinja has a built in log email feature (it strips out passwords and usernames and ZM IPs before emailing and gives you an opportunity to review). If you encounter an error, go straight away to Logs menu and send me the logs. PLEASE DON'T TRUNCATE LOGS. I can't re-iterate this enough. By all means, remove any information you don't want me to see, but please don't assume any specific part of the logs are not relevant.

b) If you think you see a problem, look at the logs. Sometimes the ZM server fails to send data. Look at what responses are being received by the app.

c) Try to replicate the problem but this time, also do a

Code: Select all

tail -f /var/log/syslog /var/log/apache2/error.log /var/log/apache2/access.log
in your ZM server

See what is going on - it often gives you a lot of insight.
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: ZmNinja: Release specific notes

Post by asker »

0.82 pushed. See first post for updates
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
bbunge
Posts: 2930
Joined: Mon Mar 26, 2012 11:40 am
Location: Pennsylvania

Re: ZmNinja: Release specific notes

Post by bbunge »

Started out with ver. .81. Initial install did connect to my ZM server but I was having some issues with my cameras dropping out at night. As I try to keep install procedures on the ZM WIKI up-to-date I'm continually playing with new things. So, I put my server back to Ubuntu 14.04-3 with ZM from the master PPA. The zmNinja install on my Kit Kat tablet would not connect to the server with the "old" settings. My monitors were now working well and the API tested OK. On the tablet I went to Settings/Apps/zmNinja and cleared the cache and data. Went back into zmNinja, configured the settings and it worked!
I set up SSL on my Apache server and turned on SSL on zmNinja but would not validate. When I connect with a web browser I have to accept the certificate.
Installed .82 and am running through the features. Still can't connect with SSL.

Will work on setting up the event server tonight unless honey do projects get in the way..

bb
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ZmNinja: Release specific notes

Post by asker »

bbunge wrote: I set up SSL on my Apache server and turned on SSL on zmNinja but would not validate. When I connect with a web browser I have to accept the certificate.
Installed .82 and am running through the features. Still can't connect with SSL.

Will work on setting up the event server tonight unless honey do projects get in the way..

bb
bbunge, for SSL please make sure you have followed this:
https://github.com/pliablepixels/zmNinj ... uration.md

The important part is to install the SSL certificates in your phone. Accepting it via a browser won't work for zmNinja
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: ZmNinja: Release specific notes

Post by asker »

Note, if you are using 1.28.107 ppa, I just realized it is not installing php5-gd. That is why all of you are reporting that "Quick scrub" of events is not working in zmNinja while full view of event is working. They both use the same command, except in the former, it also requests ZM to scale the image. ZM fails there if php5-gd is not installed. If you check apache error logs you will see this error when you do a quick scrub:

Code: Select all

PHP Fatal error:  Call to undefined function imagecreatefromjpeg() in /usr/share/zoneminder/www/views/image.php on line 102
The solution is simple: install php5-gd and restart apache

(Commands for ubuntu:)

Code: Select all

sudo apt-get install php5-gd
sudo service apache2 restart
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
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

This was spot on. FWIW I'm running ZM in a Docker container, using an old Docker version as it turns out, so this was a good learning experience. Normally one would edit the original dockerfile to add the install of php-5 but this would mean having to re-configure ZM from scratch (as least that's my understanding). Instead I committed my running container to a new image which saved all ZM config data, upgraded to the latest Docker version which supports the 'exec' option which lets you execute shell commands in a running container, started the saved image, then installed php5-gd and restarted apache using exec. All good!!! Here's what I did:

Code: Select all

# get the container ID of running & configured ZM image
$ sudo docker ps
CONTAINER ID        IMAGE                                    COMMAND             CREATED             STATUS              PORTS                NAMES
289f6f75cc54        quantumobject/docker-zoneminder:latest   /sbin/my_init       8 days ago          Up 8 days           0.0.0.0:80->80/tcp   Zoneminder  

# commit the current ZM state to a new image
$ sudo docker commit 289f6f75cc54 zoneminder-2015-10-14
82cc24e7e6858879299c356d4137775da634162b4a3df9a0a2d4f2ea61224e5d

# stop the ZM container
$ sudo docker stop Zoneminder

# archive the new image in case the Docker upgrade breaks something (it didn't)
$ sudo docker save zoneminder-2015-10-14 > /mnt/share/backup/zoneminder-2015-10-14.tar

# stop Docker and upgrade to the latest version
$ sudo service docker.io stop
$ sudo apt-get remove docker.io
$ wget -qO- https://get.docker.com/ | sh

# run the new image
sudo docker run -d --name="Zoneminder2" --privileged=true -v /mnt/share/zoneminder/events:/var/cache/zoneminder/events:rw -v /mnt/share/zoneminder/images:/var/cache/zoneminder/images:rw -v /etc/localtime:/etc/localtime:ro -p 80:80 zoneminder-2015-10-14

# wait for ZM to start up fully, give a quick test, now finally we can add the missing component
$ sudo docker exec Zoneminder2 apt-get update
$ sudo docker exec Zoneminder2 apt-get install php5-gd
$ sudo docker exec Zoneminder2 service apache2 restart
Picked up my iPhone and ZmNinja quick scrub is now working. Didn't miss a beat. Awesome.
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

asker wrote:
Had a couple of observations during today's activities, which included doing the army crawl in attic hell running cable for another camera:
1) After adding the camera to ZM, all monitors got re-selected in ZmNinja's montage view, so I had to redo those selections plus the newly-added camera.
Yes, you will need to re-do. What I do is compare the monitor list length with the stored length. If they are different, I reset values because that means you added/deleted cameras and its hard for me to know what got changed. So its a safety measure.
Just noticed that the monitor list also resets if you happen to start the app without a network connection to your ZM server (e.g., outside wifi range). One whoops and the list is gone.

Some other 0.82 observations on iPad/iPhone:

1) Landscape mode no longer working.
2) Montage: swipe now working (thank you!) but shows deselected monitors (and should not).
3) Monitors: events not showing for deselected monitors (and should since the goal in monitor view is to see all monitors which would include their events).
4) Yellow latest event pullup feature is working now.
5) Timeline: apparently if the app is in background/sleep overnight, the timeline will not show the new day's events without quitting/relaunching the app. I emailed the log on this.
6) Any way to add more inertia to timeline scrolling?
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ZmNinja: Release specific notes

Post by asker »

Just noticed that the monitor list also resets if you happen to start the app without a network connection to your ZM server (e.g., outside wifi range). One whoops and the list is gone.
It's not really gone. Connect back to Wifi and simply pull to refresh and it will be back in. I don't see any use of keeping it cached because it will be stale and may show wrong data. Plus you won't be able to interact with it.

1) Landscape mode no longer working.
Uh-oh. Mea-culpa. I may have forgotten to check the box while making a build

2) Montage: swipe now working (thank you!) but shows deselected monitors (and should not).
Whoops -> I'll check the code. I might have missed checking it. Can you log this one at https://github.com/pliablepixels/zmNinja/issues ?
3) Monitors: events not showing for deselected monitors (and should since the goal in monitor view is to see all monitors which would include their events).
Good catch. I forgot this combination. Can you please log this one too.

4) Yellow latest event pullup feature is working now.
Great
5) Timeline: apparently if the app is in background/sleep overnight, the timeline will not show the new day's events without quitting/relaunching the app. I emailed the log on this.
Before we log this as a bug, the timeline should redraw if you navigate way to another view and get back to it. Can you confirm?
6) Any way to add more inertia to timeline scrolling?
Can you explain what is happening and what you are suggesting?
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
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

Just noticed that the monitor list also resets if you happen to start the app without a network connection to your ZM server (e.g., outside wifi range). One whoops and the list is gone.
It's not really gone. Connect back to Wifi and simply pull to refresh and it will be back in. I don't see any use of keeping it cached because it will be stale and may show wrong data. Plus you won't be able to interact with it.
I did a little more experimenting. The displayed monitor list gets wiped out only if the monitor order was rearranged.

Try this: deselect some monitors, in montage view rearrange the order of the remaining monitors to be displayed, confirm the selected monitors are displayed in the new order. Quit the app, turn off wifi, then re-launch the app. The "loading monitors..." message displays. Turn wifi back on, relaunch the app if necessary, all monitors will be displayed in original order in montage view.
6) Any way to add more inertia to timeline scrolling?
Can you explain what is happening and what you are suggesting?
When you navigate through the timeline, and swipe left or right, the timeline has a lot of friction and comes to a dead stop quickly, rather than slowly decelerating to allow greater distances to be covered per swipe. Compare this to the vertical scrolling action in events view, which is much looser and more effective, you'll see what I mean.
patpend
Posts: 43
Joined: Thu Mar 13, 2014 12:23 pm

Re: ZmNinja: Release specific notes

Post by patpend »

3) It's probably my fat fingers but when I pinch to re-scale the timeline it often jumps back to the original scaling when I lift my fingers...
I just noticed that pinch zooming the timeline works properly (i.e. it won't jump back to original scaling) if you lift one finger before the other.

After using ZMN over the last week or so I have some more feature suggestions...

1) In playback mode, the ability to swipe to the next event of the same monitor and/or initiate gapless playback.

2) In playback mode, the ability to swipe to the next event of whichever monitor has the next event and/or initiate gapless playback of same.

I really appreciate how the app goes into montage mode by default. Excellent design choice.
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ZmNinja: Release specific notes

Post by asker »

I just noticed that pinch zooming the timeline works properly (i.e. it won't jump back to original scaling) if you lift one finger before the other.
Thanks for that tip. I am using a complicated 3rd party library called vis for the timeline for now which looks too complicated for me to dive in - so I'll pass on this tip if others report the same issue.
After using ZMN over the last week or so I have some more feature suggestions...

1) In playback mode, the ability to swipe to the next event of the same monitor and/or initiate gapless playback.
Yes, this has been in my list for a long time. Can you please add to github
2) In playback mode, the ability to swipe to the next event of whichever monitor has the next event and/or initiate gapless playback of same.
Agreed. Again been in my list for a while. Can you please add to github
I really appreciate how the app goes into montage mode by default. Excellent design choice.
Thanks. Now that I have added push notification support for iOS and Android, I plan to make it customizable where you go when you tap on the notification. Right now it takes you to the events page, but I suspect it would also be useful to go to the monitor live view page, or there are multiple events reported, the montage page
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