Автор Тема: Z5R-WEB-json - евенты 17 и 33, пустой евент и вообще косяки в работе евентов  (Прочитано 4072 раз)

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Здравствуйте

Версия FW контроллера:   3.26 (иногда вот так показывает: Версия FW контроллера:   22.1)
Версия FW модуля связи: 1.0.129


Три вопроса:

1)

Отталкиваюсь от значений евентов расположенных по адресу http://json.il78.com/json_cmd.pdf на второй странице.

Вот что меня смущает, при евенте (dec)32, (dec)33 в поле карты стоит карта состоящая из нулей. А разве в ней не должна быть карта, которая инициировала открытие?

Из дампа видно, что при открытии двери одновременно  приходят два события. Если вход, то события (dec)16, (dec)32 или если выход, то события (dec)17, (dec)33. И в этих событиях (dec)16 и (dec)17 карточка есть, а в событиях (dec)32 и (dec)33 вместо номера карточки стоят нули. Хотя в описании сказано что должна быть карточка.

Дамп прилагаю.

2)
Еще, в дампе виден пустой евент от контроллера:
Цитировать
{"type":"Z5RWEB","sn":44640,"messages":[{"id":309667127,"operation":"events","events":[]}]}
Это как так?

3)
Наблюдаю периодическое вываливание пачки событий открывания/закрывания дверей и того факта что проход состоялся, просто так.... Т.е. никто контроллер не трогает, карточки не подносит, дверь не открывает. А тут бах, и судя по всему события из прошлого опять вывалились пачкой.

Я понимаю что это какой то программный глюк, возможно даже что то с временем... Но может сделать отдельную галочку в настройках, что удалять подтвержденные события. Что если я ответил на событие, то его можно удалять из своего внутреннего хранилища. Все равно оно больше никому не интересно.

И примерно такая же ситуация была недавно еще у одного человека на форуме. Тоже с подобным поведением столкнулся и он тоже не понимает почему хранятся евенты и из за этого глючит контроллер.
« Последнее редактирование: 13 Ноября 2018, 13:53 от astashov »

astashov

  • Пользователь
  • *****
  • Сообщений: 72
по первому пункту, как только я открываю дверь, то прилетает евент что проход состоялся. Но по факту, проход состоялся только тогда, когда дверь закрыта, или дверь осталась открыта(не была закрыта).
Т.е. мне кажется, что более логичным было бы сначала посылать (dec)33(дверь открыта), потом (dec)35(дверь закрыта) и уже потом резюмировать евентом (dec)17(проход состоялся).

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Раньше тема называлась:
Цитировать
Z5R-WEB-json - евенты 17 и 33, пустой евент и зачем контроллер сохраняет евенты?
но теперь думаю надо переименовывать её в "Z5R-WEB-json - евенты 17 и 33, пустой евент и вообще косяки в работе евентов"

Ну что я могу сказать.... Как только подключил оповещение в нерабочее время, стал больше замечать косяки евентов.
Вчера в 10 вечера, контроллер внезапно вывалил 30 евентов проход состоялся, которые были в течении дня. Не все евенты, а какие то, возможно просто последние.

В общем получается, что надо сохранять айдишники евентов, и при поступлении проверять, был этот евент или нет. Ну что за пипец.....

Как по мне, так это не приятный косяк СКУД. Пожалуйста исправте!

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Замечательно, такое чувство, что на форум вообще никто из разработчиков не заходит.
Можно писать тут что угодно.... Наверное и стишки матерные писать можно, все равно никто не читает и никто ругать не будет.

Мы, пользователи скуд с радостью бы сами друг другу помогали, но вот только прошивки нет в опенсорс доступе.

Пожалуйста, или помогайте Вашим клиентам, или предоставьте нам самим решать какую прошивку использовать, Вашу или опенсорсную.
Что бы мы сами вносили необходимые изменения и правили косяки, по которым Вы даже не считаете нужным отписываться.

п.с.: Честно, я своим знакомым, которые спрашивают у меня про скуд, честно говорю что у меня стоит от айронлоджик, но вы ее не ставьте, так как поддержка шиворот на выворот.
Поставьте копеечную ардуину, модуль считывания, коробку промышленную и все, за 1 тысячу рублей и немного времени разработчика(причем мозги почти не нужны, все линейно и на модулях) сделайте себе скуд.

И не надо отправлять нас на почту саппорта все время. Сделайте ответственного по отделу, который по графику будет просматривать форум. Через почту вообще не удобно вести переписку, а тут все для всех. Т.е. другим тоже будет полезно, тем более что болячки, с которыми обращаются люди у всех одинаковые, и они, эти болячки, Вами прекрасно игнорируются и даже никак не комментируются.


Я видимо так и буду делать в следующий раз, или уйду на другого производителя...

murat351

  • Пользователь
  • *****
  • Сообщений: 70
