Data Model

Your application can be configured with a specific data model. This model will format your device information as expected by the Application Server.

Only one model can be applied per application server.

Here is below a non exhausitive list of data model available. Data models can be updated/created upon request to Wi6labs.

Smart Essential

The Smart Format allows you to get decoding output with the same formating of measure regardless of the device manufacturer.

JSON Field Description format
device_id unique identifier of a device in Wiotys integer
deveui unique identifier of a LoRa device 16 hexadecimal
datetime date and time of the information reception, it may not be real time ISO 801
timestamp timestamp of the information reception in UTC timestamp
payload_deciphered payload data hexadecimal data 0 to 104 caracter
ver version of the following smart dataset
data decoded data Smart formating
customElement custom information field for the sensor table

Example :

{
  "device_id": "1234",
  "deveui": "0123456789ABCDEF",
  "device_name": "MyDevice",
  "datetime": "2020-10-04T11:37:56+00:00",
  "timestamp": "1601811476",
  "payload_deciphered": "7238837C4A8014",
  "data": {
    "columns": [
      "type",
      "ref",
      "value"
    ],
    "values": [
      [
        "Measure",
        "Multi_Fluid|0|ICO2",
        1120
      ],
      [
        "Measure",
        "Multi_Fluid|0|IInstTemperature",
        26.2
      ],
      [
        "Measure",
        "Multi_Fluid|0|IHumidity",
        62
      ]
    ]
  },
  "customElement": [
    {
      "name": "MyDeviceCustomValue",
      "value": 42
    }
  ]
}

Wi6labs extended

This is the format to get complete information of your devices with default decoded information and network statistics. For compatibility, this format is identical to the WiotysV4 format.

JSON Field Description format
id unique identifier of a device in Wiotys integer
deveui unique identifier of a LoRa device 16 hexadecimal
timestamp date and time of the information reception, local time (Europe/Paris) Date-time RFC3339
payload_ciphered payload crypted by LoRaWAN protocol
payload_deciphered Device applicative payload hexadecimal data 0 to 104 caracter
data decoded information Default decoding. Format is depending of the device, configuration and codec selected
lorawan LoRaWAN detailed information
lora radio parameters of the frame
gateway Gateway ID with the best SNR and Number of gateway which seen the uplink
gps GPS coordinates decimal degrees (geodetic system WGS 84)

Example :

{
    "id": "1453",
    "deveui": "0123456789abcdef",
    "timestamp": "2022-02-10T09:28:48+01:00",
    "payload_ciphered": "4d0335affdec9e0ecf90ccbb188e9543",
    "payload_deciphered": "4d4bf83bf203e101fd00d201ff00bdff",
    "data": {
      "battery": 75,
      "humidity": 59,
      "pressure": 1010,
      "CO2_moy": 481,
      "CO2_max": 466,
      "temperature_moy": 25.3,
      "temperature_max": 25.5,
      "signal_quality": -67
    }
    "lorawan": {
        "type": "unconfirmed_data_up", /* unconfirmed_data_up, confirmed_data_up */
        "devaddr": "abcdef01", /* Device address on the network */
        "adr": true, /* If set to true, the sensor authorizes network to set its data rate. */
        "fcnt": 1234, /* Uplink frame counter */
        "port": 1 /* LoRaWAN port */
    },
    "lora": {
        "freq": 868.5, /* RX central frequency in MHz */
        "data_rate": "SF7BW125", /* LoRa datarate identifier */
        "rssi": -52, /* RSSI in dBm (1 dB precision) */
        "lsnr": -1.5 /* LoRa SNR ratio in dB (0.1 dB precision) */
    },
    "gateway": {
        "best": "ABCDEF0123456789",
        "number": 1234
    },
    "gps": {
        "lat": 48.6,
        "lng": -1.6
    }
}

WiotysV4 Legacy Deprecated

This format is not complete and will not be supported. It is only available to help some WiotysV4 migration.

JSON Field Description format
DevAddr Device address on the network hexadecimal
sensorInstallId unique identifier of a LoRa device 16 hexadecimal
fcnt Uplink frame counter int
data decoded information Format is depending of the device, configuration and codec selected
rxpk.rssi RSSI in dBm (1 dB precision) int
frame payload hexadecimal
timestamp timestamp of the information reception in UTC timestamp

This is the basic format to get essential information of your devices with default decoded information.

Example :

{
    "DevAddr" : "0f034a6f",
    "sensorInstallId" : "0123456789ABCDEF",
    "fcnt" : 152,
    "data" : {
        "EndPoint" : 0,
        "Report" : "Standard",
        "CommandID" : "ReportAttributes",
        "ClusterID" : "Temperature",
        "AttributeID" : "MeasuredValue",
        "AttributeType" : "Int16",
        "Data" : 1879,
        "Cause" : []
    },
    "rxpk" : {
        "rssi": -58,
        "freq": 868.5,
        "datr": "SF12BW125",
        "lsnr": 8.1999998092651
    },
    "frame" : "110a04020000290757",
    "timestamp" : 1656408127,
    "DevEUI" : "78d800b023926793"
}

Advanced Models

