CAMNET
Camera setup
Event-actions
Recording by schedule lets you specify event actions to perform at an event, such as motion detected by a camera. The Cam setup Schedule panel lets you specify which event actions to do, and when to have them done.

Each event action has a row value: row 1 has a value 1, row 2 has a value 2, row 3 has a value 4, and row 4 has a value 8. These row values are listed at the left of each row, in the Event Actions section at the bottom of this panel. These row values can be combined to perform more than one event action at an event. See the Cam setup, Schedule panel in this guide for details.

To define an event action, first select the EA row to define.

[ camnet camsetup, event-actions ]
Select the Action this event is to perform. Available actions are: beep, exec, dial, and call.

Beep does exactly that. It beeps at the CAMNET server machine. All event-actions take place at CAMNET server. It's possible, and even likely, that no client is connected to CAMNET server most of the time.

Exec starts a computer program at the CAMNET server machine. This can include running a .cmd script. This executes the program without a console, therefore no output is generated and no sound is heard.

To execute the program in the same console as CAMNET server select exec w/con. Generated output takes place in the CAMNET console. This cannot be used when CAMNET server is running as a service since there is no console. To execute the program in its own, new console, select exec w/new.

Dial uses Windows TAPI to dial using a modem on the CAMNET server machine. This event-action is designed to get the caller ID of your outgoing landline to the number you are dialing. After dialing, CAMNET server waits up to 30 seconds before hanging up. You can answer, or just make a note that CAMNET server has dialed you.

Call is similar to Dial but upon detecting an answer, this event-action sends a recorded voice file over the line. This requires a particular modem chipset made by Conexant. A low-cost Conexant USB CX93010 ACF Modem should do. The recorded voice file must be a mono, 8-bit .wav file recorded at a sample rate of 8000 Hz.

Any event causes the schedule-prescribed event action to fire. To limit how often an event-action is performed, set its Refire delay secs to a period during which any new events are to be ignored. For example, to dial your cell phone number no more than once every four minutes, set Refire delay secs to 240.

Trigger group event notifications can be set to not initiate an event action. A trigger group event was generated by another camera -- nearly always, HTTP /trigger=all excepted -- and that other camera could do the event action. Set Ignore Trigger Group (ITG) to yes to not perform an event action due to a trigger group event.

[ camnet camsetup, event-actions ]
One useful event-action to perform is an e-mail send. Use the exec action. An external e-mail program is needed[1].

To execute a .cmd script the program started must be cmd.exe. Supply to it the script. For example, as seen in the image above, set the Primary operation to the complete path of cmd.exe:

c:\windows\system32\cmd.exe

and set for cmd.exe the arguments needed to start the script:

/c "c:\camnet\eaMailsend.cmd" {ea.1.camname} {ea.2.info}

The text put into the PO data: field does not have quotes placed around it automatically when saved. Any quotes in PO data similarly are not removed when shown here, unlike the Primary operation: field where the quotes are removed when shown. The reason: multiple values can be placed here, some of which may require not being quoted. If quotes are needed, add them.

When CAMNET server performs this action, it substitutes the camera name (e.g., cam_m1031) for {ea.1.camname} and for {ea.2.info}, a play link that can be used with the client to show this event, jumping directly to this time in that recording. This is the format of the play link:

(cnslocation@camnetserver/cam_m1031/2015/05/01)(cnstime@06:21:12)(cnsmd@1)(cnsdi@0)

The cnsmd@ and cnsdi@ are for your reference: md@ has the list of motion detect windows (cnsmd@12345678) and di@ the active inputs (cnsdi@012XxPAT). They are not needed to play the link.

The cnslocation@ and cnstime@ should be copied from the received e-mail and pasted into the client's Play Event Link dialog (press F5 to bring up this dialog). You can also bring up the Play Event Link dialog using the client system menu (alt-spacebar).

[ play event link ]
[1] mailsend sample eaMailsend.cmd script
@echo off
@rem presumes mailsend.exe is in path
@rem use 'exec w/con' or 'exec w/new' to get console output
@rem output could be redirected to nul
@rem if mailhost does not support starttls - falls back to port110-like smtp (clear text)
@mailsend -v -f from@example.com  -t to@example.com  -sub "alert %1"  -M "%2" -smtp mail.yourmailhost.com -content-type "text/plain" -mime-type "text/plain" -enc-type "none" -starttls -port 587 -auth -user "max" -pass "nix"