IronLogic СКУД

Сетевые контроллеры => Z5R WEB => Тема начата: astashov от 14 Июня 2018, 10:55

Название: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 14 Июня 2018, 10:55
Здравствуйте
Прочитал протокол https://ironlogic.ru/il_new.nsf/file/ru_web-json.pdf/$FILE/web-json.pdf
и увидел что можно добавить карту, удалить карту, удалить все карты....

А как можно просмотреть список всех карт добавленных в контроллер?

Мне кажется чего то в протоколе не хватает :)

В данный момент, если я хочу проверить карту, у меня должен быть свой список(против этого я ничего не имею, и он у меня есть), и каждый раз, когда контроллер присылает power_on, я должен удалять все карты и записывать их заного из своего списка. т.е. делать постоянную синхронизацию. А зачем? Или так специально было задумано?

Тогда возникает вопрос, зачем нужна команда удаления одной карты? Есть же команда удаления всех карт.

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

В Вашем случае, при работе через web-json проще было бы оставить две команды: удалить все и добавить карту. И тогда ни у кого не было бы вопросов, явно прослеживалась бы логика принятых решений. А тут как не понятно.

Прокомментируйте пожалуйста.

Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 14 Июня 2018, 13:07
"как можно просмотреть список всех карт добавленных в контроллер?"
- да этой команды нет, сделано сознательно
получение 8/16/32 тыс карт это очень долго
у вас должен быть свой список

"каждый раз, когда контроллер присылает power_on, я должен удалять все карты и записывать их заного"
- делать этого не нужно
у контроллера энергонезависимая память
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 14 Июня 2018, 15:05
"как можно просмотреть список всех карт добавленных в контроллер?"
- да этой команды нет, сделано сознательно
получение 8/16/32 тыс карт это очень долго
у вас должен быть свой список
Звучит как: мы построили вокруг Вас забор что бы вы не вышли на волю и не натворили там чего. А так, под присмотром, с вертухаями, Вы должны чувствовать себя в безопасности и понимать что Вас охраняют....

Все таки это сами пользователи должны решать. Как минимум мне надо знать, есть ли определенная карта в супер классной энергонезависимой карте контроллера.
А то получается, я понятия не имею есть ли в контроллере удаленная ранее карта, и мне надо ее на всякий случай удалить. Удалить
8/16/32 тыс карт
утилизированны карт. Т.к. какой то там контроллер, может быть восстановлен с сохраненным кем то ранее конфигурационным файлом, и в нем видимо сохраняться все ключи, которые были на момент сохранения конфигурационного файла с контроллера. А тут он бах, появился в сети и в нем старые утилизированные карты, которые не должны пускать людей, когда контроллер потеряет связь с сервером и переключится в автономный режим.

Это кстати тоже вопрос, а в сохраненный конфиг попадают ключи?
И почему в режиме web-json я не могу сказать csv файл со списком всех ключей. В автономном режиме этот файл есть. Хотя их там может быть
8/16/32 тыс карт


"каждый раз, когда контроллер присылает power_on, я должен удалять все карты и записывать их заного"
- делать этого не нужно
у контроллера энергонезависимая память
Вот как раз нужно это делать. Причину по которой я должен быть уверен в контроллере я описал Выше. Чорт его знает что там в нем, и как он будет себя вести, когда переключится в автономный режим, когда потеряет связь с сервером.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 19 Июня 2018, 12:05
И опять тишина :)
Не, ребята, у Вас так форум не оживет.
Вы хоть что ни будь опишите. Если не будете предпринимать что ни будь, то проще так и написать: планов на реализацию нет на ближайшее будущее....
Ну или что то в этом духе.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 20 Июня 2018, 09:55
для каждой задачи свои методы ))
метод для вашей задачи
http://posix.ironlogic.ru/wiki/Z397_IP_Advanced_Mode
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 20 Июня 2018, 11:18
для каждой задачи свои методы ))
метод для вашей задачи
http://posix.ironlogic.ru/wiki/Z397_IP_Advanced_Mode
Ну наверное при большом количестве контроллеров этот метод то что надо. Стоит не дорого...
С коммерческой точки зрения решения и методы понятны...