Разработка, чат действительно не смотрит
для связи с разработкой есть почта fw@ironlogic.ru
для оперативного решения вопросов  рекомендую Онлайн-консультант: sp.il78.com
на чат не отвечаю не из вредности,
а просто по тому что редко на него захожу
к слову, я то же не разработчик.

отвечу на все вопросы по прядку
1)при евенте (dec)32, (dec)33 в поле карты стоит карта состоящая из нулей. = Дверь открыта на вход/выход
2) Еще, в дампе виден пустой евент от контроллера: {"type":"Z5RWEB","sn":44640,"messages":[{"id":309667127,"operation":"events","events":[]}]}
- отправил запрос в разработку

3) почему хранятся евенты
-  события хранятся в буфере - 8192 записей  они перезаписываются по кругу, старые затираются новыми
по этому последние  8192 записей всегда есть в памяти контроллера.
при этом контроллер имеет
1) указатель на последнюю запись
2) указатель на последнюю прочитанную запись
вероятно, проблема с кучей евентов  связана  со сдвигом второго указателя

Ваш вопрос по евентам я пересылаю в разработку.
« Последнее редактирование: 15 Ноября 2018, 09:53 от murat351 »

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Марат, большое спасибо за ответ.
Я предполагал что Вы не разработчик, это очевидно.

1) да, именно нули. Но очевидно же, что инициатор этого действия карточка, которая прошла верификацию, и на основании которого контроллер собственно и открыл замки. Почему бы не отдавать вместо нулей реальную карточку? Как мне кажется это логично.
И еще был вопрос про евент "Проход состоялся". Логично же, что его надо давать или после события "дверь закрыта", или после таймаута, если он конечно установлен.
тогда был бы более простой и логичный механизм на возникновение события "Сотрудник долго держал дверь открытой". И соответственно можно скидывать нужнвм людям евенты на просмотр видео записей на определенный участок. А так, приходится получать событие Проход состоялся, и потом ждать когда придет событие "таймаут" или событие "дверь закрыта", что бы ставить временные отметки. Ну ей богу, не удобно.... Как то через ж...у получается.
Если этому есть какое то логическое объяснение, расскажите пожалуйста. Вероятно я чего то не понимаю и мне будет приятно поучится.

2) Спасибо

3) Отлично. Но на самом деле, хранить их или нет - это можно и нам решать. Вот мне они в памяти скуда вообще не нужны. Получил, подтвердил - все, стирайте. Почему бы не сделать переключатель?

murat351

  • Пользователь
  • *****
  • Сообщений: 70
И еще был вопрос про евент "Проход состоялся".
Логика конечно же есть
1) поднесли карту - замок открылся - дверь может остаться закрытой  и вход не состоятся
2) исполнительные устройства бывают разные, например:
- электромагнитный замок, открыт пока подается питание
- импульсный замок, открывается коротки импульсом и будет открыт пока дверь не откроют и закроют снова  (взвод замка)
итак
получили номер карты - начало отсчета
дверь открыли и закрыли - гарантированный вход
дверь не открывали - зависит от типа замка - возможны варианты  - замок закрылся/остался открытым
дверь открыли  и не закрыли - по таймеру включаем тревогу

"хранить их или нет - это можно и нам решать."
1)Json это надстройка над типовым контроллером, для него важно иметь буфер событий
2) не вижу большой разницы при использовании - очищать память или сдвигать указатель
в Json  - даже указатели двигать не нужно.
Важно, что бы все работало правильно.

astashov

  • Пользователь
  • *****
  • Сообщений: 72
1) поднесли карту - замок открылся - дверь может остаться закрытой  и вход не состоятся
Согласен. тут все правильно и логично.

итак
получили номер карты - начало отсчета
Согласен.

дверь открыли и закрыли - гарантированный вход
Опять согласен. Если дверь закрыли, то проход состоялся.

дверь не открывали - зависит от типа замка - возможны варианты  - замок закрылся/остался открытым
Это единственный вариант, под который не хватает настройки: галочка "есть датчик открытия двери".  И тогда вариант "остался открытым" уже вторичен.
А вот сам факт, что замок остался после этого открытый, то это уже административная ситуация, и решается инструкциями и порицанием с принуждением.
И если человек с таким замком, и не использует датчик открытия двери, то ССЗБ.
А если датчик есть, то после открытия сразу понятно что дверь не открывалась и кого надо бить :)

дверь открыли  и не закрыли - по таймеру включаем тревогу
ну не тревогу, а просто таймаут. а вот аналитика уже сама поймет включать тревогу, или чморить человека в корпоративном чате.
Тревога - это когда сработал датчик открытия двери, без открытия замка....

Важно, что бы все работало правильно.
:) это да :) это важно. Только как показывает практика, 100% обхвата тестами у Вас точно нет, иначе такая ситуация была бы на уровне тестов поймана. И если бы не было этих событий, то они бы и не вывалились, и люди не задавали вопрос "а зачем они???". Когда работа в оффлайне, события копятся. Если онлайн - отдал и забыл. Пускай у другого голова болит....