The advanced models are to be used only in specific use case. They are not be available from Wiotys Web Interface. Please contact Wi6labs support for more information.

Wiotys App

This is the format compatible with WiotysApp dashboard application.

JSON Field Description format
protocol current version of the protocol used integer
device unique identifier of a LoRa device on Wiotys App platformes specified as device customElement smartcoreDevelopperId
at date and time of the information reception, in UTC
data payload data
ver version of the following smart dataset
data decoded information one or several dataset
dataset decoded data Smart formating
checksum computed checksum calculated upon shared secret specified as device customElement smartcoreChecksum

Example :

{
  "protocol": "v3",
  "persist": "true",
  "device": "28776a99-185c-4df5-b9cf-289631ed9244",
  "at": 1554884039,
  "data": {
    "ver": "S1",
    "dataset": [
      {
        "columns": ["type","ref","value"],
        "values": [
          ["Measure","Global|0|SNR",1560415499],
          ["Measure","Global|0|Frame_cnt",546],
          ["Measure","Global|0|RSSI",-110]
        ]
      },
      {
        "columns": ["type","ref","value"],
        "values": [
          ["Status","Item|0|IGenericStatus",1]
        ]
      }
    ]
  },
  "checksum": "7a8df448e93bd1167a2575937a5e57e1d56ea589"
}

Wi6labs Essential

This is the basic format to get essential information of your devices with default decoded information.

JSON Field Description format
id unique identifier of a device in Wiotys integer
deveui unique identifier of a LoRa device 16 hexadecimal
timestamp date and time of the information reception in UTC Date-time RFC3339
payload_deciphered Device applicative payload hexadecimal data 0 to 104 caracter
data decoded information Default decoding. Format is depending of the device, configuration and codec selected

Example :

{
  "id": "1453",
  "deveui": "0123456789abcdef",
  "timestamp": "2022-02-10T09:28:48+00:00",
  "payload_deciphered": "4d4bf83bf203e101fd00d201ff00bdff",
  "data": {
    "battery": 75,
    "humidity": 59,
    "pressure": 1010,
    "CO2_moy": 481,
    "CO2_max": 466,
    "temperature_moy": 25.3,
    "temperature_max": 25.5,
    "signal_quality": -67
  }
}

Water Meter Index

This is a format dedicated for advanced information regarding water meters index. It is available only for several LoraWan water meters models : * iTron Cyble 5 * Diehl G3 module * Elster Merlin * Maddalena Arrow 2

JSON Field Description format
Type_Trame Index string
Network_A Lorawan string
Network_B Wi6labs string
Manufacturer Either iTron, Diehl, Elster Merlin, Maddalena string
Module_addr Serial number on the LoraWan device sticker (not always DevEUI) string
Module_version Version SW of the LoraWan module, if present in the frame string
WaterMeter_Serial Serial number of the Water Meter string
DateTime_Module LoraWan device time if present in the frame, otherwise time of frame reception AAAA-MM-DDTHH:mm:ss
DateTime_ModuleGMT LoraWan device time if present in the frame, otherwise time of frame reception ISO 8601
DateTime_Concentrateur Time of the frame reception by the LoraWan gateway AAAA-MM-DDTHH:mm:ss
DateTime_ConcentrateurGMT Time of the frame reception by the LoraWan gateway ISO 8601
Index Table of Index, one or several if the module sends data with an historic mode table
DateTime_Index Time of the index AAAA-MM-DDTHH:mm:ss
DateTime_IndexGMT Time of the index ISO 8601
Pulse Pulse weight to convert 1x impulsion into liter, purly informative integer
Index Water metter index in liters integer
ID_concentrateur EUI identifier of the LoraWan best gateway for the frame 16 hexadecimal

Example :

{
    "Type_Trame" : "Index",
    "Network_A" : "Lorawan",
    "Network_B" : "Wi6labs",
    "Manufacturer" : "Maddalena",
    "Module_addr" : "23926793",
    "Module_version" : "0.23",              
    "WaterMeter_Serial" : "H21VA231461",                        
    "DateTime_Module":"2023-02-05T07:08:00",
    "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
    "DateTime_Concentrateur":"2023-02-05T07:08:00",
    "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
    "Index":[
      {
        "DateTime_Index":"2023-02-05T07:08:00",
        "DateTime_IndexGMT":"2023-02-05T07:08:00+02:00",
        "Pulse":1   ,                        
        "Index": 1536
      },
      {
        "DateTime_Index":"2023-02-05T19:08:00",
        "DateTime_IndexGMT":"2023-02-05T19:08:00+02:00",
        "Pulse":1   ,                        
        "Index": 1589
      }
    ],
    "ID_concentrateur": "7076FF0056050A3A"
}

Water Meter Alarm

This is a format dedicated for advanced information regarding water meters alarms. It is available only for several LoraWan water meters models : * iTron Cyble 5 * Diehl G3 module * Elster Merlin * Maddalena Arrow 2

