New Zoneminder Binding for Zoneminder versions >= 1.34.0

Unfortunately, I don’t use zones so I can’t be of much help. Maybe someone else here knows the answer.

I’ve picked up the latest jar from above, but keep seeing “‘zm:server:ZoneMinder’ changed from INITIALIZING to OFFLINE (CONFIGURATION_ERROR): Can’t get version information” in the log.

I’m using https as @liketofly - but mine is self-signed. I’m also not sure what port to use? Any tips? I’ve also added the .htaccess files as mentioned above.

EDIT:
I’ve added debugging and it could be my self-signed certs

2020-09-23 19:06:53.852 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘security.things’
2020-09-23 19:06:53.864 [DEBUG] [b.binding.zm.internal.handler.ZmAuth] - ZmAuth: Authorization is disabled
2020-09-23 19:06:53.878 [DEBUG] [b.binding.zm.internal.handler.ZmAuth] - ZmAuth: Authorization is enabled
2020-09-23 19:06:53.878 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Checking for valid Zoneminder host: zoneminder.server
2020-09-23 19:06:53.878 [DEBUG] [b.binding.zm.internal.handler.ZmAuth] - ZmAuth: Update expired REFRESH token using url ‘https://zoneminder.server/zm/api/host/login.j
son’
2020-09-23 19:06:53.902 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: IOException on POST request, url=‘https://zoneminder.server/zm/api/host/login.json’:
java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: General SSLEngine problem

EDIT 2:
I assume it is the self-signed cert. curl -k https://zoneminder.server/zm/api/host/login.json -XPOST -d "user=apiuser&pass=apipass&stateful=1" gives me a valid output. If I drop the -k it complains about self-signed certs

Hmm. Yeah, I’ll bet it’s the self-signed cert.

I’ve added the self-signed cert from zoneminder to my openhab box, but still no dice. I can curl without the -k, but my guess is the JDK is using a different set of CAs to trust than the OS level

Yeah, I think the JDK has it’s own cert store. Unfortunately, that where my knowledge in this area ends. :frowning_face:

I’ve had a few run-ins with Java Keystores at work so I have a basic knowledge. A bit of googling threw me on the right track.

OpenHAB is using the keystore bundled with the jre. For me it’s /usr/lib/jvm/zulu-8-amd64/jre/lib/security/cacerts. On OpenHABian it’s in /usr/lib/jvm/zulu-embedded-8-armhf/jre/lib/security as detailed here

You can see what’s in the keystore by using keytool -v -list -keystore cacerts and the password is changeit by default

Now we know which keystore OpenHAB is relying on we can copy our self-signed certificate from the server it’s hosted on and move it onto the OpenHAB server.

Then the following command imports your crt into the jks:
sudo keytool -trustcacerts -keystore "cacerts" -storepass changeit -importcert -alias zoneminder -file "apache-selfsigned.crt"

I restarted OpenHAB for good measure and now my server is online :smiley:

2 Likes

Nice!

any guesses as to why the plugin can’t find/update the monitor image channel? I see it trying in the logs, but it keeps returning with HTTP 404 not found

Not sure. Could you get a debug log and pm it to me?

tail -n 90 /var/log/openhab2/openhab.log

