fixed scaling issue for Raspberry Pi CPU temperature
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
#
|
#
|
||||||
# check_temperature - Nagios temperature check for DS18B20 sensor on RaspberryPi
|
# check_temperature - Nagios temperature check for RaspberryPi-connected sensors
|
||||||
#
|
#
|
||||||
# Version 1.2, latest version, documentation and bugtracker available at:
|
# Version 1.2, latest version, documentation and bugtracker available at:
|
||||||
# https://gitlab.lindenaar.net/scripts/nagios-plugins
|
# https://gitlab.lindenaar.net/scripts/nagios-plugins
|
||||||
@@ -32,11 +32,13 @@ PROG_NAME=splitext(basename(__file__))[0]
|
|||||||
PROG_VERSION=PROG_NAME + ' ' + VERSION
|
PROG_VERSION=PROG_NAME + ' ' + VERSION
|
||||||
|
|
||||||
CPU_SENSOR_DEV = '/sys/class/thermal/thermal_zone0/temp'
|
CPU_SENSOR_DEV = '/sys/class/thermal/thermal_zone0/temp'
|
||||||
|
CPU_SENSOR_SCALE=1000
|
||||||
I2C_MCP9808_CONFIG_ADDR=0x1
|
I2C_MCP9808_CONFIG_ADDR=0x1
|
||||||
I2C_MCP9808_CONFIG = [ 0x00, 0x00 ] # continuous conversion (power-up default)
|
I2C_MCP9808_CONFIG = [ 0x00, 0x00 ] # continuous conversion (power-up default)
|
||||||
I2C_MCP9808_PRECISION_ADDR=0x08
|
I2C_MCP9808_PRECISION_ADDR=0x08
|
||||||
I2C_MCP9808_PRECISION=3 # 0=0.5, 1=0.25, 2=0.125, 3=0.0625 degr. C
|
I2C_MCP9808_PRECISION=3 # 0=0.5, 1=0.25, 2=0.125, 3=0.0625 degr. C
|
||||||
I2C_MCP9808_TEMP_ADDR=0x05
|
I2C_MCP9808_TEMP_ADDR=0x05
|
||||||
|
I2C_MCP9808_SENSOR_SCALE=16
|
||||||
W1_SENSOR_DEV_DIR = '/sys/bus/w1/devices/'
|
W1_SENSOR_DEV_DIR = '/sys/bus/w1/devices/'
|
||||||
W1_SENSOR_DEV_PREFIX = '28-'
|
W1_SENSOR_DEV_PREFIX = '28-'
|
||||||
W1_SENSOR_DEV_SUFFIX = '/w1_slave'
|
W1_SENSOR_DEV_SUFFIX = '/w1_slave'
|
||||||
@@ -116,7 +118,7 @@ def read_rpi_cpu_temp(args):
|
|||||||
logger.debug('Temperature sensor data read from %s: %s', f.name, lines)
|
logger.debug('Temperature sensor data read from %s: %s', f.name, lines)
|
||||||
|
|
||||||
temp_read = int(lines[0])
|
temp_read = int(lines[0])
|
||||||
temp = args.converter[0](temp_read)
|
temp = args.converter[0](temp_read, CPU_SENSOR_SCALE)
|
||||||
logger.debug('Temperature sensor value %d is %.2f%s', temp_read,
|
logger.debug('Temperature sensor value %d is %.2f%s', temp_read,
|
||||||
temp, args.converter[1])
|
temp, args.converter[1])
|
||||||
return temp, 1
|
return temp, 1
|
||||||
@@ -157,7 +159,7 @@ def read_i2c_mcp9808_temp(args):
|
|||||||
if temp_read > 4095 :
|
if temp_read > 4095 :
|
||||||
temp_read -= 8192
|
temp_read -= 8192
|
||||||
|
|
||||||
temp = args.converter[0](temp_read, 16)
|
temp = args.converter[0](temp_read, I2C_MCP9808_SENSOR_SCALE)
|
||||||
logger.debug('Temperature sensor value %d is %.2f%s',
|
logger.debug('Temperature sensor value %d is %.2f%s',
|
||||||
temp_read, temp, args.converter[1])
|
temp_read, temp, args.converter[1])
|
||||||
return temp, 1
|
return temp, 1
|
||||||
|
|||||||
Reference in New Issue
Block a user