JSON Field Description format
Type_Trame Alarme string
Network_A Lorawan string
Network_B Wi6labs string
Manufacturer Either iTron, Diehl, Elster Merlin, Maddalena string
Module_addr Serial number on the LoraWan device sticker (not always DevEUI) string
DateTime_Module LoraWan device time if present in the frame, otherwise time of frame reception AAAA-MM-DDTHH:mm:ss
DateTime_ModuleGMT LoraWan device time if present in the frame, otherwise time of frame reception ISO 8601
DateTime_Concentrateur Time of the frame reception by the LoraWan gateway AAAA-MM-DDTHH:mm:ss
DateTime_ConcentrateurGMT Time of the frame reception by the LoraWan gateway ISO 8601
Alarm Table of active alarms on the water meter module table
DateTime_Alarme Time of the alarm if available in the frame, otherwise time of frame reception AAAA-MM-DDTHH:mm:ss
DateTime_AlarmeGMT Time of the alarm if available in the frame, otherwise time of frame reception ISO 8601
Alarm_Type Type of alarm, depends on each manufacturer string
value Value of the alarm, 1 for active and 0 for inactive 0 / 1
ID_concentrateur EUI identifier of the LoraWan best gateway for the frame 16 hexadecimal

Example :

{
    "Type_Trame" : "Alarme",
    "Network_A" : "Lorawan",
    "Network_B" : "Wi6labs",
    "Manufacturer" : "Diehl",
    "Module_addr" : "5322878121148402",                 
    "DateTime_Module":"2023-02-05T07:08:00",
    "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
    "DateTime_Concentrateur":"2023-02-05T07:08:00",
    "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
    "Alarm":[
      {
        "DateTime_Alarme":"2023-02-05T07:08:00",
        "DateTime_AlarmeGMT":"2023-02-05T07:08:00+02:00",
        "Alarm_Type": "MacroAlarme_InProgressAlarms"
        "value": 1,
      },
      {
        "DateTime_Alarme":"2023-02-05T07:08:00",
        "DateTime_AlarmeGMT":"2023-02-05T07:08:00+02:00",
        "Alarm_Type": "MacroAlarme_Metrology"
        "value": 1,
      }
    ],
    "ID_concentrateur": "7076FF0056050A3A"
}

CSV Water Meter Index

This is the equivalent of format Water Meter Index but for FTP delivery.

Example :


{
    {
        "Type_Trame" : "Index",
        "Network_A" : "Lorawan",
        "Network_B" : "Wi6labs",
        "Manufacturer" : "Maddalena",
        "Module_addr" : "90dffb818734a123",
        "Module_version" : "",              
        "WaterMeter_Serial" : "H21VA231461",                        
        "DateTime_Module":"2023-02-05T07:08:00",
        "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Concentrateur":"2023-02-05T07:08:00",
        "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Index":"2023-02-05T07:08:00",
        "DateTime_IndexGMT":"2023-02-05T07:08:00+02:00",
         "Pulse":1   ,                        
        "Index": 1536
        "ID_concentrateur": "7076FF0056050A3A"
    },

    {
        "Type_Trame" : "Index",
        "Network_A" : "Lorawan",
        "Network_B" : "Wi6labs",
        "Manufacturer" : "Diehl",
        "Module_addr" : "90dffb818734a123",
        "Module_version" : "",              
        "WaterMeter_Serial" : "H21VA231461",                        
        "DateTime_Module":"2023-02-05T07:08:00",
        "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Concentrateur":"2023-02-05T07:08:00",
        "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Index":"2023-02-05T19:08:00",
        "DateTime_IndexGMT":"2023-02-05T19:08:00+02:00",
        "Pulse":1   ,                        
        "Index": 1589
        "ID_concentrateur": "7076FF0056050A3A"
    }
}

CSV Water Meter Alarm

This is the equivalent of format Water Meter Alarm but for FTP delivery.

Example :


{
    {
        "Type_Trame" : "Alarme",
        "Network_A" : "Lorawan",
        "Network_B" : "Wi6labs",
        "Manufacturer" : "diehl",
        "Module_addr" : "90dffb818734a123",                 
        "DateTime_Module":"2023-02-05T07:08:00",
        "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Concentrateur":"2023-02-05T07:08:00",
        "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Alarme":"2023-02-05T07:08:00",
        "DateTime_AlarmeGMT":"2023-02-05T07:08:00+02:00",
        "Alarm_Type": "MacroAlarme_InProgressAlarms"
        "value": 1,
        "ID_concentrateur": "7076FF0056050A3A"
      },
      {
        "Type_Trame" : "Alarme",
        "Network_A" : "Lorawan",
        "Network_B" : "Wi6labs",
        "Manufacturer" : "diehl",
        "Module_addr" : "90dffb818734a123",                 
        "DateTime_Module":"2023-02-05T07:08:00",
        "DateTime_ModuleGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Concentrateur":"2023-02-05T07:08:00",
        "DateTime_ConcentrateurGMT":"2023-02-05T07:08:00+02:00",
        "DateTime_Alarme":"2023-02-05T07:08:00",
        "DateTime_AlarmeGMT":"2023-02-05T07:08:00+02:00",
        "Alarm_Type": "MacroAlarme_Metrology"
        "value": 1,
        "ID_concentrateur": "7076FF0056050A3A"
      }
}