2020-09-27 10:13:29.602 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:13:29.777 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:29.779 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:30.777 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:30.779 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:31.777 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:31.779 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:32.778 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:32.780 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:33.778 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:33.780 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:34.778 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:34.780 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:35.778 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:35.789 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:35.951 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,306,1340,1340,1340)
2020-09-27 10:13:35.953 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,277,1279,1279,1279)
2020-09-27 10:13:35.954 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:13:36.779 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:36.782 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:37.779 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:37.781 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:38.779 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:38.782 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:39.779 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:39.782 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:40.780 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:40.783 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:41.780 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:41.782 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:42.301 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,306,1340,1340,1340)
2020-09-27 10:13:42.302 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,277,1279,1279,1279)
2020-09-27 10:13:42.303 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:13:42.781 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:42.783 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:43.781 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:43.783 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:44.782 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:44.784 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:45.782 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:45.786 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:46.782 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:46.785 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:47.783 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:47.785 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:48.654 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,306,1340,1340,1340)
2020-09-27 10:13:48.655 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,277,1279,1279,1279)
2020-09-27 10:13:48.656 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:13:48.783 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:48.785 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:49.784 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:49.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:50.784 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:50.786 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:51.784 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:51.786 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:52.784 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:52.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:53.784 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:53.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:54.785 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:54.795 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:55.042 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=true, state=ALERT, events=(2,307,1341,1341,1341)
2020-09-27 10:13:55.043 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=true, state=ALERT, events=(2,278,1280,1280,1280)
2020-09-27 10:13:55.043 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:13:55.785 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:55.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:56.785 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:56.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:57.785 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:57.787 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:58.786 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:58.788 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:13:59.786 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:13:59.788 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:00.786 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:00.788 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:01.421 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=true, state=ALERT, events=(2,307,1341,1341,1341)
2020-09-27 10:14:01.422 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=true, state=ALERT, events=(2,278,1280,1280,1280)
2020-09-27 10:14:01.422 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 10:14:01.786 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:01.788 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:02.787 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:02.789 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:03.787 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:03.789 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:04.787 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:04.790 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 10:14:05.787 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 10:14:05.790 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found

It looks like the zoneminder API is actually returning the 404 and not the httpd daemon, because I don’t have any 404 errors in /var/log/httpd/error_log nor do I see the request in /var/log/httpd/access_log

If you enable TRACE mode, you can see the URL being sent by the binding.

A couple other questions…

  • do you have authentication enabled in Zoneminder?

  • are you using http or https?

Authentication I’ve tried both on and off(currently on)

Https is enabled

here is an older log where I had trace enabled.

