This document tries to describe the protocol U-Talk used in some MGE UPSes.
As no information was taken from MGE UPS Systems, this document is incomplete.

If you have additional informations, corrections, remarks you can send them to
me at philm@users.sourceforge.net


To start communicating with the UPS :
Speed 2400
The RTS line must be cleared before receiving data from the UPS

A packet sent is made of some data followed by \r\n
A packet received is made of some data followed by \n\r

When the UPS responds '?\n\r', it means command not supported

-> means: from computer
<- means: from UPS

Initialize
->	Z\r\n
<- nothing if all goes well, ? otherwise

Sent during init for ESV+, unsupported by ES+
-> Ax 1\r\n
<- nothing if all goes well, ? otherwise

numerical ID
-> Si\r\n
<- xxxx xx x\n\r

First 4 bytes : 3000 means Pulsar
space
next 2 bytes  : 49 for ESV8+
                43 for ES8+
space
last byte	  :	0

ID String
-> Si 1
<- string with the complete name of the UPS

Autonomy in seconds
-> Bn\r\n
<- 4 digits 

Status string
-> Ss\r\n
<- 8 bytes followed by \n\r
Battery low : byte 4 = 1
Power fail  : byte 5 = 1
Overload	: byte 6 = 1

Battery status
-> Bs\r\n
<- 17 bytes followed by \n\r
Cold start (from battery)		: byte  0 = 1
Batteries not OK			: byte  1 = 1
Battery not fully charged		: byte  2 = 1
Power saving mode not supported		: byte 11 = x
Total discharge protection not supported : byte 12 = x


Put Total discharge protection on
-> Bx 4
<- OK\n\r

Put Power saving mode on
-> Sx 11\r\n
<- OK\n\r

Put Power saving mode off
-> Sx 10\r\n
<- OK\n\r

Autorestart when power is back
-> Sx 5

Disable autorestart
-> Sx 4

Time waiting before powering off
-> Sn xxx

Turn UPS Off
-> Sx 0

UPS Load (in percentage)
-> Ll\r\n
<- 

Battery load percentage
-> Bl\r\n
<-


Set output voltage
-> Iv xxxxx\r\n where xxxxx is a 5 digit number representing the desired voltage(ie: 23000 for 230 v)
<- OK\n\r if command accepted or NOK\n\r if not accepted

