19/01/2002 - MGE has made the U-Talk protocol specifications available at this URL: http://www.mgeups.com/techinfo/techdoc/index.htm
Many thanks to MGE UPS for making this documentation available.
12/09/2001 - I don't use pulsard anymore as I now have a different UPS.
libgpio is now called libgphoto2_port and a part of gphoto2, some minor tweaks in makefile.am will be necessary for compiling this software.
For those interested I have switched to an MGE Ellipse 800s for which I have written a driver for NUT.
28/08/2000 - version 1.0.1 - converted to use 'configure'
28/07/2000 - version 1.0 - First public release

Getting the software

This software is available in two forms : You can take a look at the sourceforge resource page.


There is a mailing list to discuss setup, development etc.
To subscribe just send a message with a subject of 'subscribe' to pulsard-devel-request@lists.sourceforge.net

Philippe Marzouk

Readme for pulsard

This is release 1.0.1 of pulsard, a monitoring software for MGE Pulsar UPSes.
The software is released under the GPL

Pulsard is copyright Philippe Marzouk .
It is released under the GPL version 2 or later.

You can have more information on the web page :

It is only tested with a Pulsar ESV8+ and with a ES8+ under Linux 2.2.x 
with glibc 2.1.

I used libgpio, written by Scott Fitzgerald and others for the Gphoto
project, to interact with the serial device. In theory, it should be
easy with this library to extend the software to talk to the newer USB
UPSes and to port it to other platforms.

I wrote this software because I was not satisfied by the alternatives.
The MGE provided, closed source, driver had stopped working at some point
after upgrading my system to kernel 2.2.x and you needed to ask for 
another special cable from them (even if they send it without charge).
The alternative was to use mgeupsd by Stanislav Voronyi. I used it for
some time until I wanted some other functionality (like voltage or
frequency indication in the logs) so I started this new project.

You can look at the Protocol file to see what I know of the U-talk protocol
used by these UPSes, if you have more information, I would be glad to complete
this file.

I took ideas from mgeupsd and also from apcupsd.

There is a mailing list to discuss setup, development etc.
To subscribe just send a message with a subject of 'subscribe' to


You need to have libgpio compiled and installed.
Libgpio is not yet available as a separate package but you can get it via 
the sourceforge cvs repository.
do a (if you are using bash) :
  export CVSROOT = :pserver:anonymous@cvs.gphoto.sourceforge.net:/cvsroot/gphoto
  cvs login
    hit simply enter when it asks for password
  cvs co libgpio
then you simply 
  cd libgpio 
  ./autogen.sh ; make 
  make install

If you have troubles getting libgpio let me know, I'll try to help you.

	Look at the top of pulsard.h to see if the default are ok for you,
		make install

	Pulsard needs to run as root as it have to signal init in case of a
powerfailure. It is generally invoked from an init script by adding a line
like that : (replacing x with the number of the port you use)
	/sbin/pulsard -s /dev/ttySx &

If you want pulsard to shutdown the UPS after it has shutdown the computer,
you must insert a line like the following at the end of the shutdown script :
	/sbin/pulsard -q -s /dev/ttySx

I don't use distributions like Redhat, Debian, Suse and the like so I don't
have init and halt script for them. If you have some send them to me and I'll
include them in the distribution.

pulsard options :

  -s, --serial-port    complete path of the serial port (mandatory)
  -q, --killpower            power down UPS after 20 seconds
                             or after the delay specified by the delay option
                             without warning!!!
  -d, --delay       delay before killing power. Default 20
  -i, --interval    set checking interval to N seconds. Default 10
  -a, --autorestart  autorestart if power is back. Default on
  -p, --powersaving  powersaving mode. Default on
  -m, --magnitude    magnitude of change of monitored values (load, voltage, etc.)
                             before reporting to syslog. Default 5
  -t, --test                 do everything but do not signal init nor kill power
  -V, --version              display version info
  -h, --help                 display help

The reporting of monitored values (input voltage, autonomy, load, battery 
charge) is done only if the change to be reported has a magnitude of 5 or 
more by default (ie : volts, minutes or %) to avoid too much messages in 
the logs when you have bad power lines like we have here in Bamako - Mali.
This value can be change globally for all values with the -m (--magnitude)

Philippe Marzouk (philm@users.sourceforge.net)

Hosted by:
Get Pulsard at SourceForge.net. Fast, secure and Free Open Source software downloads