Modbus table

Data model

uWiotys supports holding register data model.

Registries 0x0 to 0x05 is filled with device configuration upon GW startup.

All other registries are filled upon LoraWan message sent by the device.

A registry set to default value 0xFFFF (or 0x7FFF for signed values) indicates that the value has never been updated.
There could be several causes:

  • the device didn't send any payload yet.
  • this is not the proper modbus table to read for the device type.
  • the registry isn't available for this model. For instance NKE 50-70-139 only has 2 temperature probes, therefor temperature 3 will always remains 0x7FFF
  • the registry isn't activated for this model. For instance NKE 50-70-016 has 10 contact state. However some could be deactivated on sensor configuration (if so the modbus table will always remains 0xFFFF).

Common table

This table is present and identical for all devices.

Address (hex) Address (dec) Size description Unit Data Type
0x00 0 1 µWiotys version
XXYYZZ (XX Major YY Minor ZZ Patch)
020400 for version 2.4.0
U16
0x01 1 4 DevEUI U64
0x05 5 1 Device Wi6Labs reference ID U16
0x06 6 2 Last uplink U32
0x08 8 2 Last uplink frame counter U32
0x0A 10 4 RFU U64
0x0E 14 1 SF U16
0x0F 15 1 RSSI S16
0x10 16 1 SNR S16
0x11 17 1 Device Battery % U16
0x12 18 1 Device Battery mv U16
0x13 19 1 Device version U16
0x14 20 1 Device configuration U16
0x15 21 125 Payload ByteField

(1) This value is the µWiotys version. The following table presents how to interpret this value:

Field Major Minor Patch
Position 0 1:2 3:4

For example, the version "2.3.1" is stored in format 20301.

Temperature - Humidity

Depending on the type and configuration of your connected Lorawan device, you will get one or several values. Please refer to your device manual. If your device only return one value for temperature, it will be available in temperature 0 and updated with each new payload. If your device returns 2 values for temperature, it will be available in temperature 0 and 1, check out the manufacturer documentation for more informations.

Address (hex) Address (dec) Size Description Unit Data Type
0x1000 4096 2 last payload timestamp second U32
0x1002 4098 1 Temperature 0 Celsius / 10 S16
0x1003 4099 1 Humidity 0 % integer from 0 to 100 U16
0x1004 4100 1 Temperature 1 Celsius / 10 S16
0x1005 4101 1 Humidity 1 % integer from 0 to 100 U16
0x1006 4102 1 Temperature 2 Celsius / 10 S16
0x1007 4103 1 Humidity 2 % integer from 0 to 100 U16
0x1008 4104 1 Temperature 3 Celsius / 10 S16
0x1009 4105 1 Humidity 3 % integer from 0 to 100 U16
0x100A 4106 1 Temperature 4 Celsius / 10 S16
0x100B 4107 1 Humidity 4 % integer from 0 to 100 U16
0x100C 4108 1 Temperature 5 Celsius / 10 S16
0x100D 4109 1 Humidity 5 % integer from 0 to 100 U16

Industrial

Depending on the type and configuration of your connected Lorawan device, you will get one or several values for Analog or contact. Please refer to your device manual.

Address (hex) Address (dec) Size description Unit Data Type
0x2000 8192 2 last payload timestamp second DATETIME
0x2002 8194 1 Analog A : type of channel A
0 = 4-20mA
1 = 0-10V
2 = 0.5-30 A
U16
0x2003 8195 2 value of Analog A channel type 0 = mA/1000
type 1 = mV
type 2 = mA
U32
0x2005 8197 1 Analog B : type of channel B
0 = 4-20mA
1 = 0-10V
2 = 0.5-30 A"
U16
0x2006 8198 2 value of Analog B channel type 0 = mA/1000
type 1 = mV
type 2 = mA
U32
0x2008 8200 2 input 1 : count value U32
0x200A 8202 1 input 1 : currentState U16
0x200B 8203 1 input 1 : previousFrameState U16
0x200C 8204 2 input 2 : count value U32
0x200E 8206 1 input 2 : currentState U16
0x200F 8207 1 input 2 : previousFrameState U16
0x2010 8208 2 input 3 : count value U32
0x2012 8210 1 input 3 : currentState U16
0x2013 8211 1 input 3 : previousFrameState U16
0x2014 8212 2 input 4 : count value U32
0x2016 8214 1 input 4 : currentState U16
0x2017 8215 1 input 4 : previousFrameState U16
0x2018 8216 2 input 5 : count value U32
0x201A 8218 1 input 5 : currentState U16
0x201B 8219 1 input 5 : previousFrameState U16
0x201C 8220 2 input 6 : count value U32
0x201E 8222 1 input 6 : currentState U16
0x201F 8223 1 input 6 : previousFrameState U16
0x2020 8224 2 input 7 : count value U32
0x2022 8226 1 input 7 : currentState U16
0x2023 8227 1 input 7 : previousFrameState U16
0x2024 8228 2 input 8 : count value U32
0x2026 8230 1 input 8 : currentState U16
0x2027 8231 1 input 8 : previousFrameState U16
0x2028 8232 2 input 9 : count value U32
0x202A 8234 1 input 9 : currentState U16
0x202B 8235 1 input 9 : previousFrameState U16
0x202C 8236 2 input 10 : count value U32
0x202E 8238 1 input 10 : currentState U16
0x202F 8239 1 input 10 : previousFrameState U16
0x2100 8448 1 output 1 : current state U16
0x2101 8449 1 output 1 : New state (write 0 or 1 value only) U16
0x2104 8452 1 output 2 : current state U16
0x2105 8453 1 output 2 : New state (write 0 or 1 value only) U16
0x2108 8456 1 output 3 : current state U16
0x2109 8457 1 output 3 : New state (write 0 or 1 value only) U16
0x210C 8460 1 output 4 : current state U16
0x210D 8461 1 output 4 : New state (write 0 or 1 value only) U16

