Редактировал(а) admin 2026/09/03 12:17

От версии 1.13
отредактировано admin
на 2026/07/23 17:12
Изменить комментарий: Auto-saved during real-time collaboration
К версии 2.1
отредактировано admin
на 2026/07/23 17:43
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -21,7 +21,7 @@
21 21  {{/warning}}
22 22  
23 23  (% class="wikigeneratedid" %)
24 -Поддерживается фильтрация событий по топикам (типу ONVIF-события) и по содержимому. Механизм основан на стандартном ONVIF WS-Notification Subscribe с фильтрами TopicExpression и MessageContent (XPath).
24 +Поддерживается фильтрация событий по топикам (типу ONVIF-события) и по содержимому. Фильтрация событий осуществляется на стороне «внешней» системы. Механизм основан на стандартном ONVIF WS-Notification Subscribe с фильтрами TopicExpression и MessageContent (XPath).
25 25  
26 26  == «Включение» рассылки событий ==
27 27  
... ... @@ -42,7 +42,102 @@
42 42  (% class="wikigeneratedid" %)
43 43  Отправить SOAP Subscribe с указанием только ConsumerReference и InitialTerminationTime. На Consumer должны приходить все ONVIF-события, доступные в Платформе НЕЙРОСС по подписке.
44 44  
45 -=== Фильтр по топикам ===
45 +=== Подписка с фильтрацией событий ===
46 46  
47 +(% class="wikigeneratedid" %)
48 +{{{Фильтр задаётся в блоке <wsn:Filter> запроса}}}
47 47  
48 -Фильтрация событий осуществляется на стороне «внешней» системы.
50 +
51 +(% class="wikigeneratedid" %)
52 +**Фильтр по топикам**
53 +
54 +Фильтр по топикам задается строкой с топиками, разделенными знаком "|" . фильтр работает по правилу ИЛИ — событие проходит, если topic совпадает с любым из перечисленных.
55 +
56 +Типовые topic'и событий СКУД приведены в таблице ниже:
57 +
58 +|=Topic|=Смысл
59 +|(((
60 +ter:AccessControl/AccessGranted/Credential
61 +)))|(((
62 +Доступ разрешён
63 +)))
64 +|(((
65 +ter:AccessControl/AccessTaken/Credential
66 +)))|(((
67 +Проход совершен
68 +)))
69 +|(((
70 +ter:AccessControl/AccessDenied/Credential
71 +)))|(((
72 +Доступ запрещён
73 +)))
74 +|(((
75 +ter:AccessControl/DoorState/Door
76 +)))|(((
77 +Состояние двери
78 +)))
79 +|(((
80 +ter:AccessControl/...
81 +)))|(((
82 +Прочие события Profile C
83 +)))
84 +
85 +
86 +
87 +{{info}}
88 +Топик события можно уточнить по XML событий в Журнале событий или через Редактор тем извещений ~[[[Система получает неизвестные события. Как их интерпретировать?>>doc:neyross.Обслуживание Платформы НЕЙРОСС.Часто задаваемые вопросы | Платформа НЕЙРОСС.Система получает неизвестные события\. Как их интерпретировать?.WebHome]]].
89 +{{/info}}
90 +
91 +
92 +Пример фильтра по топикам:
93 +
94 +{{code}}
95 + <wsn:Filter>
96 + <wsn:TopicExpression Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet">
97 + ter:AccessControl/AccessGranted/Credential|ter:AccessControl/AccessTaken/Credential
98 + </wsn:TopicExpression>
99 + </wsn:Filter>
100 +
101 +{{/code}}
102 +
103 +
104 +**Фильтр по содержимому **
105 +
106 +Фильтр задаётся через xPath выражение, которое может включать как условия по И, так и по ИЛИ.
107 +
108 +Пример фильтра по точкам доступа:
109 +
110 +{{code}}
111 +<wsn:Filter>
112 + <wsn:MessageContent Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116">
113 + //o:Message/o:Source/o:SimpleItem[@Name='AccessPointToken' and
114 + (@Value='123e4567-e89b-12d3-a456-426614174000' or
115 + @Value='abcd1234-5678-90ab-cdef-1234567890ab')]
116 + </wsn:MessageContent>
117 +</wsn:Filter>
118 +{{/code}}
119 +
120 +В примере выше производится поиск в сообщении блока Source, внутри которого элемент SimpleItem, у которого Name=AccessPointToken и Value равен одному из указанных UUID точек доступа.
121 +
122 +UUID точки доступа (token) вы можете уточнить в разделе Элементы или найти в Журнале событий событие от данной точки доступа,  XML ONVIF-извещения найти блок Source / SimpleItem с @Name='AccessPointToken' и скопировать @Value ~[[[Журнал событий>>doc:ui.Журнал событий.WebHome]]].
123 +
124 +
125 +**Фильтр по топику и содержимому**
126 +
127 + Если заданы фильтры по топикам и по содержимому, то эти фильтры работают по правилу И, то есть событие должно удовлетворять обоим условиям.
128 +
129 +Пример фильтра:
130 +
131 +{{code}}
132 +<wsn:Filter>
133 + <wsn:TopicExpression Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet">
134 + ter:AccessControl/AccessGranted/Credential|ter:AccessControl/AccessTaken/Credential
135 + </wsn:TopicExpression>
136 + <wsn:MessageContent Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116">
137 + //o:Message/o:Source/o:SimpleItem[@Name='AccessPointToken' and
138 + (@Value='123e4567-e89b-12d3-a456-426614174000' or
139 + @Value='abcd1234-5678-90ab-cdef-1234567890ab' or
140 + @Value='d3bea616-7d17-4edd-b45f-70d7cae13542')]
141 + </wsn:MessageContent>
142 + </wsn:Filter>
143 +{{/code}}

Интерфейс НЕЙРОСС