Документация по SCADA системе Simp Light


Содержание:


REST API: События для отображения

GET /api/ui-events/

События для отображения являются упрощенной версией тех событий, с которыми работает система и предназначены для вывода на страницу. Они содержат текст и метку времени.

Это API предоставляет события с разделением на страницы для уменьшения передаваемого трафика от сервера клиенту.

    

Для запроса таких необходимо указывать параметры запроса:

Название
параметра

Описание
параметра
  start_time    Начальное время выборки в формате ISO 8601  
  end_time    Конечное время выборки в формате ISO 8601 
  page    Номер страницы.
  Счет начинается с 1.
  limit    Количество событий на странице.
  Минимальное значение 10 
  kinds    Виды событий. Пустое значение или его отсутствие
  интерпретируется как все виды событий. Значения
  разделяется «,».

   Возможные значения:
   lowAlarm – Нарушение нижней уставки (AI, AO)
   normal – Возвращение в рабочую зону
   highAlarm – Нарушение верхней уставки (AI, AO)
   confirmed - Квитировано
   discreteOn – Состояние «Вкл.»
   discreteOff – Состояние «Выкл.»
   userAction – Действие пользователя
   info – Информация
   warning – Предупреждение
   alarm – Авария
 
 

   Пример значения парамера: lowAlarm, normal, info


Структура ответа:

Название
параметра

Описание
параметра
  results    Содержит массив с событиями  
  pageCount   Количество доступных страниц. На это поле можно
  ориентироваться для запроса следующих страниц с
  параметром page 


Структура события:

Название
параметра

Описание
параметра
 generateTime    Время формирования события в системе
  в формате ISO8601.  
  text

  Сформированный текст события

 
 

Пример запроса первых 50-ти событий всех видов 23 июня с 7 до 23 часов по UTC:

 

  (async () => {

   const params = new URLSearchParams({

      start_time: '2022-06-23T07:00:00.000Z',

      end_time: '2022-06-23T23:00:00.000Z',

      page: 1,

      limit: 50,

      kinds: ''

   })

   const response = await fetch('/api/ui-events/?' + params, {     

      credentials: 'include'

   })


   if (response.ok) {

     const json = await response.json()

     const events = json.results

     const pageCount = json.pageCount

   }

  })();