API - Получение данных для события — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
Строка 172: Строка 172:
 
Accept-Encoding: gzip, deflate, sdch
 
Accept-Encoding: gzip, deflate, sdch
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 +
X-WH-START: 1422800165
 +
X-WH-END: 1422800200
 
</pre>
 
</pre>
  
Строка 178: Строка 180:
 
[
 
[
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 26
+
         "E2.0": 34
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 28
+
         "E2.0": 26
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 30
+
         "E2.0": 28
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E3.0": 32
+
         "E2.0": 30
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 34
+
         "E2.0": 32
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 36
+
         "E2.0": 34
 
       }
 
       }
 
     ]
 
     ]
 
   },
 
   },
 
   {
 
   {
     "rowid": "3098",
+
     "rowid": "3124",
 
     "event_id": "2",
 
     "event_id": "2",
     "start_time": "1422799285",
+
     "start_time": "1422800185",
     "end_time": "1422799300",
+
     "end_time": "1422800195",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 38
+
         "E2.0": 34
 
       }
 
       }
 
     ]
 
     ]
   },
+
   }
  {
+
    "rowid": "3098",
+
    "event_id": "2",
+
    "start_time": "1422799285",
+
    "end_time": "1422799300",
+
    "xtra_regs": [
+
      {
+
        "E2.0": 39
+
      }
+
    ]
+
  },
+
 
]
 
]
 
</pre>
 
</pre>
 
----
 
----

Версия 14:18, 1 февраля 2015

Для получения данных из лога событий необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/event-data/2. Здесь 2 - это ID нужного события.

В заголовках запроса необходимо передать API key и границы интересуещего временного интервала. X-WH-START и X-WH-END передаются в формате UnixTime. Например:

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422797440
X-WH-END: 1422997405

Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом JSON.

Accept: application/json
Content-Type: application/json

Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуты. В лог записываются данные один раз за все событие. В лог записывается время начала события и последнее значение интервального регистра I60. Скриншоты иллюстрируют настройку этого события.
Event-data-1.png
Event-data-2.png

Второе событие является дочерним событием для первого. Поэтому оно может выполнятся только когда выполняется первое событие. Помимо этого условием оно ограничено так что начинает выполнятся на 25-й секунде каждой минуты и заканчивается на 35-й. Данные для него записываются в лог каждые 2 секунды. В лог пишется текущее значение регистра I60. Скриншоты иллюстрируют настройку этого события.
Event-data-5.png
Event-data-4.png

Пример запроса данных о событии номер 1:

URL: http://192.168.1.1/api/event-data/1
Method: GET

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422797440
X-WH-END: 1422997405

Пример ответа:

[
  {
    "rowid": "3050",
    "event_id": "1",
    "start_time": "1422797405",
    "end_time": "1422797440",
    "xtra_regs": [
      {
        "E1.0": 1422797405
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3052",
    "event_id": "1",
    "start_time": "1422797465",
    "end_time": "1422797500",
    "xtra_regs": [
      {
        "E1.0": 1422797465
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3054",
    "event_id": "1",
    "start_time": "1422797525",
    "end_time": "1422797560",
    "xtra_regs": [
      {
        "E1.0": 1422797525
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3056",
    "event_id": "1",
    "start_time": "1422797585",
    "end_time": "1422797680",
    "xtra_regs": [
      {
        "E1.0": 1422797585
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3058",
    "event_id": "1",
    "start_time": "1422797705",
    "end_time": "1422797740",
    "xtra_regs": [
      {
        "E1.0": 1422797705
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3060",
    "event_id": "1",
    "start_time": "1422797765",
    "end_time": "1422797800",
    "xtra_regs": [
      {
        "E1.0": 1422797765
      },
      {
        "E1.1": 39
      }
    ]
  },
  {
    "rowid": "3062",
    "event_id": "1",
    "start_time": "1422797825",
    "end_time": "0",
    "xtra_regs": [
      {
        "E1.0": 1422797825
      },
      {
        "E1.1": 39
      }
    ]
  }
]

Атрибуты данных события:

rowidintУникальный идентификатор строки в базе данных
event_idintID события
start_timeintВремя начала события
end_timeintВремя окончания события. Если событие еще не окончилось то end_time = 0
xtra_regsobjectОбъект с данными о дополнительных регистрах которые сохраняются в логе событий. Ключ-значение.

Формат имени дополнительных регистров:
"E" + ID события + "." + порядковый номер регистра в событии начиная с нуля



Пример запроса данных для события номер 2:

URL: http://192.168.1.1/api/event-data/2
Method: GET

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422800165
X-WH-END: 1422800200

Пример ответа:

[
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 34
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 26
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 28
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 30
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 32
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 34
      }
    ]
  },
  {
    "rowid": "3124",
    "event_id": "2",
    "start_time": "1422800185",
    "end_time": "1422800195",
    "xtra_regs": [
      {
        "E2.0": 34
      }
    ]
  }
]