[DESCRIPTION]

/psensor-server is a/

It provides a JSON Web service which can be used by psensor(1) to
monitor remotely the hardware sensors of a computer.

It can provide information about:
  * the temperature of the motherboard and CPU sensors (using lm\-sensors).
  * the temperature of the Hard Disk Drives (using hddtemp).
  * the rotation speed of the fans (using lm\-sensors).

It is also possible to connect to the psensor\-server with a browser, a
simple Web page is displaying the sensors information and the CPU
usage.

The URL http://hostname:3131/api/1.0/sensors/[id] returns a JSON
object containing all information about a sensor. [id] is the uniq
identifier of the sensor.

Here is an example of the JSON object of type 'sensor':

{ "id": "lmsensor acpitz\-virtual\-0 temp1", 
  "name": "temp1", 
  "type": 257, 
  "min": 47.800000, 
  "max": 60.800000,
  "measures": [ { "value": 47.800000, "time": 1311374873 },
                { "value": 49.800000, "time": 1311374878 },
                { "value": 49.800000, "time": 1311374883 } ],
  "last_measure": { "value": 49.800000, "time": 1311374883 }
}

Fields of the type 'sensor':

   * id: the uniq identifier of the sensor.
   * name: a humean readable name of the sensor (might not be uniq).
   * type: the type of sensor. Look at src/lib/psensor.h for the
     different types.
   * min: the minimal value of the sensor.
   * max: the maximal value of the sensor.
   * measures: all measures of the sensor.
   * last_measure: the last value of the sensor.
   * time: the time of a measure as the number of seconds since
     1970/01/01.

The URL http://hostname:3131/api/1.0/sensors returns a JSON array
containing all JSON objects of type 'sensor'.

psensor\-server can be stopped by sending an HTTP
request with the URL 'http://hostname:port/api/1.0/server/stop'.

[SENSOR LOG FILE]

Sensors can be logged using the \-\-sensor-log-file option.

It is using a text format, each line is terminated with a NEWLINE
char.

The first line is: I,%D,%V

%D is the starting time of the log expressed as the number of seconds
since EPOC.

%V is the version of psensor-server.

Following lines gives the ordered list of sensors: S,%I,%T

%I is the uniq identifier of the sensor.

%T is the hexadecimal representation of the sensor type.

Then, the values of all sensors are written: %D,%V...

%D is the number of seconds elapsed since the starting time of the
log.

%V... is the list separated by a comma of the current value of all
sensors. The ordering is the same than the list of sensor identifiers.

The value is expressed as a float with one digit precision. Temperatures
are using Celsius unit.

The value is written only if it has changed.

Example:
I,1345974927,0.7.0.4
S,lmsensor coretemp-isa-0000 Physical id 0,101
S,lmsensor coretemp-isa-0000 Core 0,101
S,lmsensor coretemp-isa-0000 Core 1,101
0,37.0,37.0,36.0
5,36.0,,36.0

Five seconds after the log starts, the temperature of the second
sensor (Core 0) is still 37C.

[WARNING]

psensor\-server does not provide any way to restrict the connection to
the HTTP server, worst, no effort has been made against malicious HTTP
attacks.  You should make the psensor\-server port available only to a
network or computer you trust by using the usual network security
tools of the system (for example, iptables(8) ).

[SEE ALSO]

psensor(1), sensors(1), sensors\-detect(8)
