'Connecting' to ZMES?

Discussion topics related to mobile applications and ZoneMinder Event Server (including machine learning)
Post Reply
Quantum
Posts: 88
Joined: Fri Mar 25, 2011 3:34 pm

'Connecting' to ZMES?

Post by Quantum »

The ZMES FAQ says:
I can’t connect to the ES

There could be multiple reasons:

If you are connecting from WAN make sure you have set up port forwarding as needed
Try changing the address attribute in [network] section of zmeventnotification.ini. If you don’t have your IP specified, it will use [::]. Try 0.0.0.0 instead.
Huh? You can -connect- to ZMES? I thought it is a plugin to ZM, and is integral communicating with ZM through port 9000.

So I tried in a browser connecting to 127.0.0.1:9000, but "The connection was reset", so it's not http. Trying a browser to http://127.0.0.1/ gives a blank white page. I don't understand this FAQ?

Also, in zmeventnotification.ini I do have "address = 127.0.0.1", yet after reboot:
zmeventno 1843 apache 8u IPv4 16047 0t0 TCP *:9000 (LISTEN)

Huh?

Also the FAQ says:
If you are not using machine learning hooks, make sure you comment out the hook_script line in {hook}. If you have not setup the scripts correctly, if will fail and not send a push.
I don't have a hook_script line anywhere in zmeventnotification.ini, and I've completely checked mine against the one in ES git example.

And, I can find nowhere in the docs how to set ZM after getting ZMES running. I have my monitors set to MODECT with Analyze unchecked, as surely ZM -and- ZMES should not both be analyzing. But I get zero events/alarms. When I enable Analyze I get events on cars, but no ES boxes around anything. I've run all the checks every step of the way when installing ES.

With Analyze enabled I:
# zmdc.pl stop zmeventnotification.pl
# su apache
$ /usr/bin/zmeventnotification.pl --debug
... and ZMES ticks just fine, although events in ZM still do not have the boxes around them.
When an event, ZMES gives:

Code: Select all

