База знаний Waviot

API модуля driver

ID статьи: 66
Последнее обновление: 20 Apr, 2021

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

/api/device
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 суток

Формат тела запроса  для работы с параметрами устройств, использующих протокол water7:
{
  "cmd" : "<cmd>",
  "data" : 
  {
     "<par_name_0>" : 123,
     "<par_name_2>" : 123,
     "<par_name_1>" : 123
  }
}

cmd - set или get
par_name_X - имя параметра или parX при отсутствии имени (можно использовать оба варианта именования)

- параметры могут быть перемешаны. но после сортировки должна прослеживаться последовательность, иначе будет возвращена ошибка
- одинаковые имена параметров в запросе могут быть:
— при set запишется последний
— при get повторы удалятся
- значения параметров должны быть числами
- значения параметров при get не используются, могут иметь любое значение
- при нарушении синтаксиса будет возвращена ошибка с пояснением

Статус отправленных 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

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

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

GET запрос:
Запрос информации по устройству

URL

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

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

api/device modem_id

/api/device?modem_id=123,8160112,7520059,7520047

Ответ:

BODY

{
  "123": {
    "supported": false
  },
  "7520047": {
    "last_roll": {
      "bs_timezone_offset": 10800,
      "data": {
        "data": {},
        "timestamp": 1586768400
      },
      "extended_data": {},
      "hw_type": "phobos1_stm",
      "modem_id": 7520047,
      "parse_status": "parsed",
      "payload": "4271565e945440",
      "phy": "UL_DBPSK_3200_PROT_D",
      "protocol": "electro5",
      "rssi": -74,
      "snr": 77,
      "station_id": 9450,
      "tag": "electro5.data_profile",
      "time_detected": 1586768520,
      "timestamp": 1586768400,
      "ttl": 1618304520,
      "unique_id": -1900910579141377300
    },
    "supported": true
  },
  "7520059": {
    "last_roll": {
      "bs_timezone_offset": 10800,
      "data": {
        "data": {
          "0100010600FF": 0,
          "0100010801FF": 3.436,
          "0100010802FF": 5.025,
          "0100010803FF": 3.592,
          "0100010804FF": 0.112,
          "0100020801FF": 0.037,
          "0100020802FF": 0.002,
          "0100020803FF": 0.009,
          "0100020804FF": 0.08,
          "0100030801FF": 7.749,
          "0100030802FF": 2.084,
          "0100030803FF": 1.228,
          "0100030804FF": 2.019,
          "0100040801FF": 4.428,
          "0100040802FF": 0.008,
          "0100040803FF": 0,
          "0100040804FF": 0
        },
        "timestamp": 1585256401
      },
      "extended_data": {
        "0100010800FF": 12.165000000000001,
        "0100020800FF": 0.128,
        "0100030800FF": 13.08,
        "0100040800FF": 4.436
      },
      "hw_type": "phobos1_stm",
      "modem_id": 7520059,
      "parse_status": "parsed",
      "payload": "4406ef5e7d4200818900000...",
      "phy": "UL_DBPSK_400_PROT_D",
      "protocol": "electro5",
      "rssi": -71,
      "snr": 82,
      "station_id": 8423,
      "tag": "electro5.data_day",
      "time_detected": 1585259068,
      "timestamp": 1585256401,
      "ttl": 1616795071,
      "unique_id": -3494988043417391000
    },
    "supported": true
  },
  "8160112": {
    "supported": true
  }
}

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

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

Тип

Описание

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

modem_id

int

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

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

конец

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 66
Последнее обновление: 20 Apr, 2021
Ревизия: 19
Просмотры: 182
Комментарии: 0