Но на небольшом количестве контроллеров, или на большом но когда нет желания писать драйвер под Z397, можно на секунду переключить контроллер в автономный режим работы, скачать csv, вернуть контроллер в режим работы web-json. Профит. И список карт получен и все счастливы. И дополнительного оборудования не надо. И написать такой алгоритм будет намного быстрее, чем писать драйвер под линукс для Z397. Минут 20 наверное займет.
Только вот зачем этот геморой с такими финтами - не понятно.
Получается что функционал есть, но его умышленно не дают что бы покупали такие контроллеры как Z397, например.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 20 Июня 2018, 11:39
это все можно сделать с помощью бесплатной программы https://ironlogic.ru/il_new.nsf/htm/ru_guardcmd
там и импорт и экспорт, и много другого
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 20 Июня 2018, 11:59
это все можно сделать с помощью бесплатной программы https://ironlogic.ru/il_new.nsf/htm/ru_guardcmd
там и импорт и экспорт, и много другого
Это замечательно. Только для начала надо найти где то виндовс и что он был включен регулярно и на нем будет крутиться только одна эта программа.
Зачем??? Тем более что то делать руками....

Я очень ленивый :) Мне проще написать веб интерфейс и он будет работать на чем угодно.

п.с.: да, да. Мы одна из таких компаний, на который все на линуксе или на маке. Даже 1C и то на линуксе.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: Егор от 19 Ноября 2018, 22:23
Решил немного реанимировать тему.
Почему нельзя получить список карт из контроллера примерно понятно.
Полюбовавшись, сколько времени и команд уходит за заливку 8000 карт, представить, что это будет происходить в обратную сторону... Долго, хотя и терпимо, если не в рабочее время выполнять.
Так что функционалу получения карт их контроллера мы всё же обрадуемся ))

А вопрос такой: а можно ли хотя бы просто количество карт из контроллера получить?
Так сказать контрольную сумму.

Ну и ещё уточнить хочу - если отправить контроллеру одну и ту же карту несколько раз подряд, он её сколько раз хранить будет?
Один, т.к. поймёт, что это дубль или сколько раз прислали столько и записей?
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: astashov от 20 Ноября 2018, 11:29
А вопрос такой: а можно ли хотя бы просто количество карт из контроллера получить?
Так сказать контрольную сумму.

Вставлю свои пять копеек: Количество - роли не играет. Контрольная сумма - думаю что это опять предполагается количество.

А вот хэш набора карт.... Это да. Это было бы полезно. Т.е. после загрузки карт(ы) контроллер сортирует все номера карт, и берет от этого списка хэш. Можно выбрать любой хэш, который не грузит проц на подсчет(по крайней мере самый легкий). Например CRC. И в евентах говорить этот хэш. Можно не во всех эвентах, а только в пингах. А серверная часть знает какие карты должны быть на контроллере, соответственно может построить такой же хэш и срванить. И станет понятно, актуальный список карт на контроллере или нет.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: Егор от 20 Ноября 2018, 14:50


Вставлю свои пять копеек: Количество - роли не играет. Контрольная сумма - думаю что это опять предполагается количество.

А вот хэш набора карт.... Это да. Это было бы полезно. Т.е. после загрузки карт(ы) контроллер сортирует все номера карт, и берет от этого списка хэш. Можно выбрать любой хэш, который не грузит проц на подсчет(по крайней мере самый легкий). Например CRC. И в евентах говорить этот хэш. Можно не во всех эвентах, а только в пингах. А серверная часть знает какие карты должны быть на контроллере, соответственно может построить такой же хэш и срванить. И станет понятно, актуальный список карт на контроллере или нет.
[/quote]
Совершенно верно.
Ваше предложение даже более грамотное.
Ждём ответа от Мурата.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 21 Августа 2019, 13:41
А вот хэш набора карт.... Это да.
- согласен, но это только мое мнение ))

отправляю запрос в разработку
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: hellard от 21 Февраля 2023, 10:26
Уважаемые разработчики, рассмотрите вопрос о получении списка карт, она необходима для синхронизации.

