WavIoT — беспроводная система учета ресурсов

API модуля driver

ID статьи: 66
Последнее обновление: 02 Dec, 2019

API - методы модуля driver

Таблица 1. Сводная таблица всех API методов модуля driver

Описание

URL

Метод

Отправка DL пакетов

/api/dl

POST

Статус отправленных DL пакетов

Запрос DL пакетов

/api/dl

GET

Чтение состояний устройств

/api/setting

GET

Запись состояний устройств

/api/setting

POST

Запрос данных формата ROLL

/api/roll

GET

Запрос данных формата EAV

/api/eav

GET

Репарсинг бинарных пакетов

/api/reparse

GET

Запрос списка id модемов

/api/app_ids

GET

Проверка владельца модемов

/api/check_ids

GET

Запрос метаданных приложения

/api/metadata

GET

Отправка DL пакетов

POST запрос:

URL

Список параметров

Пример запроса

/api/dl

modem_id, data,
timeout
/api/dl?modem_id=7520059,7520060&timeout=1000 

BODY

{  
  <PLUGIN_JSON_DATA>
}
Ответ:

BODY

{  
   "7520059": "5cf0f676549023020ed87622",
   "7520060": "5cf0f676549023020ed87623"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

timeout

int

таймаут исполнения даунлинка, сек

30 суток

Статус отправленных DL пакетов

GET запрос:

URL

Список параметров

Пример запроса

/api/dl

db_id
/api/dl?db_id=5ddd4a0f5490231345266007,5ddd495e5490231345266005

Ответ:

BODY

{
    "5ddd495e5490231345266005": {
        "data": {
            "cmd": "set",
            "data": {
                "regular_parameter_name": 4
            }
        },
        "db_id": "5ddd495e5490231345266005",
        "dl_status": "EXECUTED",
        "f_ack": 1,
        "modem_id": 8013995,
        "payload": "06004200000004",
        "timeout": 86400,
        "timestamp": 1574783326
    },
    "5ddd4a0f5490231345266007": {
        "data": {
            "cmd": "set",
            "data": {
                "regular_parameter_name": 5
            }
        },
        "db_id": "5ddd4a0f5490231345266007",
        "dl_status": "EXECUTED",
        "f_ack": 1,
        "modem_id": 8013995,
        "payload": "06004200000005",
        "timeout": 86400,
        "timestamp": 1574783503
    }
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

db_id string

перечень ID пакетов DL

обязательный параметр

Запрос DL пакетов

GET запрос:

URL

Список параметров

Пример запроса

/api/dl

modem_id, from, to, limit
/api/dl?modem_id=8013995&from=1574780505&to=1574783503&limit=2

Ответ:

BODY

{
    "8013995": [
        {
            "data": {
                "cmd": "set",
                "data": {
                    "regular_parameter_name": 5
                }
            },
            "db_id": "5ddd4a0f5490231345266007",
            "dl_status": "EXECUTED",
            "f_ack": 1,
            "modem_id": 8013995,
            "payload": "06004200000005",
            "timeout": 86400,
            "timestamp": 1574783503
        },
        {
            "data": {
                "cmd": "set",
                "data": {
                    "regular_parameter_name": 4
                }
            },
            "db_id": "5ddd495e5490231345266005",
            "dl_status": "EXECUTED",
            "f_ack": 1,
            "modem_id": 8013995,
            "payload": "06004200000004",
            "timeout": 86400,
            "timestamp": 1574783326
        }
    ]
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

limit int

ограничение возвращаемых записей на модем

1000

from int

таймстамп времени начала данных

0

to int

таймстамп времени окончания данных

текущее время

not_acked bool фильтр по dl_status, возвращает dl пакеты со статусом "PENDING", "WAIT_DATA" false


GET запрос:
Чтение состояний устройств

URL

Список параметров

Пример запроса

api/setting modem_id, setting

/api/setting?modem_id=7520059,7520047&setting=0100010800FF,01000C0700FF

Ответ:

BODY

{  
   "7520047":    {  
      "0100010800FF": 0,
      "01000C0700FF": 234.607
   },
   "7520059":    {  
      "0100010800FF": 12.165000000000001,
      "01000C0700FF": 226.743
   }
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

setting

string

перечень параметров

все параметры

Запись состояний устройств

POST запрос:

URL

Список параметров

Пример запроса

api/setting modem_id, setting, value

/api/setting?modem_id=7520059,7520047

BODY

{  
   "some_setting_key_0": "some_setting_value_0",
   "some_setting_key_1": "some_setting_value_1"
}

Ответ:

BODY

{  
   "7520047": "ok",
   "7520059": "ok"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

Запрос данных формата ROLL

GET запрос:

URL

Список параметров

Пример запроса

api/roll modem_id, limit, tag, from, to

/api/roll?modem_id=7520052,7520047&limit=2&tag=electro5.data_day&from=1555000000&to=1559298478

Ответ:

BODY

{  
   "7520047":[  
      {  
         "bs_timezone_offset":10800,
         "data":{  
            "data":{  
               "0100010600FF":0,
               "0100010801FF":0,
               "0100010802FF":0,
               "0100010803FF":0,
               "0100010804FF":0,
               "0100020801FF":0,
               "0100020802FF":0,
               "0100020803FF":0,
               "0100020804FF":0,
               "0100030801FF":0,
               "0100030802FF":0,
               "0100030803FF":0,
               "0100030804FF":0,
               "0100040801FF":0,
               "0100040802FF":0,
               "0100040803FF":0,
               "0100040804FF":0
            },
            "timestamp":1556184361
         },
         "extended_data":{  
            "0100010800FF":0,
            "0100020800FF":0,
            "0100030800FF":0,
            "0100040800FF":0
         },
         "hw_type":"phobos1_stm",
         "modem_id":7520047,
         "parse_status":"parsed",
         "payload":"4408bc5cc1a7588189000.........",
         "phy":"UL_DBPSK_3200_PROT_D",
         "protocol":"electro5",
         "rssi":-99,
         "snr":55,
         "station_id":9500,
         "tag":"electro5.data_day",
         "time_detected":1556196731,
         "timestamp":1556184361,
         "unique_id":-1514654365089619700
      },
      {  
         "bs_timezone_offset":10800,
         "data":{  
            "data":{  
               "0100010600FF":0,
               "0100010801FF":0,
               "0100010802FF":0,
               "0100010803FF":0,
               "0100010804FF":0,
               "0100020801FF":0,
               "0100020802FF":0,
               "0100020803FF":0,
               "0100020804FF":0,
               "0100030801FF":0,
               "0100030802FF":0,
               "0100030803FF":0,
               "0100030804FF":0,
               "0100040801FF":0,
               "0100040802FF":0,
               "0100040803FF":0,
               "0100040804FF":0
            },
            "timestamp":1556053201
         },
         "extended_data":{  
            "0100010800FF":0,
            "0100020800FF":0,
            "0100030800FF":0,
            "0100040800FF":0
         },
         "hw_type":"phobos1_stm",
         "modem_id":7520047,
         "parse_status":"parsed",
         "payload":"4408ab5cbfa700818900000.........",
         "phy":"UL_DBPSK_3200_PROT_D",
         "protocol":"electro5",
         "rssi":-99,
         "snr":57,
         "station_id":9450,
         "tag":"electro5.data_day",
         "time_detected":1556064036,
         "timestamp":1556053201,
         "unique_id":-7080719924255875000
      }
   ],
   "7520052":[  
      {  
         "bs_timezone_offset":10800,
         "data":{  
            "data":{  
               "0100010600FF":0,
               "0100010801FF":75.982,
               "0100010802FF":0,
               "0100010803FF":0,
               "0100010804FF":0,
               "0100020801FF":0,
               "0100020802FF":0,
               "0100020803FF":0,
               "0100020804FF":0,
               "0100030801FF":0.277,
               "0100030802FF":0,
               "0100030803FF":0,
               "0100030804FF":0,
               "0100040801FF":158.05,
               "0100040802FF":0,
               "0100040803FF":0,
               "0100040804FF":0
            },
            "timestamp":1555448401
         },
         "extended_data":{  
            "0100010800FF":75.982,
            "0100020800FF":0,
            "0100030800FF":0.277,
            "0100040800FF":158.05
         },
         "hw_type":"phobos1_stm",
         "modem_id":7520052,
         "parse_status":"parsed",
         "payload":"4402f35cb66c80818.........",
         "phy":"UL_DBPSK_50_PROT_D",
         "protocol":"electro5",
         "rssi":-122,
         "snr":29,
         "station_id":9333,
         "tag":"electro5.data_day",
         "time_detected":1556627738,
         "timestamp":1555448401,
         "unique_id":8182095005285595000
      }
   ]
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

limit int

ограничение возвращаемых записей на модем

1000

tag string

перечень тэгов

все варианты

from int

таймстамп времени начала данных

0

to int

таймстамп времени окончания данных

текущее время

time_detected bool

выборка по времени получения сообщения

(в случае true фильтрация по tag не работает)

false

Запрос данных формата EAV

GET запрос:

URL

Список параметров

Пример запроса

api/eav modem_id, limit, tag, from, to, type, obis_code

/api/eav?type=value&modem_id=7520052,7520047&obis_code=0100010802FF,0100010801FF&tag=electro5.data_day&from=1555000000&to=1559298478&limit=3

Ответ:

BODY

{  
   "7520047":[  
      {  
         "message_id":"eafadde14356a146",
         "modem_id":7520047,
         "obis_code":"0100010801FF",
         "tag":"electro5.data_day",
         "timestamp":1556184361,
         "ttl":0,
         "value":0
      },
      {  
         "message_id":"eafadde14356a146",
         "modem_id":7520047,
         "obis_code":"0100010802FF",
         "tag":"electro5.data_day",
         "timestamp":1556184361,
         "ttl":0,
         "value":0
      },
      {  
         "message_id":"9dbc3abe80b29fdc",
         "modem_id":7520047,
         "obis_code":"0100010801FF",
         "tag":"electro5.data_day",
         "timestamp":1556053201,
         "ttl":0,
         "value":0
      }
   ],
   "7520052":[  
      {  
         "message_id":"718ca40e848bb78e",
         "modem_id":7520052,
         "obis_code":"0100010801FF",
         "tag":"electro5.data_day",
         "timestamp":1555448401,
         "ttl":0,
         "value":75.982
      },
      {  
         "message_id":"718ca40e848bb78e",
         "modem_id":7520052,
         "obis_code":"0100010802FF",
         "tag":"electro5.data_day",
         "timestamp":1555448401,
         "ttl":0,
         "value":0
      }
   ]
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

limit int

ограничение возвращаемых записей на модем

1000

tag string

перечень тэгов

все варианты

from int

таймстамп времени начала данных

0

to int

таймстамп времени окончания данных

текущее время

type string

тип запрашиваемых данных

value/event/extract

extract
obis_code string

перечень параметров

все варианты

Запрос на репарсинг бинарных пакетов

Запрос удаляет данные из баз appsandbox за выбранные период времени и перезапрашивает бинарные пакеты у telecom сервера

GET запрос:

URL

Список параметров

Пример запроса

api/reparse modem_id, from, to, request

/api/reparse?modem_id=7520059,7520047&from=1555000000&to=1559298478&request=true

Ответ:

BODY

{  
   "7520047": "ok",
   "7520059": "ok"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номер(а) устройств

обязательный параметр

from int

таймстамп времени начала данных

0

to int

таймстамп времени окончания данных

текущее время

request string выполнение запроса данных в telecom сервер true/false

false

Запрос списка id модемов

Запрос списка id модемов по тип устройтва и протоколу

GET запрос:

URL

Список параметров

Пример запроса

api/app_ids hw_typeprotocol /api/app_ids?hw_type=*&protocol=electro5

Ответ:

BODY

{
  "electro5:*": [
    7486305,
    7674384,
    7664749,
    7672479,
    7771195,
    7790779,
    7487841,
    7676109,
    7648361,
    7616406,
    7485759
  ]
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

hw_type string

тип устройства

обязательный параметр

protocol string

тип протокола

обязательный параметр

Проверка владельца модемов

Проверка автора запроса на владение модемом

GET запрос:

URL

Список параметров

Пример запроса

api/check_ids modem_id /api/check_ids?modem_id=7653215,7613766,7750185,7684610

Ответ:

BODY

{
  "7613766": false,
  "7653215": false,
  "7684610": false,
  "7750185": false
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_id

int

номера модемов

обязательный параметр

Запрос метаданных приложения

Возвращается методанные парсера по типу устройства и типу протокола

GET запрос:

URL

Список параметров

Пример запроса

api/metadata hw_typeprotocol /api/metadata?hw_type=*_stm&protocol=electro5

Ответ:

BODY

{
  "event1": {
    "code": 1,
    "comment": "Фаза А - пропадание напряжения"
  },
  "event10": {
    "code": 10,
    "comment": "Низкое напряжение любой фазы - окончание"
  },
  "event100": {
    "code": 793,
    "comment": "Изменение порога для фиксации перенапряжения"
  },
  "event101": {
    "code": 794,
    "comment": "Изменение порога для фиксации провала напряжения"
  },

. . . . . . .


  "par7": {
    "comment": "Активная мощность фазы C",
    "name": "01003D0700FF"
  },
  "par8": {
    "comment": "Реактивная мощность фазы А",
    "name": "0100170700FF"
  },
  "par9": {
    "comment": "Реактивная мощность фазы B",
    "name": "01002B0700FF"
  }
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

hw_type string

тип устройства

обязательный параметр

protocol string

тип протокола

обязательный параметр

конец

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 66
Последнее обновление: 02 Dec, 2019
Ревизия: 15
Просмотры: 296
Комментарии: 0
Опубликовано: 06 Jun, 2019 от Молин А.
Обновлено: 02 Dec, 2019 от Молин А.