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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
 
(не показано 8 промежуточных версий 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:
 
----
 
----
  
Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуте.
+
<!--T:4-->
 +
Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуты. В лог записываются данные один раз за все событие. В лог записывается время начала события и последнее значение интервального регистра I60. Скриншоты иллюстрируют настройку этого события.
 
<br>
 
<br>
[[Файл:Event-data-1.png|700px|thumb|left]]<br>
+
[[Файл:Event-data-1.png|700px]]<br><br>
[[Файл:Event-data-2.png|700px|thumb|left]]
+
  
 +
<!--T:5-->
 +
[[Файл:Event-data-2.png|700px]]
 +
 +
<!--T:6-->
 +
Второе событие является дочерним событием для первого. Поэтому оно может выполнятся только когда выполняется первое событие. Помимо этого условием оно ограничено так что начинает выполнятся на 25-й секунде каждой минуты и заканчивается на 35-й. Данные для него записываются в лог каждые 2 секунды. В лог пишется текущее значение регистра I60. Скриншоты иллюстрируют настройку этого события.
 +
<br>
 +
[[Файл:Event-data-5.png|700px]]<br><br>
 +
 +
<!--T:7-->
 +
[[Файл: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>
Строка 35: Строка 54:
 
</pre>
 
</pre>
  
 +
<!--T:11-->
 
Пример ответа:
 
Пример ответа:
 
<pre>
 
<pre>
Строка 40: Строка 60:
 
   {
 
   {
 
     "rowid": "3050",
 
     "rowid": "3050",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797405",
 
     "start_time": "1422797405",
 
     "end_time": "1422797440",
 
     "end_time": "1422797440",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797405
+
         "E1.0": 1422797405
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 54: Строка 74:
 
   {
 
   {
 
     "rowid": "3052",
 
     "rowid": "3052",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797465",
 
     "start_time": "1422797465",
 
     "end_time": "1422797500",
 
     "end_time": "1422797500",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797465
+
         "E1.0": 1422797465
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 68: Строка 88:
 
   {
 
   {
 
     "rowid": "3054",
 
     "rowid": "3054",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797525",
 
     "start_time": "1422797525",
 
     "end_time": "1422797560",
 
     "end_time": "1422797560",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797525
+
         "E1.0": 1422797525
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 82: Строка 102:
 
   {
 
   {
 
     "rowid": "3056",
 
     "rowid": "3056",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797585",
 
     "start_time": "1422797585",
 
     "end_time": "1422797680",
 
     "end_time": "1422797680",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797585
+
         "E1.0": 1422797585
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 96: Строка 116:
 
   {
 
   {
 
     "rowid": "3058",
 
     "rowid": "3058",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797705",
 
     "start_time": "1422797705",
 
     "end_time": "1422797740",
 
     "end_time": "1422797740",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797705
+
         "E1.0": 1422797705
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 110: Строка 130:
 
   {
 
   {
 
     "rowid": "3060",
 
     "rowid": "3060",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797765",
 
     "start_time": "1422797765",
 
     "end_time": "1422797800",
 
     "end_time": "1422797800",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797765
+
         "E1.0": 1422797765
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 124: Строка 144:
 
   {
 
   {
 
     "rowid": "3062",
 
     "rowid": "3062",
     "event_id": "2",
+
     "event_id": "1",
 
     "start_time": "1422797825",
 
     "start_time": "1422797825",
 
     "end_time": "0",
 
     "end_time": "0",
 
     "xtra_regs": [
 
     "xtra_regs": [
 
       {
 
       {
         "E2.0": 1422797825
+
         "E1.0": 1422797825
 
       },
 
       },
 
       {
 
       {
         "E2.1": 39
+
         "E1.1": 39
 
       }
 
       }
 
     ]
 
     ]
Строка 140: Строка 160:
 
----
 
----
  
 +
<!--T:12-->
 +
Атрибуты данных события:
  
Пример запроса информации о графике номер 2:
+
<!--T:13-->
 +
<table>
 +
<tr><td>'''rowid'''</td><td>int</td><td>Уникальный идентификатор события в базе данных</td></tr>
 +
<tr><td>'''event_id'''</td><td>int</td><td>ID события</td></tr>
 +
<tr><td>'''start_time'''</td><td>int</td><td>Время начала события</td></tr>
 +
<tr><td>'''end_time'''</td><td>int</td><td>Время окончания события. Если событие еще не окончилось то end_time = 0</td></tr>
 +
<tr><td>'''xtra_regs'''</td><td>object</td><td>Объект с данными о дополнительных регистрах которые сохраняются в логе событий. Ключ-значение.</td></tr>
 +
</table>
 +
 
 +
<!--T:14-->
 +
Формат имени дополнительных регистров:<br>
 +
"E" + ID события + "." + порядковый номер регистра в событии начиная с нуля
 +
 
 +
<!--T:15-->
 +
----
 +
 
 +
 
 +
<!--T:16-->
 +
Пример запроса данных для события номер 2:
  
'''URL''': http://192.168.1.1/api/graphs/2<br>
+
<!--T:17-->
 +
'''URL''': http://192.168.1.1/api/event-data/2<br>
 
'''Method''': GET
 
'''Method''': GET
  
 +
<!--T:18-->
 
Заголовки:
 
Заголовки:
 
<pre>
 
<pre>
Строка 152: Строка 194:
 
Accept-Encoding: gzip, deflate, sdch
 
Accept-Encoding: gzip, deflate, sdch
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 +
X-WH-START: 1422804505
 +
X-WH-END: 1422800200
 
</pre>
 
</pre>
  
 +
<!--T:19-->
 
Пример ответа:
 
Пример ответа:
 
<pre>
 
<pre>
{
+
[
   "id": "2",
+
   {
  "regsid": "8",
+
    "rowid": "3201",
   "title": "Температура в печи",
+
    "event_id": "2",
   "height": "350",
+
    "start_time": "1422804505",
   "min_val": "0",
+
    "end_time": "1422804515",
   "max_val": "200"
+
    "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
 +
      }
 +
    ]
 +
  }
 +
]
 
</pre>
 
</pre>
----
+
</translate>
 
+
 
+
Атрибуты графика:
+
 
+
<table>
+
<tr><td>'''id'''</td><td>int</td><td>Уникальный идентификатор графика</td></tr>
+
<tr><td>'''title'''</td><td>string</td><td>Название графика</td></tr>
+
<tr><td>'''regsid'''</td><td>string</td><td>Список идентификаторов регистров которые необходимо отображать на графике. Регистры разделены запятыми.</td></tr>
+
<tr><td>'''height'''</td><td>int</td><td>Высота графика в пикселях</td></tr>
+
<tr><td>'''min_val'''</td><td>double</td><td>Минимальное значение оси Y</td></tr>
+
<tr><td>'''max_val'''</td><td>double</td><td>Максимальное значение оси Y</td></tr>
+
</table>
+

Текущая версия на 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
      }
    ]
  }
]