Пусть это будет и 8 и 16 тысяч карт (как правило такого не бывает или бывает в крайне редких случаях, на очень очень больших предприятиях), в роли дополнительного контроллера в подъезде жилого дома, как правило несколько сотен ключей, а на моей практике для дома в 200 квартир, по 100 квартир на подъезд, не превышало пока и 300... 

Аргументируя тем, что считывание займет очень большой промежуток времени, хочу заметить, что и загрузка в контроллер, после полной его очистки составит не меньший промежуток. А значит что в этот период (очистка всего и повторная загрузка) по сути контроллер не будет исполнять свои прямые обязанности по пропуску лиц на объект.

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

В режиме сервер или клиент, вы по какой то причине разрешаете это делать.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 21 Февраля 2023, 11:57
Добрый день
Есть много способов проверить актуальность базы не скачивая ее.
И способы эти значительно эффективнее.
Но, я с вами согласен, пользователь должен решать сам, читать всю базу или нет.
Первый шаг в этом направлении уже сделан.
https://www.ironlogic.ru/il_new.nsf/file/ru_description_protocol_web_socket_v1.3.pdf/$FILE/description_protocol_web_socket_v1.3.pdf
Есть протокол WEB Socket, он повторяет Json и в нем реализована команда чтения всей базы карт.

 
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: hellard от 21 Февраля 2023, 12:19
Как показала практика, но на контроллерах Z5r-web, он (websocket) по сути не рабочий, вебсокет за натом постоянно отваливается, контроллер теряет связь, и лечится это только перезагрузкой контролера, либо переводом его в другой режим работы, и возвращением обратно.

Сам контроллер никак не контролирует наличие живого соединения, и не производит его реинициализацию.

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

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

Отваливается же соединение по вебсокет хаотично, может проработать как несколько часов, так и несколько минут.

Z5-R WEB
Версия FW контроллера: 3.42
Версия FW модуля связи: 1.0.161
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 21 Февраля 2023, 13:48
В последних прошивках уже есть:
1) есть команда получить все карты - так же как в Socket
2) в Socket есть команда ping, соответственно выполняется перезапуск при отсутствии связи
проверяйте
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: hellard от 22 Февраля 2023, 05:05
2) в Socket есть команда ping, соответственно выполняется перезапуск при отсутствии связи
проверяйте

Не преследую цели вас обмануть, но как показала практика, не работает.
Соединение теряется, и не возобновляется. Может возобновиться при использовании контроллера, нажатие кнопки или прикладывание к считывателю ключа. Да и то не всегда.
Проверяйте как работает вебсокет за натом. Вот web-json работает хорошо, без нареканий.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: hellard от 22 Февраля 2023, 05:40
В последних прошивках уже есть:
1) есть команда получить все карты - так же как в Socket

Из файлика который вы приложили написано следующее...

Описание протокола WEB- Socket
Протокол полностью повторяет WEB-JSON, кроме следующих пунктов:
1. В сообщение "events" добавлен параметр "last_
присылать "events_success":<last_event>.
2. Добавлена операция чтения всех карт "operation":"read_cards".
Пример команды чтения карт:

ну и вишенка на торте, опять же с вашего файла

3. Сообщение PING  контроллер не присылает, так как в Web-socket  есть встроенная функция проверки соединения.  Для определения состояния соединения отслеживаем события Websocket open/close.
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: hellard от 28 Февраля 2023, 06:35
В последних прошивках уже есть:
1) есть команда получить все карты - так же как в Socket
2) в Socket есть команда ping, соответственно выполняется перезапуск при отсутствии связи
проверяйте

Все, дискуссия завершена?
То есть решения нет, и не планируется?
Название: Re: Z5R WEB(web-json) - Как получить список карт из контроллера
Отправлено: murat351 от 17 Июля 2023, 10:31
2.9 READ_CARDS
Запрос:
{ "id":12312,
"operation":"read_cards"
}
Ответ:
"cards":[
{ "pos":0, "card":"000000DDD2DC", "flags":0, "tz":255 },
{ "pos":1, "card":"000000030201", "flags":0, "tz":255 }
]


используйте последние прошивки модуля контроллера и модуля связи