Overview
Our smart gateway receives real-time 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
- IBM Watson IoT
- 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. |
Sensor Payload Sizes
Below outlines the payload size of each sensor when outputted from the gateway to a connection.
1 Channel CT Clamp | 346B |
2 Channel CT Clamp | 412B |
3 Channel CT Clamp | 478B |
CO2, Temperature and Humidity | 475B |
3 Channel Temperature Sensor | 525B |
Under Desk Sensor | 351B |
EnOcean Switch | 284B |
Temperature and Humidity Sensor | 404B |
Temperature Sensor | 321B |
Door and Window Sensor | 272B |
Dry Contact Sensor | 263B |
Liquid Leakage Sensor | 288B |
AMR Electricity Sensor | 363B |
Light Sensor | 410B |
Particles Sensor | 338B |
Thermokon Monitor | 504B |
Vibration Sensor | 353B |
Single Digital Input Sensor | 302B |
Single Button Switch | 336B |
Room Occupancy Sensor | 351B |
Ceiling Mount PIR Sensor | 351B |
Single Door People Flow Sensor | 279B |
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.0, //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/true "channel1":{ "value":3.0, //channel 1 current reading from sensor in amps "unit":"A" }, "channel2":{ "value":3.0, //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", "channel1":{ "value":3.0, //channel 1 current reading from sensor in amps "unit":"A" }, "channel2":{ "value":3.0, //channel 2 current reading from sensor in amps "unit":"A" }, "channel3":{ "value":3.0, //channel 3 current reading from sensor in amps "unit":"A" } }
CO2, 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":"mainofficedesk2", "deviceId":"019EE55C", "deviceType":"Under-Desk-Sensor", "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" } }
EnOcean Switch
{ "timestamp":"YYYY-MM-DD HH:MM:SS", "deviceName":"switch", "deviceId":"019EE55C", "deviceType":"EnOcean-Switch", "gatewayName":"PRGW-XXX", "location":"device-location", "dBm":"-80", "security":"No", "button":"AI", //dynamically changes to name of switch button(s) interacted with "value":"pressed" //type of interaction with switch button(s) (pressed/released) }
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":"Contact", "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³" } }
Thermokon Monitor (0v..10v)
{ "timestamp":"YYYY-MM-DD HH:MM:SS", "deviceName":"0-10Volt3channelinput", "deviceId":"01MIS55C", "deviceType":"Thermokon-Analog-Input", "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 (true/false) "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":"Occupancy-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) }