BoincTasks & Js Temperature

What is Send Sensor?

Send Sensor is the BoincTasks Js / BoincTasks companion to remotely read the CPU and/or GPU temperature and GPU runtime % on Linux based computers.
On Windows machines use TThrottle.

BoincTasks Js, more info in Quick Start.
BoincTasks, in BoincTasks settings, select connect to TThrottle.

Programs needed

Send Sensors uses sensors for the CPU temperature and if you have a GPU, nvidia-smi to read the GPU temperatures/runtime % .

Install lm-sensors*

Note do not install when using Raspberry Pi*.
It has its own way of reading the temperature.

sudo apt update
sudo apt install lm-sensors
sudo sensors-detect

Test the command Send Sensor uses:
sensors -u coretemp-isa-0000 -j

Install nvidia-smi *

The Nvidia GPU driver package generally includes nvidia-smi.
Search for Linux Nvidia Driver (Proprietary).
Or just use test below, to check if it’s already installed.

Test the command Send Sensor uses:
nvidia-smi –query-gpu=name,utilization.gpu,temperature.gpu –format=csv

* Commands are valid for Ubtuntu and you might need to do things differently on your computer.

Install Send Sensor

Download the package.

The easy way on a Raspberry Pi: Open the web browser and go to the download page, click with the right mouse key and select open link in new tab.
Wait for the deb file to download.
After downloading it shows Keep / Discard, select Keep.
Now double click on the downloaded file and select install.

Open the terminal and type sendsensor.

Now you should see SendSensor icon in the right upper corner.
Right click Open

Use the above method first, but if this fails:
From the terminal:
sudo dpkg -i ./sendsensor_1.0.0_amd64.deb
Change the version number to match the downloaded deb.

To start type sendsensor

Use Send Sensor

On the Send Sensor icon use the right mouse key and select open.
Menu Extra -> Settings

Allowed IP

Add individual IP addresses (one on each line) or * (A single *, nothing else)

E.g.:
192.168.1.2
192.168.1.4

Or:

*

Local IP

The field Local IP should show the local IP address, but NOT localhost or 127.1.1.1.
There is no need to change the address, unless there is more than one IP address.

Port

In BoincTasks the port must be the BOINC IP + 1 e.g. 31417.
In BoincTasks Js it can be any non conflicting port.
In BoincTasks Js the port must be added to the computer port (computers->edit). e.g. 31416;31417

What you should see

Cpu0: 78℃ Cpu1: 80℃ Cpu2: 82℃ Cpu3: 83℃
Gpu0: 77℃ 100% Gpu1: 57℃ -1%
Polling idle as soon as this window closes

Listening Ip: 192.168.10.4 port: 31417

No connections.

sensors: OK
nvidia-smi: OK

First of all you should see OK for the sensors you have.
If it’s OK, the CPU and/or the GPU temperature/runtime should be shown.
The GPU % isn’t always supported by the driver.

Hide

Make sure to hide the program as soon as you are ready, to avoid unnecessary sensor polling.

The sensor polling stops as soon as Send Sensors is no longer visible and BoincTasks or BoincTasks Js doesn’t need the data.

Troubleshooting

All systems except Raspberry Pi*:

In the terminal type: sensors -u
This should give you a temperature Json string.
sensors -u coretemp-isa-0000 -j
This should give you a temperature.

Raspberry Pi*:

cat /sys/class/thermal/thermal_zone0/temp
Shows temperature *1000

In case you want to remove:
sudo apt-get remove lm-sensors
sudo apt-get remove sendsensor

*Raspberry 3&4, running Raspberry Pi OS