Page 66
Autogenerated Aranet PRO/PRO+ Modbus addresses layout file example.
Most important explanations about addresses are given in downloaded json file as //comments:
////////////////////////////////////////////////////////////////////////////////
// Aranet PRO Modbus mapping configuration description.
// The configuration supports the inputRegisters protocol object type.
// Each type has its own address offset value (e.g., 30000).
// Each offset value is expected to be in a range: 0-65535// Sensors can be mapped
// for each object type.
// Each sensor has:
// - offset value (e.g., 0);
// - set of measurements (e.g., temperature, humidity, battCharge, rssi).
// Each measurement has:
// - offset value (which must be unique in between particular sensor's
// measurement offset values, e.g., temperature - 1, humidity - 3, rssi - 5,
// battCharge - 6, etc.);
// Registry address of specific measurement is the sum of offsets, .e.g,
// protocol object type inputRegisters (30000) + sensor X offset (0) + measurement
// Y offset (1) which makes Input register's address value 30001 for the sensor's X
// measurement Y.
// - sum of offsets (e.g., registry address) must be in a range: 0-65535
// - data type (int16, int32, uint16, uint32, float32).
// This datatype determines how particular measurement must be interpreted
// (as integer or float value).
// Data type also determines the registry size needed to encode the value
// into bytes. Size of two bytes is used for a single Modbus registry.
// The selected data type also affects an offset value for the next
// measurement address, e.g., if temperature's (1) data type is float then next
// measurment offset value must be 3 as temperature measurement offset is 1 and
// it's data type length is 2.
// Address overlapping will be reported as a configuration error.
////////////////////////////////////////////////////////////////////////////////
{
"version": "1.0.0",
"inputRegisters": {
"offset": 0,
////////////////////////////////////////////////////////////////////////////////
"5245796": { // Sensor 500B64; Address: 0
"offset": 0,
"motorseconds": { // Address 0: measurement motorseconds in s
"offset": 0,
"dataType": "int32",
"multiplier": 1
},
"motorsecondscumulative": { // Address 2: measurement motorsecondscumulative in s
"offset": 2,
"dataType": "int32",
"multiplier": 1
},
"battCharge": { // Address 4: divide by 100 to get battCharge in fraction
"offset": 4,
"dataType": "int32",
"multiplier": 100
},
"rssi": { // Address 6: measurement rssi in dBm
"offset": 6,
"dataType": "int32",
"multiplier": 1
},
"time": { // Address 8: measurement time in seconds
"offset": 8,
"dataType": "uint32",
"multiplier": 1
}
},
////////////////////////////////////////////////////////////////////////////////
"1049873": { // Sensor 100511; Address: 20
"offset": 20,
"temperature": { // Address 20: divide by 1000 to get temperature in C
"offset": 0,
"dataType": "int32",
"multiplier": 1000
},
"humidity": { // Address 22: divide by 10 to get humidity in %
"offset": 2,
"dataType": "int32",
"multiplier": 10
},
"battCharge": { // Address 24: divide by 100 to get battCharge in fraction
"offset": 4,