Environnement

Depending on the type and configuration of your connected Lorawan device, you will get one or several values. Please refer to your device manual.

Address (hex) Address (dec) Size description Unit Data Type
0x3000 12288 2 last payload timestamp second U32
0x3002 12290 1 TVOC value 1 mg/m^3 U16
0x3003 12291 1 TVOC value 2 mg/m^3 U16
0x3004 12292 1 CO2 value 1 ppm U16
0x3005 12293 1 CO2 value 2 ppm U16
0x3006 12294 1 IAQ U16
0x3007 12295 1 RFU U16
0x3008 12296 1 RFU U16
0x3009 12297 1 RFU U16
0x300A 12298 1 RFU U16
0x300B 12299 1 RFU U16
0x300C 12300 1 RFU U16
0x300D 12301 1 RFU U16
0x300E 12302 1 RFU U16
0x300F 12303 1 PM 1.0 ug/m^3 /10 U16
0x3010 12304 1 PM 2.5 ug/m^3 /10 U16
0x3011 12305 1 PM 10 ug/m^3 /10 U16
0x3012 12306 1 number of particles : 0.3 um to 0.5 um U16
0x3013 12307 1 number of particles : 0.5 um to 1 um U16
0x3014 12308 1 RFU U16
0x3015 12309 1 RFU U16
0x3016 12310 1 RFU U16
0x3017 12311 1 RFU U16
0x3018 12312 1 RFU U16
0x3019 12313 1 RFU U16
0x301A 12314 2 Pressure hPa U32
0x301C 12316 1 RFU U16
0x301D 12317 1 RFU U16
0x301E 12318 1 luminosity value 1 Lux U16
0x301F 12319 1 luminosity value 2 Lux U16
0x3020 12320 1 color temperature °K U16
0x3021 12321 1 RFU U16
0x3022 12322 1 RFU U16
0x3023 12323 1 RFU U16
0x3024 12324 1 RFU U16
0x3025 12325 1 RFU U16
0x3026 12326 1 RFU U16
0x3027 12327 1 RFU U16
0x3028 12328 1 RFU U16
0x3029 12329 1 sound dB U16
0x302A 12330 1 RFU U16
0x302B 12331 1 RFU U16
0x302C 12332 1 X axis status U16
0x302D 12333 2 X Axis Acceleration m/s2 Float
0x302F 12335 2 X Axis Velocity mm/s Float
0x3031 12337 2 X Axis Acceleration m/s2 / 1 000 000 U32
0x3033 12339 2 X Axis Velocity mm/s / 1 000 000 U32
0x3035 12341 1 RFU U16
0x3036 12342 1 RFU U16
0x3037 12343 1 RFU U16
0x3038 12344 1 RFU U16
0x3039 12345 1 Y axis status U16
0x303A 12346 2 Y Axis Acceleration m/s2 Float
0x303C 12348 2 Y Axis Velocity mm/s Float
0x303E 12350 2 Y Axis Acceleration m/s2 / 1 000 000 U32
0x3040 12352 2 Y Axis Velocity mm/s / 1 000 000 U32
0x3042 12354 1 RFU U16
0x3043 12355 1 RFU U16
0x3044 12356 1 RFU U16
0x3045 12357 1 RFU U16
0x3046 12358 1 Z axis status U16
0x3047 12359 2 Z Axis Acceleration m/s2 Float
0x3049 12361 2 Z Axis Velocity mm/s Float
0x304B 12363 2 Z Axis Acceleration m/s2 / 1 000 000 U32
0x304D 12365 2 Z Axis Velocity mm/s / 1 000 000 U32
0x304F 12367 1 RFU U16
0x3050 12368 1 RFU U16
0x3051 12369 1 RFU U16
0x3052 12370 1 RFU U16
0x3053 12371 1 Composite XYZ status U16
0x3054 12372 2 Composite XYZ Acceleration m/s2 Float
0x3056 12374 2 Composite XYZ Velocity mm/s Float
0x3058 12376 2 Composite XYZ Acceleration m/s2 / 1 000 000 U32
0x305A 12378 2 Composite XYZ Velocity mm/s / 1 000 000 U32