DBG-2:2022-02-24,10:07:11 PARENT: After tick: TOTAL: 0,  ES_CONTROL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
DBG-2:2022-02-24,10:07:11 PARENT: There are 0 active child forks & 0 zm_detect processes running...
INF:2022-02-24,10:07:11 PARENT: New event 3876 reported for Monitor:1 (Name:StreetCam) Motion Drive Entry[last processed eid:3875]
02/24/2022 10:07:11.811367 zmeventnotification[10638].INF [main:1048] [PARENT: New event 3876 reported for Monitor:1 (Name:StreetCam) Motion Drive Entry[last processed eid:3875]]
DBG-2:2022-02-24,10:07:11 PARENT: checkEvents() new events found=1
DBG-2:2022-02-24,10:07:11 PARENT: There are 1 new Events to process
DBG-2:2022-02-24,10:07:11 PARENT: ---------->Tick END (active forks:1, total forks:5, active hooks: 0)<--------------
DBG-1:2022-02-24,10:07:11 PARENT: Forked process:12883 to handle alarm eid:3876
DBG-2:2022-02-24,10:07:11 |----> FORK:StreetCam (1), eid:3876 Adding event path:/media/StreetCam/1/2022-02-24/3876 to hook for image storage
DBG-1:2022-02-24,10:07:11 |----> FORK:StreetCam (1), eid:3876 Invoking hook on event start:'/var/lib/zmeventnotification/bin/zm_event_start.sh' 3876 1 "StreetCam" "Motion Drive Entry" "/media/StreetCam/1/2022-02-24/3876"
DBG-2:2022-02-24,10:07:13 |----> FORK:StreetCam (1), eid:3876 parse of hook: and []
DBG-1:2022-02-24,10:07:13 |----> FORK:StreetCam (1), eid:3876 hook start returned with text: json:[] exit:1
DBG-2:2022-02-24,10:07:15 |----> FORK:StreetCam (1), eid:3876 rules: Checking rules for alarm caused by eid:3876, monitor:1, at: Thu Feb 24 10:07:15 2022 with cause:Motion Drive Entry
DBG-1:2022-02-24,10:07:15 |----> FORK:StreetCam (1), eid:3876 rules: No rules found for Monitor, allowing:1
DBG-1:2022-02-24,10:07:15 |----> FORK:StreetCam (1), eid:3876 Matching alarm to connection rules...
DBG-2:2022-02-24,10:07:16 PARENT: ----------> Tick START (active forks:1, total forks:5, active hooks: 0 running for:15 min)<--------------
DBG-2:2022-02-24,10:07:16 PARENT: After tick: TOTAL: 0,  ES_CONTROL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
DBG-2:2022-02-24,10:07:16 PARENT: RAW TEXT-->update_parallel_hooks--TYPE--add
DBG-2:2022-02-24,10:07:16 PARENT: RAW TEXT-->update_parallel_hooks--TYPE--del
DBG-2:2022-02-24,10:07:16 PARENT: There are 1 active child forks & 0 zm_detect processes running...
DBG-2:2022-02-24,10:07:16 PARENT: We've already worked on Monitor:1, Event:3876, not doing anything more
DBG-2:2022-02-24,10:07:16 PARENT: checkEvents() new events found=0
DBG-2:2022-02-24,10:07:16 PARENT: There are 0 new Events to process
DBG-2:2022-02-24,10:07:16 PARENT: ---------->Tick END (active forks:1, total forks:5, active hooks: 0)<--------------
DBG-2:2022-02-24,10:07:17 |----> FORK:StreetCam (1), eid:3876 For 1 (StreetCam), SHM says: state=0, eid=3876
INF:2022-02-24,10:07:17 |----> FORK:StreetCam (1), eid:3876 Event 3876 for Monitor 1 has finished
02/24/2022 10:07:17.169004 zmeventnotification[12883].INF [main:1048] [|----> FORK:StreetCam (1), eid:3876 Event 3876 for Monitor 1 has finished]
DBG-2:2022-02-24,10:07:17 |----> FORK:StreetCam (1), eid:3876 Event end object is: state=>pending with cause=>Motion: Drive Entry, Street
INF:2022-02-24,10:07:19 |----> FORK:StreetCam (1), eid:3876 end hooks/use hooks not being used, going to directly send out a notification if checks pass
02/24/2022 10:07:19.170925 zmeventnotification[12883].INF [main:1048] [|----> FORK:StreetCam (1), eid:3876 end hooks/use hooks not being used, going to directly send out a notification if checks pass]
DBG-2:2022-02-24,10:07:21 |----> FORK:StreetCam (1), eid:3876 rules: Checking rules for alarm caused by eid:3876, monitor:1, at: Thu Feb 24 10:07:21 2022 with cause:Motion Drive Entry
DBG-1:2022-02-24,10:07:21 |----> FORK:StreetCam (1), eid:3876 rules: No rules found for Monitor, allowing:1
INF:2022-02-24,10:07:21 |----> FORK:StreetCam (1), eid:3876 Not sending event end alarm, as we did not send a start alarm for this, or start hook processing failed
02/24/2022 10:07:21.171534 zmeventnotification[12883].INF [main:1048] [|----> FORK:StreetCam (1), eid:3876 Not sending event end alarm, as we did not send a start alarm for this, or start hook processing failed]
DBG-2:2022-02-24,10:07:21 PARENT: ----------> Tick START (active forks:1, total forks:5, active hooks: 0 running for:15 min)<--------------
DBG-2:2022-02-24,10:07:21 PARENT: After tick: TOTAL: 0,  ES_CONTROL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
DBG-2:2022-02-24,10:07:21 PARENT: There are 1 active child forks & 0 zm_detect processes running...
DBG-2:2022-02-24,10:07:21 PARENT: checkEvents() new events found=0
DBG-2:2022-02-24,10:07:21 PARENT: There are 0 new Events to process
DBG-2:2022-02-24,10:07:21 PARENT: ---------->Tick END (active forks:1, total forks:5, active hooks: 0)<--------------
DBG-1:2022-02-24,10:07:25 |----> FORK:StreetCam (1), eid:3876 exiting
DBG-1:2022-02-24,10:07:25 |----> FORK:StreetCam (1), eid:3876 Ending process:12883 to handle alarms
DBG-2:2022-02-24,10:07:26 PARENT: ----------> Tick START (active forks:1, total forks:5, active hooks: 0 running for:15 min)<--------------
DBG-2:2022-02-24,10:07:26 PARENT: After tick: TOTAL: 0,  ES_CONTROL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
DBG-2:2022-02-24,10:07:26 PARENT: RAW TEXT-->active_event_delete--TYPE--1--SPLIT--3876
DBG-2:2022-02-24,10:07:26 PARENT: Job: Deleting active_event eid:3876, mid:1
DBG-2:2022-02-24,10:07:26 PARENT: There are 0 active child forks & 0 zm_detect processes running...
DBG-2:2022-02-24,10:07:26 PARENT: checkEvents() new events found=0
DBG-2:2022-02-24,10:07:26 PARENT: There are 0 new Events to process
DBG-2:2022-02-24,10:07:26 PARENT: ---------->Tick END (active forks:0, total forks:5, active hooks: 0)<--------------
DBG-2:2022-02-24,10:07:31 PARENT: ----------> Tick START (active forks:0, total forks:5, active hooks: 0 running for:15 min)<--------------
DBG-2:2022-02-24,10:07:31 PARENT: After tick: TOTAL: 0,  ES_CONTROL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
DBG-2:2022-02-24,10:07:31 PARENT: There are 0 active child forks & 0 zm_detect processes running...
DBG-2:2022-02-24,10:07:31 PARENT: checkEvents() new events found=0
DBG-2:2022-02-24,10:07:31 PARENT: There are 0 new Events to process
DBG-2:2022-02-24,10:07:31 PARENT: ---------->Tick END (active forks:0, total forks:5, active hooks: 0)<--------------
... but it's not an event in the Drive Entry zone, it's in the Street zone.

