Overview
Our gateway receives data wirelessly from all sensors within range (30 metres line of sight), converts the raw data into an easy-to-use JSON format*, time-stamps it, then publishes it using MQTT protocol.
*JSON (JavaScript Object Notation) is an open-standard file format that uses human-readable text to display data. We use JSON to standardise sensor data across multiple protocols and formats.
This page gives you examples of the JSON data structures/interchange format for the sensors that we support transmitted from the gateway to the destination system.
Note: All Device IDS, Names, Locations and sensor values are for demonstration purposes only.
This information is valid for the latest version of the gateway.
- MQTT
- Azure IoT Hub
- AWS IoT
Optional payload data
The below options can be included or excluded from the published payload. This can be configured on the gateway.
Timestamp – “timestamp” | The time the gateway received a message from a physical device. |
Device Name – “devicename” | Name assigned to the physical device sending data to the gateway this can be found in your device lists. |
Device ID – “deviceid” | Device identification associated with a physical device e.g. ‘01882050’ device id’s can be found in your device lists. |
Device Type – “devicetype” | Type of device as found on the devices page. e.g. CO2 Temperature and Humidity. |
Gateway Name – “gatewayName” | Gateway name assigned in gateway settings. |
Device Location – “location” | Location of a device assigned on the edit device screen e.g. mainoffice. |
Device Values | Values received by the gateway from a physical device such as temperature, humidity, current etc. |
Device Values Unit | Unit the device value is measured in if available e.g. °C |
Signal Strength – “dbm” | Signal strength between the device and gateway in dBm. |
Security – “security” | Status of device security on/off. |
Supported EEP's and payload sizes
Below outlines the payload size of each sensor when outputted from the gateway to a connection.
Gateway On-board Sensors | 637B |
D2-32-00 - 1 Channel CT Clamp | 346B |
D2-32-01 - 2 Channel CT Clamp | 412B |
D2-32-02 - 3 Channel CT Clamp | 478B |
A5-09-04 - CO₂, Temperature and Humidity | 475B |
D2-0A-01 - 3 Channel Temperature Sensor | 525B |
A5-07-01 - Under Desk Sensor | 351B |
A5-04-01 - Temperature and Humidity Sensor | 404B |
A5-02-05 - Temperature Sensor | 321B |
D5-00-01 - Door and Window Sensor | 272B |
D5-00-01 - Dry Contact Sensor | 263B |
F6-05-01 - Liquid Leakage Sensor | 288B |
A5-12-00 - AMR Counter | 363B |
A5-12-01 - AMR Electricity | 363B |
A5-12-03 - AMR Water | 363B |
A5-06-02 - Light Sensor | 410B |
A5-09-07 - Particles Sensor | 338B |
A5-3F-7F - Universal | 504B |
A5-14-05 - Vibration Sensor | 353B |
A5-30-01 - Single Digital Input Sensor | 302B |
D2-03-0A - Single Button Switch | 336B |
A5-07-01 - Room Occupancy Sensor | 351B |
A5-07-01 - Ceiling Mount PIR Sensor | 351B |
D5-00-01 - Single Door People Flow Sensor | 279B |
D2-14-5C - Indoor Air Quality Sensor | 633B |
D2-14-5D - Room Conditions Sensor | 496B |
Gateway on-board sensors
{
"timestamp": "2023-11-01 5:38:46 PM",
"deviceName": "Gateway-Name",
"device": {
"firmwareversion": "X.X.X.X",
"hardwareversion": "X.X.X.X",
"gatewayname": "Gateway-Name",
"uptime": XXXX,
"load": "XX.XX",
"remotemanagement": "ON" //remote management connection is enabled on/off
},
"network": {
"adaptor": "eth0",
"ethernetmac": "XX:XX:XX:XX:XX:XX",
"wifimac": "XX:XX:XX:XX:XX:XX",
"ethernetip": "XXX.XXX.XXX.XXX",
"lteip": "XXX.XXX.XXX.XXX"
},
"connections": {
"mqtt": "ON", //mqtt connection is enabled on/off
"azureiothub": "OFF", //azure iot hub connection is enabled on/off
"awsiot": "OFF", //aws iot core connection is enabled on/off
"sheets": "OFF" //google sheets connection is enabled on/off
},
"applications": {
"nodered": "OFF" //node-red application is enabled on/off
}
}
One channel CT clamp
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "1chct",
"deviceId": "019EE55C",
"deviceType": "1-CH-Current-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"powerFailureDetected": "true", //power failure detection from sensor true/false
"channel1": {
"value": 3, //channel 1 current reading from sensor in amps
"unit": "A"
}
}
Two channel CT clamp
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "2chct",
"deviceId": "019EE55C",
"deviceType": "2-CH-Current-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"powerFailureDetected": "true", //power failure detection from sensor true/false
"channel1": {
"value": 3, //channel 1 current reading from sensor in amps
"unit": "A"
},
"channel2": {
"value": 3, //channel 2 current reading from sensor in amps
"unit": "A"
}
}
Three channel CT clamp
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "3chct",
"deviceId": "019EE55C",
"deviceType": "3-CH-Current-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"powerFailureDetected": "true", //power failure detection from sensor true/false
"channel1": {
"value": 3, //channel 1 current reading from sensor in amps
"unit": "A"
},
"channel2": {
"value": 3, //channel 2 current reading from sensor in amps
"unit": "A"
},
"channel3": {
"value": 3, //channel 3 current reading from sensor in amps
"unit": "A"
}
}
CO₂, temperature and humidity sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficeco2sensor",
"deviceId": "019EE55C",
"deviceType": "CO2-Temperature-and-Humidity",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"concentration": {
"value": 600, //co2 reading from sensor in ppm
"unit": "ppm"
},
"temperature": {
"value": 20, //temperature reading from sensor in °C
"unit": "°C"
},
"humidity": {
"value": 40, //humidity reading from sensor in %
"unit": "%"
}
}
Three channel temperature sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainoffice3chtemp",
"deviceId": "019EE55C",
"deviceType": "3-Channel-Temperature(-20°C-100°C)",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"battery": "OK", //battery life detection from sensor (OK/LOW)
"channel1": {
"value": 20, //channel 1 temperature reading from sensor in °C
"unit": "°C"
},
"channel2": {
"value": 21, //channel 2 temperature reading from sensor in °C
"unit": "°C"
},
"channel3": {
"value": 22, //channel 3 temperature reading from sensor in °C
"unit": "°C"
}
}
Under desk sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "office2",
"deviceId": "019EE55C",
"deviceType": "Ceiling-Mount-PIR",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"motionDetected": true, //motion events from sensor (true/false)
"supplyVoltage": {
"value": 3.3, //supply voltage reading from sensor
"unit": "V"
}
}
Temperature and humidity sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficetemphumid",
"deviceId": "019EE55C",
"deviceType": "Temperature-and-Humidity-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"humidity": {
"value": 40, //humidity reading from sensor in %
"unit": "%"
},
"temperature": {
"value": 20, //temperature reading from sensor in °C
"unit": "°C"
}
}
Temperature sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficetemp",
"deviceId": "019EE55C",
"deviceType": "Temperature-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"temperature": {
"value": 20, //temperature reading from sensor in °C
"unit": "°C"
}
}
Door and window sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficedoor",
"deviceId": "019EE55C",
"deviceType": "Door-and-Window",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"contact": "open" //status of window or door (open/closed)
}
Dry contact sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficeair",
"deviceId": "019EE55C",
"deviceType": "Dry-Contact-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"contact": "open" //status of dry contact (open/closed)
}
Liquid leakage sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "waterLeak",
"deviceId": "01MIS55C",
"deviceType": "Liquid-Leakage-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"waterDetected": true
}
AMR electricity sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "PulseCounter",
"deviceId": "01MIS55C",
"deviceType": "AMR-Electricity",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"tariffInfo": 8,
"meterReading": {
"value": 8947848,
"unit": "kWh"
}
}
Light sensor (0lx.. 1020lx)
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "LuxSensor",
"deviceId": "01MIS55C",
"deviceType": "Light-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"illumination": {
"value": 544,
"unit": "lx"
},
"supplyVoltage": {
"value": 2.72,
"unit": "V"
}
}
Particles sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "Particlesensor",
"deviceId": "01MIS55C",
"deviceType": "Particles-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"particles_2.5": {
"value": 34,
"unit": "µg/m³"
}
}
Universal
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "0-10Volt3channelinput",
"deviceId": "01MIS55C",
"deviceType": "Universal",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"dataInput2": {
"value": 0.08,
"unit": "V"
},
"dataInput3": {
"value": 0.08,
"unit": "V"
},
"dataInput1": {
"value": 0.08,
"unit": "V"
}
}
Vibration sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficechair",
"deviceId": "019EE55C",
"deviceType": "Vibration-Sensor",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"vibrationDetected": true, //vibration events from sensor
"supplyVoltage": {
"value": 3.3, //supply voltage reading from sensor
"unit": "V"
}
}
Single digital Input sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "pressure-mat",
"deviceId": "019EE55C",
"deviceType": "single-digital-input",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"contact": "open", //status of single digital input sensor (open/closed)
"batterystatus": "OK" //status of single digital input battery (OK/LOW)
}
Single button switch
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "switch2",
"deviceId": "019EE55C",
"deviceType": "Single-Button-Switch",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"button": "pressed", //type of interaction with switch button (pressed, double-press, long-press, long-pressed-released)
"battery": {
"value": 80, //battery level 0-100
"unit": "%"
}
}
Room occupancy sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "office2",
"deviceId": "019EE55C",
"deviceType": "Ceiling-Mount-PIR",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"motionDetected": true, //motion events from sensor (true/false)
"supplyVoltage": {
"value": 3.3, //supply voltage reading from sensor
"unit": "V"
}
}
Ceiling mount PIR sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "office2",
"deviceId": "019EE55C",
"deviceType": "Ceiling-Mount-PIR",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"motionDetected": true, //motion events from sensor (true/false)
"supplyVoltage": {
"value": 3.3, //supply voltage reading from sensor
"unit": "V"
}
}
Single door people flow
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "mainofficedoor",
"deviceId": "019EE55C",
"deviceType": "Single-Door-People-Flow",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"contact": "out" //status of flow (in/out)
}
Indoor air quality sensor
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "iaq-office",
"deviceId": "0422B07A",
"deviceType": "Indoor-Air-Quality",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"temperature": {
"value": 26.5, //temperature reading from sensor in °C
"unit": "°C"
},
"humidity": {
"value": 31.5, //humidity reading from sensor in %
"unit": "%"
},
"particulateMatter": {
"pm10_value": 2, //pm10 reading from sensor in ug/m3
"pm4_value": 2, //pm4 reading from sensor in ug/m3
"pm2_5_value": 2, //pm2_5 reading from sensor in ug/m3
"pm1_value": 2, //pm1 reading from sensor in ug/m3
"unit": "ug/m3"
},
"concentration": {
"value": 785, //co2 reading from sensor in ppm
"unit": "ppm"
},
"voc": {
"value": 528, //voc reading from sensor in ug/m3
"unit": "TVOC ug/m3"
}
}
{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"deviceName": "room-conditions-office",
"deviceId": "0410C24F",
"deviceType": "Room-Conditions",
"gatewayName": "PRGW-XXX",
"location": "device-location",
"dBm": "-80",
"security": "No",
"temperature": {
"value": 21, //temperature reading from sensor in °C
"unit": "°C"
},
"humidity": {
"value": 41.5, //humidity reading from sensor in %
"unit": "%"
},
"soundLevel": {
"value": 42, //sound level reading from sensor in dBA
"unit": "dBA"
},
"illumination": {
"value": 41, //illumination level reading from sensor in lx
"unit": "lx"
}
}