This article explains how and when to use a formula on Ursalink Cloud formula setting to execute calculations.

Download PDF: Execute Simple Calculations with This Formula on Ursalink Cloud



Simply, a variable is any raw data within a channel in Ursalink Cloud. The final value is a variable that results from the standard-based computation of other variables within Ursalink Cloud.

This function is very useful to extend your application’s functionality, i.e if you develop a Soil Temperature and Moisture Sensor that reads the register value, then simple calculations are needed for the register value to get the accurate value in the end. Take soil temperature and moisture sensor in this kit as an example, it can calculate and convert temperature and humidity based on the following formulas:
Soil Temperature = x/10
Soil Humidity = x/100-20

Soil NPK Sensor

The Soil Temperature and Moisture Sensor are key measure factors in indicating soil temperature and water content.

Soil Moisture Measure Range 0 to 100%, ±2% (0% to 50%, 25°C)
Soil Temperature Measure Range -20 to 80°C, ±1°C (25°C)
Response Time <1s
Power Supply DC 12 to 24V
Power Consumption 0.6W DC 12V
Output RS485
Housing Material ABS
Size 133*40mm
Probe Length 60 mm
Cable Length 3 meters
Ingress Protection IP68


  • Create a Channel with Toolbox



Item Description Default
Execution Interval (ms) The execution interval between each command. Range: 10-1000. The default value is 50. 50
Max Resp Time (ms) Set the maximum response time that the Ursalink UC1152 waits for the response to the command. If the device does not get a response after the maximum response time, it’s determined that the command has timed out. Range: 10-1000. The default value is 500. 500
Max Retry Times Set the maximum retry times after it fails to read. Range: 0-5. The default value is 3. 3
Channel ID Assign the channel for the slave device. 8 channels selectable. Null
Name Set the name to identify the remote channel. It cannot be blank. Null
Slave ID Set Modbus slave ID. Null
Address The starting address for reading. Null
Quantity Set the number of digits to be read from the starting address. Null
Type Read command. Options are “Coil”, “Discrete”, “Holding Register (INT16)”, “Input Register (INT16)”, “Holding Register (INT32)” and “Holding Register (Float)”. Holding Register (INT16)
Sign To identify whether this channel is signed. Default: Unsigned. Null
Decimal Place Used to indicate a decimal point in channel value. For example, the channel value is 1234, and Decimal Place is set as 2, then the actual value is 12.34. Null
  • Create a Channel in Ursalink Cloud



  • Enter the Formula According to the User Manual of the Sensor



If you wish to convert temperature from °C to °F, you need to implement the function below:
((9 / 5) * x) + 32 => ((9 / 5) * x/10) + 32