Using configuration documentation from https://github.com/pliablepixels/zmeventserve. All bits that I can tell are in place.
Here's output when I run zmeventserver.pl:
Configuration (read /etc/zmeventnotification.ini):
Port .......................... 9000
Address ....................... [::]
Event check interval .......... 5
Monitor reload interval ....... 300
Auth enabled .................. true
Auth timeout .................. 20
Use FCM ....................... true
FCM API key ................... (defined)
Token file .................... /etc/private/tokens.txt
Use MQTT .......................false
MQTT Server ....................127.0.0.1
MQTT Username ..................(undefined)
MQTT Password ..................(undefined)
SSL enabled ................... true
SSL cert file ................. /etc/apache2/ssl/myhostname'sFQDN/zoneminder.crt
SSL key file .................. /etc/apache2/ssl/myhostname'sFQDN/zoneminder.key
Verbose ....................... true
Read alarm cause .............. false
Tag alarm event id ............ true
Use custom notification sound . false
Hook .......................... (undefined)
Use Hook Description........... false
Picture URL ................... https://server/zm/index.php?view=image& ... mypassword
Include picture................ true
2019-02-17,19:47:14 Push enabled via FCM
2019-02-17,19:47:14 MQTT Disabled
2019-02-17,19:47:14 You are running version: 2.6
2019-02-17,19:47:14 Parent<--Child pipe ready
2019-02-17,19:47:14 Event Notification daemon v 2.6 starting
2019-02-17,19:47:14 Initializing FCM tokens...
2019-02-17,19:47:14 Total event client connections: 0
2019-02-17,19:47:14 Reloading Monitors...
2019-02-17,19:47:14 Loading monitors
2019-02-17,19:47:14 checkEvents() events found=0
2019-02-17,19:47:14 About to start listening to socket
2019-02-17,19:47:14 Secure WS(WSS) is enabled...
2019-02-17,19:47:14 Web Socket Event Server listening on port 9000
2019-02-17,19:47:19 ---------->Tick START<--------------
2019-02-17,19:47:19 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:19 Empty job queue
2019-02-17,19:47:19 checkEvents() events found=0
2019-02-17,19:47:19 ---------->Tick END<--------------
2019-02-17,19:47:24 ---------->Tick START<--------------
2019-02-17,19:47:24 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:24 Empty job queue
2019-02-17,19:47:24 checkEvents() events found=0
2019-02-17,19:47:24 ---------->Tick END<--------------
2019-02-17,19:47:29 ---------->Tick START<--------------
2019-02-17,19:47:29 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:29 Empty job queue
2019-02-17,19:47:29 checkEvents() events found=0
2019-02-17,19:47:29 ---------->Tick END<--------------
2019-02-17,19:47:34 ---------->Tick START<--------------
2019-02-17,19:47:34 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:34 Empty job queue
2019-02-17,19:47:34 checkEvents() events found=0
2019-02-17,19:47:34 ---------->Tick END<--------------
2019-02-17,19:47:39 ---------->Tick START<--------------
2019-02-17,19:47:39 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:39 Empty job queue
2019-02-17,19:47:39 checkEvents() events found=0
2019-02-17,19:47:39 ---------->Tick END<--------------
2019-02-17,19:47:44 ---------->Tick START<--------------
2019-02-17,19:47:44 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:44 Empty job queue
2019-02-17,19:47:44 checkEvents() events found=0
2019-02-17,19:47:44 ---------->Tick END<--------------
2019-02-17,19:47:49 ---------->Tick START<--------------
2019-02-17,19:47:49 After tick: TOTAL: 0, FCM+WEB: 0, FCM: 0, WEB: 0, MQTT:0, invalid WEB: 0, PENDING: 0
2019-02-17,19:47:49 Empty job queue
2019-02-17,19:47:49 checkEvents() events found=0
2019-02-17,19:47:49 ---------->Tick END<--------------
2019-02-17,19:47:51 ---------->onConnect START<--------------
2019-02-17,19:47:51 got a websocket connection from ::ffff:192.168.254.39 (0) active connections
2019-02-17,19:47:51 ---------->onConnect STOP<--------------
2019-02-17,19:47:51 ---------->onConnect:handshake START<--------------
2019-02-17,19:47:51 Websockets: New Connection Handshake requested from ::ffff:192.168.254.39:44445 state=pending auth, id=1550461671.20396
2019-02-17,19:47:51 ---------->onConnect:handshake END<--------------
2019-02-17,19:47:51 ---------->onConnect msg START<--------------
2019-02-17,19:47:51 Raw incoming message: {"event":"auth","data":{"user":"myzmacct","password":"myzmpass","monlist":"1,2,3,4","intlist":"0,0,0,0"}}
2019-02-17,19:47:51 Correct authentication provided by ::ffff:192.168.254.39
2019-02-17,19:47:51 ---------->onConnect msg STOP<--------------
2019-02-17,19:47:51 ---------->onConnect msg START<--------------
2019-02-17,19:47:51 Raw incoming message: {"event":"control","data":{"type":"filter","monlist":"1,2,3,4","intlist":"0,0,0,0","token":""}}
2019-02-17,19:47:51 Contrl: Storing token ...,monlist:1,2,3,4,intlist:0,0,0,0,pushstate:
2019-02-17,19:47:51 Not saving, no token. Desktop?
I re-run while my zmNinja app is connected and I get/see:
Not sure why push is disabled.2019-02-17,19:59:28 -->checkNewEvents: Connection 1: ID->1550462368.97673 IP->(none) Token->:...xUWBMmNHip Plat:android Push:disabled
Interestingly if I background zmNinja I see the websocket being dropped on the server end even though I have "exit app in background" disabled.