GET /devices/stream

<< Click to Display Table of Contents >>

Navigation:  The API > JSON API > REST Resources > Devices > GET >

GET /devices/stream

Overview

Get the actual state of all devices and continue directly with updates of the devices via a telegram stream.

 

Transmitted telegrams of all devices

Client to Gateway:

Resource Path

HTTP method

/devices/stream?direction={direction}&delimited={delimited}&output={output}

GET

optional additional call parameters:

parameter

valid values

call option

functionality

direction
(optional)

from | to | both

default: both

direction of transport (from device sent / to device sent / both directions )

delimited
(optional)

length | lengthBytes | lengthCharacters | newLine | emptyLine

default: emptyLine

Format and delimiter options

output
(optional)

formatted | singleLine

default: formatted

Format and delimiter options

 

response Gateway to Client:

parameter

datatype

value / formatting

description

header

object

{}

 

states

array of objects

[{}]

 

 

deviceId

string

xxxxxxxx

SenderID of Enocean device, EnOcean modules usually send telegrams with their unique 32-bit Chip ID. In the other case, these are the Base ID of the EnOcean device.

 

friendlyId

string

 

User-assigned name of EnOcean device. Must be unique.

 

physicalDevice

(optional)

string

 

User-assigned name to group actuators and sensors.

 

functions

array of objects

[{}]

 

 

key

string

 

Technical key of function.

 

channel

(optional)

integer

 

Channel if supported by this device.

 

value

float 

 

Value of the function.

 

unit

(optional)

string

[unit]

Unit ISO.

 

meaning

(optional)

string

 

Description of value in English.

 

timestamp

string

yyyy-mm-ddT hh:mm:ss.sss+ hhmm

Timestamp function value was received in case of last state functions.

 

age

integer

 

Age of function value in case of last state functions in milli seconds.

followed by live telegram stream

header

object

{}

 

telegram

object

{}

 

Case 1/2:   telegram of known device

 

deviceId

string

xxxxxxxx

SenderID of Enocean device, EnOcean modules usually send telegrams with their unique 32-bit Chip ID. In the other case, these are the Base ID of the EnOcean device.

 

friendlyId

string

 

User-assigned name of EnOcean device. Must be unique.

 

physicalDevice

(optional)

string

 

User-assigned name to group actuators and sensors.

 

timestamp

string

yyyy-mm-ddT hh:mm:ss.sss+ hhmm

telegram transmission time in UTC format

 

direction

string

from | to

direction of transport (from device sent / to device sent)

 

functions

array of objects

[{}]

 

 

key

string

 

Technical key of function.

 

channel

(optional)

integer

 

Channel if supported by this device.

 

value

float 

 

Value of the function.

 

unit

(optional)

string

[unit]

Unit ISO.

 

meaning

(optional)

string

 

Description of value in English.

 

telegramInfo

object

{}

 

 

data

string

x byte hex value

Payload of ERP telegrams or ESP packets

 

status

integer

 

identifies if the subtelegram is transmitted from a repeater and the type of integrity control mechanism used (note: not present in a RPS telegram)

 

dbm

integer

 

signal strength of received / transmitted telegram

 

rorg

string

1 byte hex value

identifier for subtelegram type

Case 2/2:   telegram of unknown device (only if Filtermode is Off)

 

deviceId

string

4 byte hex value

SenderID of Enocean device, EnOcean modules usually send telegrams with their unique 32-bit Chip ID. In the other case, these are the Base ID of the EnOcean device.

 

timestamp

string

yyyy-mm-ddT hh:mm:ss.sss+ hhmm

telegram transmission time in UTC format

 

direction

string

from | to

direction of transport (from GW sent or received)

 

telegramInfo

object

{}

 

 

data

string

x byte hex value

Payload of ERP telegrams or ESP packets.

 

status

integer

 

identifies if the subtelegram is transmitted from a repeater and the type of integrity control mechanism used. (note: not present in a RPS telegram)

 

dbm

integer

 

signal strength of received / transmitted telegram

 

rorg

string

1 byte hex value

identifier for subtelegram type

Example:

In that example we received the state of multiFuncAlphaEos and telegrams from an unknown device and a myRocker switch.

Basic structure of gateway response:

 

http://hostname:api_port/devices/stream

 

{
  "header" : {
    "httpStatus" : 200,
    "content" : "states",
    "timestamp" : "2016-05-04T10:00:02.570+0200"
  },
  "states" : [ {
    "deviceId" : "0190A078",
    "friendlyId" : "multiFuncAlphaEos",
    "physicalDevice" : "sense-tf-h",
    "functions" : [ {
      "key" : "humidity",
      "value" : 28.80,
      "unit" : "%",
      "timestamp" : "2016-05-04T09:59:35.758+0200",
      "age" : 26866
    }, {
      "key" : "illumination",
      "value" : 1411.76,
      "unit" : "lx",
      "timestamp" : "2016-05-04T09:59:35.758+0200",
      "age" : 26867
    }, {
      "key" : "temperature",
      "value" : 25.12,
      "unit" : "°C",
      "timestamp" : "2016-05-04T09:59:35.758+0200",
      "age" : 26867
    } ]
  } ]
}

 
{
  "header" : {
    "content" : "telegram",
    "timestamp" : "2016-05-04T10:00:04.758+0200"
  },
  "telegram" : {
    "deviceId" : "0187D64B",
    "timestamp" : "2016-05-04T10:00:04.758+0200",
    "direction" : "from",
    "telegramInfo" : {
      "data" : "00000E5D",
      "status" : "0",
      "dbm" : -77,
      "rorg" : "A5"
    }
  }
}

 

{
  "header" : {
    "content" : "telegram",
    "timestamp" : "2016-05-04T10:00:58.859+0200"
  },
  "telegram" : {
    "deviceId" : "0029CFC5",
    "friendlyId" : "myRocker",
    "timestamp" : "2016-05-04T10:00:58.859+0200",
    "direction" : "from",
    "functions" : [ {
      "key" : "buttonAI",
      "value" : "pressed",
      "meaning" : "Button pressed"
    } ],
    "telegramInfo" : {
      "data" : "10",
      "status" : "30",
      "dbm" : -71,
      "rorg" : "F6"
    }
  }
}

 
{
  "header" : {
    "content" : "telegram",
    "timestamp" : "2016-05-04T10:00:59.027+0200"
  },
  "telegram" : {
    "deviceId" : "0029CFC5",
    "friendlyId" : "myRocker",
    "timestamp" : "2016-05-04T10:00:59.027+0200",
    "direction" : "from",
    "functions" : [ {
      "key" : "buttonAI",
      "value" : "released",
      "meaning" : "Button released"
    } ],
    "telegramInfo" : {
      "data" : "00",
      "status" : "20",
      "dbm" : -71,
      "rorg" : "F6"
    }
  }
}