"No rules found for Monitor, allowing:1"? I'm also seeing for $ /var/lib/zmeventnotification/bin/zm_train_faces.py:
"Ignoring monitor specific settings, as you did not provide a monitor id"
... but was advised to ignore this.

I realize this is complex but it is getting discouraging. Only one person has offered any aid. I can follow instructions and the docs are well done, but there are so many gaps for a n00b.
Magic919
Posts: 1381
Joined: Wed Sep 18, 2013 6:56 am

Re: 'Connecting' to ZMES?

Post by Magic919 »

It's a third party product that can work with ZM. The guy produced it as an Event Server to integrate with ZMNinja (also his work) and give us the power of ML. He's gone now and there is a very early version of a rewrite from one of the ZM people.

You need to get to grips with the fundamentals of how it works.

You are largely on your own. Some of us drop in and offer help when we get a chance.
-
Quantum
Posts: 88
Joined: Fri Mar 25, 2011 3:34 pm

Re: 'Connecting' to ZMES?

Post by Quantum »

Ok. ZMES is clearly beyond me. Too many gaps in info. It's not like I haven't read the docs. And I've assiduously set like zmeventnotification.ini and objectconfig.ini.

I guess that's why so few ppl are around here. :cry:

At least ZM works.
tsp84
Posts: 227
Joined: Thu Dec 24, 2020 4:04 am

Re: 'Connecting' to ZMES?

Post by tsp84 »

What parts are you having trouble with? Port 9000 is a websocket connection that you can talk and admin the event server with.

8n the newer versions of ZM there are EventStartCommand (and event end command) so you don't even need the Perl daemon/websocket server running (only need it to get and parse tokens.txt but that is being worked on)
Post Reply