View unanswered posts | View active topics It is currently Wed Jul 23, 2014 4:41 am



Reply to topic  [ 7 posts ] 
Print special things on Webcam Images (zmtrigger.pl) 
Author Message

Joined: Tue May 01, 2007 5:19 pm
Posts: 31
Post Print special things on Webcam Images (zmtrigger.pl)
Hi, I wondered if there was a solution to print more than timestamps on Zoneminder generated images. I know you can display the time and title, but I would like to display output of an external application on it, for example display the temperature with something like: `cat /tmp/curtemp`.

I've seen in the manual that there is ZoneMinder-1.23.3/scripts/zmtrigger.pl:
Quote:
‘showtext’ is up to 32 characters of text that can be displayed in the timestamp that is added to images. The ‘show’ action is designed to update this text without affecting alarms but the text is updated, if present, for any of the actions. This is designed to allow external input to appear on the images captured, for instance temperature or personnel identity etc.

But I can't find an instruction on how to use zmtrigger...?


Wed Jun 10, 2009 6:58 pm
Profile

Joined: Tue May 01, 2007 5:19 pm
Posts: 31
Post 
Since no one answered, I tried the following workaround for my problem:
I wrote an external PHP-Script, which changes the Database entry Monitors.LabelFormat which I wanted to execute every 5 minutes. But apparently the change of this entry doesnt effect the timestamp on the image, even tough the Monitors Timestamp settings are updated in the settings pane - but the Monitor is only updated correctly when the Save button is pressed within Zoneminder.
Does anyone know a workaround for my workaround? :?


Tue Jun 16, 2009 7:22 pm
Profile

Joined: Tue May 01, 2007 5:19 pm
Posts: 31
Post 
Normando posted the solution in this topic:

Normando wrote:
1- Comment those channels you will not use. In my case I only use port 6802 to control zmtrigger.pl, so comment the rest of connection in zmtrigger.pl

Code:
 my @connections;
push( @connections, ZoneMinder::Trigger::Connection->new( name=>"Chan1", channel=>ZoneMinder::Trigger::Channel::Inet->new( port=>6802 ), mode=>"rw" ) );
#push( @connections, ZoneMinder::Trigger::Connection->new( name=>"Chan2", channel=>ZoneMinder::Trigger::Channel::Unix->new( path=>'/tmp/test.sock' ), mode=>"rw" ) );
#push( @connections, ZoneMinder::Trigger::Connection->new( name=>"Chan3", channel=>ZoneMinder::Trigger::Channel::File->new( path=>'/tmp/zmtrigger.out' ), mode=>"w" ) );
#push( @connections, ZoneMinder::Trigger::Connection->new( name=>"Chan4", channel=>ZoneMinder::Trigger::Channel::Serial->new( path=>'/dev/ttyS0' ), mode=>"rw" ) );


2- Enable triggers in options and restart zm

Code:
OPT_TRIGGERS


3- Send the command to the port 6802. You can make a script in php to access the socket in that port or send directly with your external app. I have write my own php script:

Code:
$cfgServer    = "localhost";
$cfgPort    = 6802;
$cfgTimeOut    = 10;

if ($extTrigger) {
    // open a socket
    if(!$cfgTimeOut) {
   // without timeout
        @$conn_handle = fsockopen($cfgServer, $cfgPort);
    }else{
   // with timeout
        @$conn_handle = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);
    }
    if(!$conn_handle) {
    //    echo "Connexion failed ";
        echo "E1";
   exit();
    }else{
    //    echo "Connected ";
   echo "E0";
        fputs($conn_handle, $extTrigger);
    }
// close connexion
fclose($conn_handle);
}


4- Add the token %Q at the end of timestamp string in your monitor settings, or where you want.

5- Change the monitor function to NoDect, MoCord or MoDect. If you want more functions to use external trigger look at http://www.zoneminder.com/forums/viewtopic.php?t=12926

6- Send the command. In my case because script, I send via URL:

Code:
http://myserver/zm/myscript.php?extTrigger=<id>|<action>|<score>|<cause>|<text>|<showtex>


in your case

Code:
http://myserver/zm/myscript.php?extTrigger=1|show||||your_text



Reply the results


Sun Jun 28, 2009 10:34 am
Profile

Joined: Mon Dec 15, 2008 1:10 am
Posts: 13
Post 
Thanks this works for me too.


Wed Jul 01, 2009 12:08 am
Profile

Joined: Mon Aug 31, 2009 11:31 pm
Posts: 305
Post 
Wonder how can you past info from a file, I have a weather station, and I generate a file every 5 minutes with temp, wind, rain, etc... and wanted to pass that info from the file to Zoneminder...


Sun Sep 27, 2009 1:49 am
Profile

Joined: Tue May 01, 2007 5:19 pm
Posts: 31
Post 
If you used the php version, you could just do a little shell script that would open that file (a certain information from it) and call the PHP script with your information:

Code:
VAR=`cat /path/to/your/file | grep line`
wget http://myserver/zm/myscript.php?extTrigger=1|show||||$VAR


For more info:
man cat
man grep
man wget


Sun Sep 27, 2009 11:00 am
Profile

Joined: Fri Jan 07, 2011 7:01 am
Posts: 2
Post 
Can I add another webcam to a computer that already has an integrated webcam? I recently bought a Dell. I don't like the quality of the image that the integrated webcam has, therefore I would rather keep my old webcam. Will there be any interference if I install my old webcam?
______________________
external keyword tool ~ keyworddiscovery.com ~ keycompete.com ~ compete.com ~ webmasterworld.com


Mon Jan 10, 2011 6:57 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 7 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group