Energy

Depending on the type and configuration of your connected Lorawan device, you will get one or several values. Please refer to your device manual.

Address (hex) Address (dec) Size description Unit Data Type
0x4000 16384 2 last payload timestamp second U32
0x4002 16386 2 index1 U32
0x4004 16388 1 meter_weight U16
0x4005 16389 2 RFU S32
0x4007 16391 1 RFU U16
0x4008 16392 2 index2 U32
0x400B 16395 2 RFU S32
0x400A 16394 1 RFU U16
0x400D 16397 1 RFU U16
0x400E 16398 2 index3 U32
0x4010 16400 1 RFU U16
0x4011 16401 2 RFU S32
0x4013 16403 1 RFU U16
0x4014 16404 1 energy_unit 0:Wh
1:10Wh
2:kWh
3:mWh
4:Mj
5:Mcal
U16
0x4015 16405 4 energy_1 U64
0x4019 16409 4 energy_2 U64
0x401D 16413 4 energy_3 U64
0x4021 16417 4 energy_4 U64
0x4025 16421 4 energy_5 U64
0x4029 16425 4 energy_6 U64
0x402D 16429 8 RFU ByteField
0x4035 16437 1 unit_current 0 : mA U16
0x4036 16438 4 current_1 U64
0x403A 16442 4 current_2 U64
0x403E 16446 4 current_3 U64
0x4042 16450 8 RFU ByteField
0x404A 16458 1 unit_voltage 0:mV
1:10mV
U16
0x404B 16459 2 voltage_1 U32
0x404D 16461 2 voltage_2 U32
0x404F 16463 2 voltage_3 U32
0x4051 16465 8 RFU ByteField
0x4059 16473 1 unit_power 0:W
1:kW
U16
0x405A 16474 2 power_1 U32
0x405C 16476 2 power_2 U32
0x405E 16478 2 power_3 U32
0x4060 16480 2 power_4 U32
0x4062 16482 2 power_5 U32
0x4064 16484 2 power_6 U32
0x4066 16486 2 power_7 U32
0x4068 16488 2 power_8 U32
0x406A 16490 8 RFU ByteField
0x4072 16498 1 unit_volume 0 : L(liter)
1 : m³
U16
0x4073 16499 4 volume U64
0x4077 16503 1 unit_flow 0 : L/h
1 : m³/h
U16
0x4078 16504 4 flow U64

Diris B-10 Lora Socomec

There is a dedicated Modbus table for this product. Please refer to Socomec manual.

Modbus

Depending on the type and configuration of your connected Lorawan device, you will get one or several values. Please refer to your device manual.

This table is dedicated for LoraWan to Modbus RTU RS485 devices. Please note that your LoraWan device must be configured with proper RS485 parameters matching your secondary BMS configuration : baud rate, parity, stop bit, data bits, slave, register adress. Contact Wi6labs support for this initial configuration

Modbus_RS485_to_Lora.png

Read RS485 Modbus registers with your LoraWan Device

