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)
    }
    

    Download example JSON data

    Download Pressac Gateway Example Data v0.5.zip

    in Specifications