The TEMPer is an affordable (under $20) USB digital thermometer that accurately senses temperatures from -55 to +125 degrees Celsius / -67 to +257 degrees Fahrenheit. This is an ideal addition to the server room to generate alerts should temperatures fall outside a safe threshold.

TEMPer devices work on all NEMS Linux hardware platforms. It will also work on the NEMS Linux virtual appliance, however you must connect the hardware to the virtual machine, which is beyond the scope of this documentation (please refer to the documentation for your hypervisor).

check_temper supports Critical and Warning states for both low (cold) and high (hot) temperatures.

For optimum accuracy, it is recommended to plug your TEMPer device into a short USB extension cord so the thermal data isn't impacted by the heat pulled from the USB port of your NEMS Server.

Setting up check_temper

Simply add check_temper as a service to your NEMS host, having connected the TEMPer device to your NEMS Server's USB port. You may specify your temperature thresholds in either degrees Celsius or Fahrenheit. NEMS will automatically determine which you are using.

Buy TEMPer Thermal Sensor

Supported Devices

Support is provided via temper.

In the following table ā€œIā€ means the sensor is internal to the USB stick and ā€œEā€ means the sensor is on a cable that is plugged into the USB stick.

Product Id Firmware Temp Hum Notes
TEMPer 0c45:7401 TEMPerF1.4 I Metal
TEMPer 413d:2107 TEMPerGold_V3.1 I Metal
TEMPerHUM 413d:2107 TEMPerX_V3.1 I I White plastic
TEMPer2 413d:2107 TEMPerX_V3.3 I,E White plastic
TEMPer1F 413d:2107 TEMPerX_V3.3 E White plastic
TEMPerX232 1a86:5523 TEMPerX232_V2.0 I,E I White plastic

Terminal Output

To receive the JSON output, type nems-info temper

TEMPer devices seem to have an issue on low-powered systems (such as Raspberry Pi) where due to the low power to the USB port, temper.py will respond with errors such as:

  1. Cannot read firmware identifier from device
  2. Unknown firmware ld_V3.1 TEMPerGold_V3.1: b'80800f874e200000'

To remedy this, nems-info silently loops through the output multiple times until a good thermal reading is obtained. The errors are hidden and only the clean JSON output is generated. This all happens very quickly and transparently, resulting in good output every time, with no errors.

Adding to your NEMS NConf

check_temper allows you to add TEMPer devices to your NEMS Server. The check has 4 thresholds: Critical Low, Warning Low, Warning High, Critical High. The number you enter may be in either degrees Celsius or Fahrenheit. The system will automatically detect which you are using. The OK temperature will be any temperature that falls between Warning Low and Warning High. This way, you can receive alerts from your NEMS Server should the room temperature be either too cold or too hot.

Configuring NEMS Linux 1.5

If you are running NEMS Linux 1.5.1 or higher, you do not need to do this.

TEMPer support was added to NEMS Linux 1.5 as a patch. If the NEMS Server was initialized before the rollout, some user customization is required. If you are initializing a new server, you likely will not need to take these steps. They are here only for those who initialized their NEMS Server before the patch was released.

  1. Edit the check_temper checkcommand
  2. Change params description to: Critical Low Temp,Warning Low Temp,Warning High Temp,Critical High Temp
  3. Change amount of params to: 4
  4. Submit
  5. Add check_temper as normal.
  • hardware/temper.txt
  • Last modified: 2019/09/25 09:25
  • by Robbie Ferguson