Address (hex) Address (dec) Size description Unit Data Type
5000 20480 2 last payload timestamp second DATETIME
5002 20482 1 Identifaction of sensor Modbus frame U16
5003 20483 1 Slave address U16
5004 20484 1 RFU U16
5005 20485 1 Datasize U16
5006 20486 1 Modbus Fonction U16
5007 20487 1 Alarm info:
0: No alarm
1: High threshold
2: Low threshold
3: Sensor error (NKE)
U16
5008 20488 2 RFU U32
500A 20490 125 data read 1 ByteField
5087 20615 2 RFU U32
5089 20617 2 last payload timestamp DATETIME
508B 20619 1 Identifaction of sensor Modbus frame U16
508C 20620 1 Slave address U16
508D 20621 1 RFU U16
508E 20622 1 Datasize U16
508F 20623 1 Modbus Fonction U16
5090 20624 1 Alarm info (alarm, up, down) U16
5091 20625 2 RFU U32
5093 20627 125 data read 2 ByteField
5110 20752 2 RFU U32
5112 20754 2 last payload timestamp DATETIME
5114 20756 1 Identifaction of sensor Modbus frame U16
5115 20757 1 Slave address U16
5116 20758 1 RFU U16
5117 20759 1 Datasize U16
5118 20760 1 Modbus Fonction U16
5119 20761 1 Alarm info (alarm, up, down) U16
511A 20762 2 RFU U32
511C 20764 125 data read 3 ByteField
5199 20889 2 RFU U32
519B 20891 2 last payload timestamp DATETIME
519D 20893 1 Identifaction of sensor Modbus frame U16
519E 20894 1 Slave address U16
519F 20895 1 RFU U16
51A0 20896 1 Datasize U16
51A1 20897 1 Modbus Fonction U16
51A2 20898 1 Alarm info (alarm, up, down) U16
51A3 20899 2 RFU U32
51A5 20901 125 data read 4 ByteField
5222 21026 2 RFU U32
5224 21028 2 last payload timestamp DATETIME
5226 21030 1 Identifaction of sensor Modbus frame U16
5227 21031 1 Slave address U16
5228 21032 1 RFU U16
5229 21033 1 Datasize U16
522A 21034 1 Modbus Fonction U16
522B 21035 1 Alarm info (alarm, up, down) U16
522C 21036 2 RFU U32
522E 21038 125 data read 5 ByteField
52AB 21163 2 RFU U32
52AD 21165 2 last payload timestamp DATETIME
52AF 21167 1 Identifaction of sensor Modbus frame U16
52B0 21168 1 Slave address U16
52B1 21169 1 RFU U16
52B2 21170 1 Datasize U16
52B3 21171 1 Modbus Fonction U16
52B4 21172 1 Alarm info (alarm, up, down) U16
52B5 21173 2 RFU U32
52B7 21175 125 data read 6 ByteField
5334 21300 2 RFU U32
5336 21302 2 last payload timestamp DATETIME
5338 21304 1 Identifaction of sensor Modbus frame U16
5339 21305 1 Slave address U16
533A 21306 1 RFU U16
533B 21307 1 Datasize U16
533C 21308 1 Modbus Fonction U16
533D 21309 1 Alarm info (alarm, up, down) U16
533E 21310 2 RFU U32
5340 21312 125 data read 7 ByteField
53BD 21437 2 RFU U32
53BF 21439 2 last payload timestamp DATETIME
53C1 21441 1 Identifaction of sensor Modbus frame U16
53C2 21442 1 Slave address U16
53C3 21443 1 RFU U16
53C4 21444 1 Datasize U16
53C5 21445 1 Modbus Fonction U16
53C6 21446 1 Alarm info (alarm, up, down) U16
53C7 21447 2 RFU U32
53C9 21449 125 data read 8 ByteField
5446 21574 2 RFU U32
5448 21576 2 last payload timestamp DATETIME
544A 21578 1 Identifaction of sensor Modbus frame U16
544B 21579 1 Slave address U16
544C 21580 1 RFU U16
544D 21581 1 Datasize U16
544E 21582 1 Modbus Fonction U16
544F 21583 1 Alarm info (alarm, up, down) U16
5450 21584 2 RFU U32
5452 21586 125 data read 9 ByteField
54CF 21711 2 RFU U32
54D1 21713 2 last payload timestamp DATETIME
54D3 21715 1 Identifaction of sensor Modbus frame U16
54D4 21716 1 Slave address U16
54D5 21717 1 RFU U16
54D6 21718 1 Datasize U16
54D7 21719 1 Modbus Fonction U16
54D8 21720 1 Alarm info (alarm, up, down) U16
54D9 21721 2 RFU U32
54DB 21723 125 data read 10 ByteField
5558 21848 2 RFU U32

Write RS485 Modbus registers with your LoraWan Device

Writing registers is only possible possible with LoraWan class C devices!

Address (hex) Address (dec) Size description Unit Data Type
555B 21851 1 send request (write)
Write 1 to order a Modbus RS485 writing using bellow parameters of slave ID, register adress, register value
When the writing request is successfully sent to LoraWan to Modbus device, the register is reseted to 0xFFFF
U16
555C 21852 1 remote Modbus RS485 slave ID [0 to 255] (write) U16
555D 21853 1 remote Modbus RS485 register adress (write) U16
555E 21854 1 RFU U16
555F 21855 1 Register value to write in remote Modbus RS485 (write) U16