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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
<languages/>
 +
<translate>
 +
<!--T:1-->
 
Для получения данных из лога событий необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/api/event-data/2'''. Здесь 2 - это ID нужного события.
 
Для получения данных из лога событий необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/api/event-data/2'''. Здесь 2 - это ID нужного события.
  
 +
<!--T:2-->
 
В заголовках запроса необходимо передать API key и границы интересуещего временного интервала.  X-WH-START и X-WH-END передаются в формате UnixTime. Например:
 
В заголовках запроса необходимо передать API key и границы интересуещего временного интервала.  X-WH-START и X-WH-END передаются в формате UnixTime. Например:
 
<pre>
 
<pre>
Строка 8: Строка 12:
 
</pre>
 
</pre>
  
 +
<!--T:3-->
 
Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом [https://ru.wikipedia.org/wiki/JSON JSON].
 
Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом [https://ru.wikipedia.org/wiki/JSON JSON].
 
<pre>
 
<pre>
Строка 15: Строка 20:
 
----
 
----
  
 +
<!--T:4-->
 
Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуты. В лог записываются данные один раз за все событие. В лог записывается время начала события и последнее значение интервального регистра I60. Скриншоты иллюстрируют настройку этого события.
 
Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуты. В лог записываются данные один раз за все событие. В лог записывается время начала события и последнее значение интервального регистра I60. Скриншоты иллюстрируют настройку этого события.
 
<br>
 
<br>
[[Файл:Event-data-1.png|700px]]<br>
+
[[Файл:Event-data-1.png|700px]]<br><br>
 +
 
 +
<!--T:5-->
 
[[Файл:Event-data-2.png|700px]]
 
[[Файл:Event-data-2.png|700px]]
  
 +
<!--T:6-->
 
Второе событие является дочерним событием для первого. Поэтому оно может выполнятся только когда выполняется первое событие. Помимо этого условием оно ограничено так что начинает выполнятся на 25-й секунде каждой минуты и заканчивается на 35-й. Данные для него записываются в лог каждые 2 секунды. В лог пишется текущее значение регистра I60. Скриншоты иллюстрируют настройку этого события.
 
Второе событие является дочерним событием для первого. Поэтому оно может выполнятся только когда выполняется первое событие. Помимо этого условием оно ограничено так что начинает выполнятся на 25-й секунде каждой минуты и заканчивается на 35-й. Данные для него записываются в лог каждые 2 секунды. В лог пишется текущее значение регистра I60. Скриншоты иллюстрируют настройку этого события.
 
<br>
 
<br>
[[Файл:Event-data-5.png|700px]]<br>
+
[[Файл:Event-data-5.png|700px]]<br><br>
 +
 
 +
<!--T:7-->
 
[[Файл:Event-data-4.png|700px]]
 
[[Файл:Event-data-4.png|700px]]
  
 +
<!--T:8-->
 
Пример запроса данных о событии номер 1:
 
Пример запроса данных о событии номер 1:
  
 +
<!--T:9-->
 
'''URL''': http://192.168.1.1/api/event-data/1<br>
 
'''URL''': http://192.168.1.1/api/event-data/1<br>
 
'''Method''': GET
 
'''Method''': GET
  
 +
<!--T:10-->
 
Заголовки:
 
Заголовки:
 
<pre>
 
<pre>
Строка 40: Строка 54:
 
</pre>
 
</pre>
  
 +
<!--T:11-->
 
Пример ответа:
 
Пример ответа:
 
<pre>
 
<pre>
Строка 145: Строка 160:
 
----
 
----
  
 +
<!--T:12-->
 
Атрибуты данных события:
 
Атрибуты данных события:
  
 +
<!--T:13-->
 
<table>
 
<table>
 
<tr><td>'''rowid'''</td><td>int</td><td>Уникальный идентификатор события в базе данных</td></tr>
 
<tr><td>'''rowid'''</td><td>int</td><td>Уникальный идентификатор события в базе данных</td></tr>
Строка 155: Строка 172:
 
</table>
 
</table>
  
 +
<!--T:14-->
 
Формат имени дополнительных регистров:<br>
 
Формат имени дополнительных регистров:<br>
 
"E" + ID события + "." + порядковый номер регистра в событии начиная с нуля
 
"E" + ID события + "." + порядковый номер регистра в событии начиная с нуля
  
 +
<!--T:15-->
 
----
 
----
  
  
 +
<!--T:16-->
 
Пример запроса данных для события номер 2:
 
Пример запроса данных для события номер 2:
  
 +
<!--T:17-->
 
'''URL''': http://192.168.1.1/api/event-data/2<br>
 
'''URL''': http://192.168.1.1/api/event-data/2<br>
 
'''Method''': GET
 
'''Method''': GET
  
 +
<!--T:18-->
 
Заголовки:
 
Заголовки:
 
<pre>
 
<pre>
Строка 176: Строка 198:
 
</pre>
 
</pre>
  
 +
<!--T:19-->
 
Пример ответа:
 
Пример ответа:
 
<pre>
 
<pre>
Строка 187: Строка 210:
 
       {
 
       {
 
         "E2.0": 25
 
         "E2.0": 25
      },
 
      {
 
        "E2.1": 1422804505
 
 
       }
 
       }
 
     ]
 
     ]
Строка 201: Строка 221:
 
       {
 
       {
 
         "E2.0": 27
 
         "E2.0": 27
      },
 
      {
 
        "E2.1": 1422804507
 
 
       }
 
       }
 
     ]
 
     ]
Строка 215: Строка 232:
 
       {
 
       {
 
         "E2.0": 29
 
         "E2.0": 29
      },
 
      {
 
        "E2.1": 1422804509
 
 
       }
 
       }
 
     ]
 
     ]
Строка 229: Строка 243:
 
       {
 
       {
 
         "E2.0": 31
 
         "E2.0": 31
      },
 
      {
 
        "E2.1": 1422804511
 
 
       }
 
       }
 
     ]
 
     ]
Строка 243: Строка 254:
 
       {
 
       {
 
         "E2.0": 33
 
         "E2.0": 33
      },
 
      {
 
        "E2.1": 1422804513
 
 
       }
 
       }
 
     ]
 
     ]
Строка 251: Строка 259:
 
]
 
]
 
</pre>
 
</pre>
----
+
</translate>

Текущая версия на 09:58, 18 апреля 2018

Другие языки:
English • ‎русский

Для получения данных из лога событий необходимо выполнить 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: 1422804505
X-WH-END: 1422800200

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

[
  {
    "rowid": "3201",
    "event_id": "2",
    "start_time": "1422804505",
    "end_time": "1422804515",
    "xtra_regs": [
      {
        "E2.0": 25
      }
    ]
  },
  {
    "rowid": "3201",
    "event_id": "2",
    "start_time": "1422804505",
    "end_time": "1422804515",
    "xtra_regs": [
      {
        "E2.0": 27
      }
    ]
  },
  {
    "rowid": "3201",
    "event_id": "2",
    "start_time": "1422804505",
    "end_time": "1422804515",
    "xtra_regs": [
      {
        "E2.0": 29
      }
    ]
  },
  {
    "rowid": "3201",
    "event_id": "2",
    "start_time": "1422804505",
    "end_time": "1422804515",
    "xtra_regs": [
      {
        "E2.0": 31
      }
    ]
  },
  {
    "rowid": "3201",
    "event_id": "2",
    "start_time": "1422804505",
    "end_time": "1422804515",
    "xtra_regs": [
      {
        "E2.0": 33
      }
    ]
  }
]