2020-09-27 09:42:03.082 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/monitors/alarm/id:3/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"status":"0"}' in 107 ms
2020-09-27 09:42:03.100 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/events/index/MonitorId:3.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"events":[{"Event":{"Id":"4519","MonitorId":"3","StorageId":"3","SecondaryStorageId":"0","Name":"Event- 4519","Cause":"Motion","StartTime":"2020-09-27 08:52:59","EndTime":"2020-09-27 08:53:53","Width":"2592","Height":"1520","Length":"54.32","Frames":"401","AlarmFrames":"1","DefaultVideo":"4519-video.mp4","SaveJPEGs":"0","TotScore":"1","AvgScore":"1","MaxScore":"1","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: PoolHouse Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"120356640","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11135189","FileSystemPath":"\/mnt\/recDisk1\/zm\/3\/2020-09-27\/4519"}}],"pagination":{"page":1,"current":1,"count":1339,"prevPage":false,"nextPage":true,"pageCount":1339,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 15 ms
2020-09-27 09:42:03.214 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/monitors/alarm/id:5/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"status":"0"}' in 113 ms
2020-09-27 09:42:03.228 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/events/index/MonitorId:5.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"events":[{"Event":{"Id":"4518","MonitorId":"5","StorageId":"4","SecondaryStorageId":"0","Name":"Event- 4518","Cause":"Motion","StartTime":"2020-09-27 08:53:01","EndTime":"2020-09-27 08:53:21","Width":"2592","Height":"1520","Length":"20.35","Frames":"401","AlarmFrames":"1","DefaultVideo":"4518-video.mp4","SaveJPEGs":"0","TotScore":"14","AvgScore":"14","MaxScore":"14","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: Pool House Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"41202165","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11134925","FileSystemPath":"\/mnt\/recDisk2\/zm\/5\/2020-09-27\/4518"}}],"pagination":{"page":1,"current":1,"count":1278,"prevPage":false,"nextPage":true,"pageCount":1278,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 13 ms
2020-09-27 09:42:03.284 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:03.293 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:03.293 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/monitors/alarm/id:6/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"status":"0"}' in 65 ms
2020-09-27 09:42:03.306 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain:443/zm/api/events/index/MonitorId:6.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjEwNTExLCJleHAiOjE2MDEyMTc3MTEsInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.bptfR6BwfErGs3V1CDJpZkRpsF1T_z4qbO-JpeZKUPE' returned '{"events":[],"pagination":{"page":1,"current":0,"count":0,"prevPage":false,"nextPage":false,"pageCount":0,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 11 ms
2020-09-27 09:42:03.306 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(1,310,1339,1339,1339)
2020-09-27 09:42:03.307 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Id:4519, Frames:401, AlarmFrames:1, Length:54.32
2020-09-27 09:42:03.307 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(2,279,1278,1278,1278)
2020-09-27 09:42:03.308 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Id:4518, Frames:401, AlarmFrames:1, Length:20.35
2020-09-27 09:42:03.308 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 09:42:04.284 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:04.286 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:05.285 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:05.287 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:06.285 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:06.287 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:07.285 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:07.288 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:08.286 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:08.288 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 09:42:09.286 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 09:42:09.288 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found

Hmm. I’m not seeing a reason why this wouldn’t work.

In the bridge config, you’ve selected https as the protocol, correct? Did you also set the port number to 443? If so, can you try removing that?

I have tried the binding in both methods updating the port as needed (80 vs 443). I tried clearing it and it provided the same result, log file below.

2020-09-27 20:49:50.347 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:50.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:51.347 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:51.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:51.753 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"monitors":[{"Monitor":{"Id":"3","Name":"PoolHouse-North","Notes":null,"ServerId":null,"StorageId":"3","Type":"Ffmpeg","Function":"Modect","Enabled":"1","LinkedMonitors":null,"Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":"rtsp","Method":"rtpRtsp","Host":"admin:admin@192.168.32.3","Port":"554","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.3\/media\/video1","Options":null,"User":null,"Pass":null,"Width":"2592","Height":"1520","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"2","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"2","ImageBufferCount":"206","WarmupCount":"0","PreEventCount":"206","PostEventCount":"206","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"1","TotalEvents":"1522","TotalEventDiskSpace":"117440765136","HourEvents":"15","HourEventDiskSpace":"842473009","DayEvents":"191","DayEventDiskSpace":"13287354291","WeekEvents":"1522","WeekEventDiskSpace":"117440765136","MonthEvents":"1522","MonthEventDiskSpace":"117440765136","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"3","Refresh":null},"Monitor_Status":{"MonitorId":"3","Status":"Connected","CaptureFPS":"10.00","AnalysisFPS":"4.76","CaptureBandwidth":"1929373"}},{"Monitor":{"Id":"5","Name":"PoolHouse-South","Notes":null,"ServerId":null,"StorageId":"4","Type":"Ffmpeg","Function":"Modect","Enabled":"1","LinkedMonitors":null,"Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":null,"Method":"rtpRtsp","Host":null,"Port":"80","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.4\/media\/video1","Options":null,"User":null,"Pass":null,"Width":"2592","Height":"1520","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"2","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"2","ImageBufferCount":"206","WarmupCount":"0","PreEventCount":"206","PostEventCount":"206","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"2","TotalEvents":"1496","TotalEventDiskSpace":"97254828204","HourEvents":"12","HourEventDiskSpace":"541131435","DayEvents":"234","DayEventDiskSpace":"14601679496","WeekEvents":"1496","WeekEventDiskSpace":"97254828204","MonthEvents":"1496","MonthEventDiskSpace":"97254828204","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"4","Refresh":null},"Monitor_Status":{"MonitorId":"5","Status":"Connected","CaptureFPS":"10.00","AnalysisFPS":"10.00","CaptureBandwidth":"1898410"}},{"Monitor":{"Id":"6","Name":"PoolHouse-North-LowRES","Notes":null,"ServerId":null,"StorageId":"3","Type":"Libvlc","Function":"Monitor","Enabled":"1","LinkedMonitors":"3","Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":"rtsp","Method":"rtpRtsp","Host":"admin:admin@192.168.32.3","Port":"554","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.3\/media\/video3","Options":null,"User":null,"Pass":null,"Width":"352","Height":"288","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"1","VideoWriter":"0","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"1","ImageBufferCount":"200","WarmupCount":"0","PreEventCount":"200","PostEventCount":"200","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"3","TotalEvents":"0","TotalEventDiskSpace":null,"HourEvents":"0","HourEventDiskSpace":"0","DayEvents":"0","DayEventDiskSpace":"0","WeekEvents":"0","WeekEventDiskSpace":"0","MonthEvents":"0","MonthEventDiskSpace":"0","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"0","Refresh":null},"Monitor_Status":{"MonitorId":"6","Status":"Connected","CaptureFPS":"2.00","AnalysisFPS":"0.00","CaptureBandwidth":"0"}},{"Monitor":{"Id":"7","Name":"PoolHouse-South-LowRES","Notes":null,"ServerId":null,"StorageId":"4","Type":"Libvlc","Function":"Monitor","Enabled":"1","LinkedMonitors":"5","Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":null,"Method":"rtpRtsp","Host":null,"Port":"80","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.4\/media\/video3","Options":null,"User":null,"Pass":null,"Width":"352","Height":"288","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"0","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"1","ImageBufferCount":"200","WarmupCount":"0","PreEventCount":"200","PostEventCount":"200","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"4","TotalEvents":"0","TotalEventDiskSpace":null,"HourEvents":null,"HourEventDiskSpace":null,"DayEvents":null,"DayEventDiskSpace":null,"WeekEvents":null,"WeekEventDiskSpace":null,"MonthEvents":null,"MonthEventDiskSpace":null,"ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"0","Refresh":null},"Monitor_Status":{"MonitorId":"7","Status":"Connected","CaptureFPS":"2.00","AnalysisFPS":"0.00","CaptureBandwidth":"0"}}]}' in 14 ms
2020-09-27 20:49:51.860 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:3/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 106 ms
2020-09-27 20:49:51.880 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:3.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[{"Event":{"Id":"4918","MonitorId":"3","StorageId":"3","SecondaryStorageId":"0","Name":"Event- 4918","Cause":"Motion","StartTime":"2020-09-27 20:08:43","EndTime":"2020-09-27 20:09:26","Width":"2592","Height":"1520","Length":"42.99","Frames":"413","AlarmFrames":"1","DefaultVideo":"4918-video.mp4","SaveJPEGs":"0","TotScore":"1","AvgScore":"1","MaxScore":"1","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: PoolHouse Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"86151824","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11337150","FileSystemPath":"\/mnt\/recDisk1\/zm\/3\/2020-09-27\/4918"}}],"pagination":{"page":1,"current":1,"count":1522,"prevPage":false,"nextPage":true,"pageCount":1522,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 19 ms
2020-09-27 20:49:51.985 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:5/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 104 ms
2020-09-27 20:49:52.003 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:5.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[{"Event":{"Id":"4920","MonitorId":"5","StorageId":"4","SecondaryStorageId":"0","Name":"Event- 4920","Cause":"Motion","StartTime":"2020-09-27 20:48:00","EndTime":"2020-09-27 20:48:20","Width":"2592","Height":"1520","Length":"20.75","Frames":"415","AlarmFrames":"3","DefaultVideo":"4920-video.mp4","SaveJPEGs":"0","TotScore":"221","AvgScore":"73","MaxScore":"106","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: Close deck, Pool House Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"42078061","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11337976","FileSystemPath":"\/mnt\/recDisk2\/zm\/5\/2020-09-27\/4920"}}],"pagination":{"page":1,"current":1,"count":1496,"prevPage":false,"nextPage":true,"pageCount":1496,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 18 ms
2020-09-27 20:49:52.074 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:6/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 70 ms
2020-09-27 20:49:52.088 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:6.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[],"pagination":{"page":1,"current":0,"count":0,"prevPage":false,"nextPage":false,"pageCount":0,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 13 ms
2020-09-27 20:49:52.089 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(15,191,1522,1522,1522)
2020-09-27 20:49:52.089 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Id:4918, Frames:413, AlarmFrames:1, Length:42.99
2020-09-27 20:49:52.089 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(12,234,1496,1496,1496)
2020-09-27 20:49:52.089 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Id:4920, Frames:415, AlarmFrames:3, Length:20.75
2020-09-27 20:49:52.090 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 20:49:52.347 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:52.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:53.347 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:53.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:54.347 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:54.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:55.348 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:55.349 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:56.348 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:56.350 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:57.348 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:57.350 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:58.106 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"monitors":[{"Monitor":{"Id":"3","Name":"PoolHouse-North","Notes":null,"ServerId":null,"StorageId":"3","Type":"Ffmpeg","Function":"Modect","Enabled":"1","LinkedMonitors":null,"Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":"rtsp","Method":"rtpRtsp","Host":"admin:admin@192.168.32.3","Port":"554","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.3\/media\/video1","Options":null,"User":null,"Pass":null,"Width":"2592","Height":"1520","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"2","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"2","ImageBufferCount":"206","WarmupCount":"0","PreEventCount":"206","PostEventCount":"206","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"1","TotalEvents":"1522","TotalEventDiskSpace":"117440765136","HourEvents":"15","HourEventDiskSpace":"842473009","DayEvents":"191","DayEventDiskSpace":"13287354291","WeekEvents":"1522","WeekEventDiskSpace":"117440765136","MonthEvents":"1522","MonthEventDiskSpace":"117440765136","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"3","Refresh":null},"Monitor_Status":{"MonitorId":"3","Status":"Connected","CaptureFPS":"10.00","AnalysisFPS":"4.76","CaptureBandwidth":"1931434"}},{"Monitor":{"Id":"5","Name":"PoolHouse-South","Notes":null,"ServerId":null,"StorageId":"4","Type":"Ffmpeg","Function":"Modect","Enabled":"1","LinkedMonitors":null,"Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":null,"Method":"rtpRtsp","Host":null,"Port":"80","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.4\/media\/video1","Options":null,"User":null,"Pass":null,"Width":"2592","Height":"1520","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"2","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"2","ImageBufferCount":"206","WarmupCount":"0","PreEventCount":"206","PostEventCount":"206","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"2","TotalEvents":"1496","TotalEventDiskSpace":"97254828204","HourEvents":"10","HourEventDiskSpace":"452015487","DayEvents":"234","DayEventDiskSpace":"14601679496","WeekEvents":"1496","WeekEventDiskSpace":"97254828204","MonthEvents":"1496","MonthEventDiskSpace":"97254828204","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"4","Refresh":null},"Monitor_Status":{"MonitorId":"5","Status":"Connected","CaptureFPS":"10.00","AnalysisFPS":"11.11","CaptureBandwidth":"1934630"}},{"Monitor":{"Id":"6","Name":"PoolHouse-North-LowRES","Notes":null,"ServerId":null,"StorageId":"3","Type":"Libvlc","Function":"Monitor","Enabled":"1","LinkedMonitors":"3","Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":"rtsp","Method":"rtpRtsp","Host":"admin:admin@192.168.32.3","Port":"554","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.3\/media\/video3","Options":null,"User":null,"Pass":null,"Width":"352","Height":"288","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"1","VideoWriter":"0","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"1","ImageBufferCount":"200","WarmupCount":"0","PreEventCount":"200","PostEventCount":"200","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"3","TotalEvents":"0","TotalEventDiskSpace":null,"HourEvents":"0","HourEventDiskSpace":"0","DayEvents":"0","DayEventDiskSpace":"0","WeekEvents":"0","WeekEventDiskSpace":"0","MonthEvents":"0","MonthEventDiskSpace":"0","ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"0","Refresh":null},"Monitor_Status":{"MonitorId":"6","Status":"Connected","CaptureFPS":"2.00","AnalysisFPS":"0.00","CaptureBandwidth":"0"}},{"Monitor":{"Id":"7","Name":"PoolHouse-South-LowRES","Notes":null,"ServerId":null,"StorageId":"4","Type":"Libvlc","Function":"Monitor","Enabled":"1","LinkedMonitors":"5","Triggers":"","Device":"\/dev\/video0","Channel":"0","Format":"255","V4LMultiBuffer":null,"V4LCapturesPerFrame":"1","Protocol":null,"Method":"rtpRtsp","Host":null,"Port":"80","SubPath":"","Path":"rtsp:\/\/admin:admin@192.168.32.4\/media\/video3","Options":null,"User":null,"Pass":null,"Width":"352","Height":"288","Colours":"4","Palette":"0","Orientation":"ROTATE_0","Deinterlacing":"0","DecoderHWAccelName":null,"DecoderHWAccelDevice":null,"SaveJPEGs":"0","VideoWriter":"0","OutputCodec":null,"OutputContainer":null,"EncoderParameters":"# Lines beginning with # are a comment \r\n# For changing quality, use the crf option\r\n# 1 is best, 51 is worst quality\r\n#crf=23","RecordAudio":"0","RTSPDescribe":false,"Brightness":"-1","Contrast":"-1","Hue":"-1","Colour":"-1","EventPrefix":"Event-","LabelFormat":"%N - %d\/%m\/%y %H:%M:%S","LabelX":"0","LabelY":"0","LabelSize":"1","ImageBufferCount":"200","WarmupCount":"0","PreEventCount":"200","PostEventCount":"200","StreamReplayBuffer":"0","AlarmFrameCount":"1","SectionLength":"600","MinSectionLength":"10","FrameSkip":"0","MotionFrameSkip":"0","AnalysisFPSLimit":null,"AnalysisUpdateDelay":"0","MaxFPS":null,"AlarmMaxFPS":null,"FPSReportInterval":"100","RefBlendPerc":"0","AlarmRefBlendPerc":"12","Controllable":"0","ControlId":null,"ControlDevice":null,"ControlAddress":null,"AutoStopTimeout":null,"TrackMotion":"0","TrackDelay":null,"ReturnLocation":"-1","ReturnDelay":null,"DefaultRate":"100","DefaultScale":"100","DefaultCodec":"auto","SignalCheckPoints":"10","SignalCheckColour":"#0000c0","WebColour":"red","Exif":false,"Sequence":"4","TotalEvents":"0","TotalEventDiskSpace":null,"HourEvents":null,"HourEventDiskSpace":null,"DayEvents":null,"DayEventDiskSpace":null,"WeekEvents":null,"WeekEventDiskSpace":null,"MonthEvents":null,"MonthEventDiskSpace":null,"ArchivedEvents":"0","ArchivedEventDiskSpace":null,"ZoneCount":"0","Refresh":null},"Monitor_Status":{"MonitorId":"7","Status":"Connected","CaptureFPS":"2.00","AnalysisFPS":"0.00","CaptureBandwidth":"0"}}]}' in 15 ms
2020-09-27 20:49:58.219 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:3/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 111 ms
2020-09-27 20:49:58.236 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:3.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[{"Event":{"Id":"4918","MonitorId":"3","StorageId":"3","SecondaryStorageId":"0","Name":"Event- 4918","Cause":"Motion","StartTime":"2020-09-27 20:08:43","EndTime":"2020-09-27 20:09:26","Width":"2592","Height":"1520","Length":"42.99","Frames":"413","AlarmFrames":"1","DefaultVideo":"4918-video.mp4","SaveJPEGs":"0","TotScore":"1","AvgScore":"1","MaxScore":"1","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: PoolHouse Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"86151824","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11337150","FileSystemPath":"\/mnt\/recDisk1\/zm\/3\/2020-09-27\/4918"}}],"pagination":{"page":1,"current":1,"count":1522,"prevPage":false,"nextPage":true,"pageCount":1522,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 17 ms
2020-09-27 20:49:58.339 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:5/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 103 ms
2020-09-27 20:49:58.348 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:58.357 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:5.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[{"Event":{"Id":"4920","MonitorId":"5","StorageId":"4","SecondaryStorageId":"0","Name":"Event- 4920","Cause":"Motion","StartTime":"2020-09-27 20:48:00","EndTime":"2020-09-27 20:48:20","Width":"2592","Height":"1520","Length":"20.75","Frames":"415","AlarmFrames":"3","DefaultVideo":"4920-video.mp4","SaveJPEGs":"0","TotScore":"221","AvgScore":"73","MaxScore":"106","Archived":"0","Videoed":"0","Uploaded":"0","Emailed":"0","Messaged":"0","Executed":"0","Notes":"Motion: Close deck, Pool House Door","StateId":"1","Orientation":"ROTATE_0","DiskSpace":"42078061","Scheme":"Medium","Locked":false,"MaxScoreFrameId":"11337976","FileSystemPath":"\/mnt\/recDisk2\/zm\/5\/2020-09-27\/4920"}}],"pagination":{"page":1,"current":1,"count":1496,"prevPage":false,"nextPage":true,"pageCount":1496,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 17 ms
2020-09-27 20:49:58.357 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:49:58.425 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/monitors/alarm/id:6/command:status.json?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"status":"0"}' in 67 ms
2020-09-27 20:49:58.439 [TRACE] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Http GET of 'https://localhost.localdomain/zm/api/events/index/MonitorId:6.json?sort=StartTime&direction=desc&limit=1&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJab25lTWluZGVyIiwiaWF0IjoxNjAxMjUzNzA5LCJleHAiOjE2MDEyNjA5MDksInVzZXIiOiJvcGVuaGFiIiwidHlwZSI6ImFjY2VzcyJ9.EXO8aIBRWv7LxVffXrUDuyHxJnVLv41xQuYNjPUuskM' returned '{"events":[],"pagination":{"page":1,"current":0,"count":0,"prevPage":false,"nextPage":false,"pageCount":0,"order":{"Event.StartTime":"desc"},"limit":1,"options":{"limit":1,"order":{"Event.StartTime":"desc"},"sort":"StartTime","direction":"desc"},"paramType":"querystring","queryScope":null}}' in 13 ms
2020-09-27 20:49:58.439 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Updating: id=3, name=PoolHouse-North, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(15,191,1522,1522,1522)
2020-09-27 20:49:58.440 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 3: Id:4918, Frames:413, AlarmFrames:1, Length:42.99
2020-09-27 20:49:58.440 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Updating: id=5, name=PoolHouse-South, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(10,234,1496,1496,1496)
2020-09-27 20:49:58.440 [TRACE] [zm.internal.handler.ZmMonitorHandler] - Monitor 5: Id:4920, Frames:415, AlarmFrames:3, Length:20.75
2020-09-27 20:49:58.440 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating: id=6, name=PoolHouse-North-LowRES, function=Monitor, enabled=true, status=Connected, alarm=false, state=IDLE, events=(0,0,0,0,0)
2020-09-27 20:49:59.349 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:49:59.350 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:50:00.349 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:50:00.351 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:50:01.349 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:50:01.351 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found
2020-09-27 20:50:02.349 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 6: Updating image channel
2020-09-27 20:50:02.351 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - HTTP GET failed: 404, Not Found

One other thing you can look at, assuming you’re running Zoneminder behind an apache web server…

The URL for images is slightly different than the URL for the API. If your apache server isn’t configured for this, it might give you a 404.

The typical API call looks like this.

http://your.host/zm/api/monitors/1.json

While the API to get an image looks like this.

http://your.host/zm/cgi-bin/zms?monitor=1&mode=jpeg

Beyond this, I’m out of ideas. :frowning_face:

yields an expected:

{"success":false,"data":{"name":"Not Authenticated","message":"Not Authenticated","url":"\/zm\/api\/monitors\/1.json","exception":{"class":"UnauthorizedException","code":401,"message":"Not Authenticated"}}}

now this is intresting…this produces a 404 error…

here is the http.d/zonminder.conf file which looks somewhat right, but it looks like zm’s default should be /cgi-bin-zm/ ? however when I try

http://your.host/cgi-bin-zm/zms?monitor=1&mode=jpeg

I get 500 internal server error.

#
# ZoneMinder Apache configuration file
# With SSLRequire and HTTPS auto redirect
# Modify this configuration to suit your requirements
#

# Auto Redirect HTTP requests to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(zm)(.*) https://%{SERVER_NAME}/$1$2 [R,L]

# Order matters. This alias must come first.
Alias /zm/cache "/var/cache/zoneminder"
<Directory "/var/cache/zoneminder">
#    SSLRequireSSL
    Options -Indexes +MultiViews +FollowSymLinks
    AllowOverride None
    <IfModule mod_authz_core.c>
       # Apache 2.4
       Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order deny,allow
        Allow from all
    </IfModule>
</Directory>

Alias /zm "/usr/share/zoneminder/www"
<Directory "/usr/share/zoneminder/www">
    # explicitly set index.php as the only directoryindex
    DirectoryIndex disabled
    DirectoryIndex index.php
#    SSLRequireSSL
    Options -Indexes +MultiViews +FollowSymLinks
    AllowOverride None
    <IfModule mod_authz_core.c>
       # Apache 2.4
       Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order deny,allow
        Allow from all
    </IfModule>
</Directory>

ScriptAlias /cgi-bin-zm "/usr/libexec/zoneminder/cgi-bin"
<Directory "/usr/libexec/zoneminder/cgi-bin">
#    SSLRequireSSL
    AllowOverride None
    Options +ExecCGI +FollowSymLinks
    <IfModule mod_authz_core.c>
       # Apache 2.4
       Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order deny,allow
        Allow from all
    </IfModule>
</Directory>

# For better visibility, the following directives have been migrated from the
# default .htaccess files included with the CakePHP project.
# Parameters not set here are inherited from the parent directive above.
<Directory "/usr/share/zoneminder/www/api">
   RewriteEngine on
   RewriteRule ^$ app/webroot/ [L]
   RewriteRule (.*) app/webroot/$1 [L]
   RewriteBase /zm/api
</Directory>

<Directory "/usr/share/zoneminder/www/api/app">
   RewriteEngine on
   RewriteRule ^$ webroot/ [L]
   RewriteRule (.*) webroot/$1 [L]
   RewriteBase /zm/api
</Directory>

<Directory "/usr/share/zoneminder/www/api/app/webroot">
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    RewriteBase /zm/api
</Directory>=

EDIT
PROGRESS!!!
if I take the token from the openhab log file and append it like so:
http://your.host/cgi-bin-zm/zms?monitor=1&mode=jpeg&token=tokenstring

I get the monitor feed JPEG!!!

Edit 2
for a temporary fix I created a mod_rewrite rule to take the URI that it was looking for and redirect the path.

Hello,
Does this binding work with openHAB 2.4.0-1?
I installed the org.openhab.binding.zm-2.5.9-SNAPSHOT.jar and received this error/warning message:

    2020-11-03 15:26:46.385 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.zm-2.5.9-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.zm [272]
  Unresolved requirement: Import-Package: org.openhab.core.automation.annotation; resolution:="optional"
  Unresolved requirement: Import-Package: com.google.gson; version="[2.8.0,3.0.0)"

at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]

Should I update to openHAB 2.5?
Thank you

  Unresolved requirement: Import-Package: org.openhab.core.automation.annotation; resolution:="optional"
  Unresolved requirement: Import-Package: com.google.gson; version="[2.8.0,3.0.0)"

No, the binding won’t work with 2.4 as some of the core libraries were upgraded between 2.4 and 2.5.

Hi @mhilbush Mark,
Is there a workaround to temporarily use the old 2.4 binding with Zoneminder version 1.34?
I plan to update to OH 2.5 eventually but need sometime to back things up first before I do so.
Meanwhile, I would like to have my existing rules and items to work with Zoneminder 1.34.
Thank you.