Автор Тема: Z5R WEB(web-json) - Как получить список карт из контроллера  (Прочитано 18583 раз)

astashov

  • Пользователь
  • *****
  • Сообщений: 72
Здравствуйте
Прочитал протокол https://ironlogic.ru/il_new.nsf/file/ru_web-json.pdf/$FILE/web-json.pdf
и увидел что можно добавить карту, удалить карту, удалить все карты....

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

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

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

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

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

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

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


murat351

  • Пользователь
  • *****
  • Сообщений: 72
"как можно просмотреть список всех карт добавленных в контроллер?"
- да этой команды нет, сделано сознательно
получение 8/16/32 тыс карт это очень долго
у вас должен быть свой список

"каждый раз, когда контроллер присылает power_on, я должен удалять все карты и записывать их заного"
- делать этого не нужно
у контроллера энергонезависимая память

astashov

  • Пользователь
  • *****
  • Сообщений: 72
"как можно просмотреть список всех карт добавленных в контроллер?"
- да этой команды нет, сделано сознательно
получение 8/16/32 тыс карт это очень долго
у вас должен быть свой список
Звучит как: мы построили вокруг Вас забор что бы вы не вышли на волю и не натворили там чего. А так, под присмотром, с вертухаями, Вы должны чувствовать себя в безопасности и понимать что Вас охраняют....

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

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


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

astashov

  • Пользователь
  • *****
  • Сообщений: 72
И опять тишина :)
Не, ребята, у Вас так форум не оживет.
Вы хоть что ни будь опишите. Если не будете предпринимать что ни будь, то проще так и написать: планов на реализацию нет на ближайшее будущее....
Ну или что то в этом духе.

murat351

  • Пользователь
  • *****
  • Сообщений: 72
для каждой задачи свои методы ))
метод для вашей задачи
http://posix.ironlogic.ru/wiki/Z397_IP_Advanced_Mode

astashov

  • Пользователь
  • *****
  • Сообщений: 72
для каждой задачи свои методы ))
метод для вашей задачи
http://posix.ironlogic.ru/wiki/Z397_IP_Advanced_Mode
Ну наверное при большом количестве контроллеров этот метод то что надо. Стоит не дорого...
С коммерческой точки зрения решения и методы понятны...

Но на небольшом количестве контроллеров, или на большом но когда нет желания писать драйвер под Z397, можно на секунду переключить контроллер в автономный режим работы, скачать csv, вернуть контроллер в режим работы web-json. Профит. И список карт получен и все счастливы. И дополнительного оборудования не надо. И написать такой алгоритм будет намного быстрее, чем писать драйвер под линукс для Z397. Минут 20 наверное займет.
Только вот зачем этот геморой с такими финтами - не понятно.
Получается что функционал есть, но его умышленно не дают что бы покупали такие контроллеры как Z397, например.

murat351

  • Пользователь
  • *****
  • Сообщений: 72
это все можно сделать с помощью бесплатной программы https://ironlogic.ru/il_new.nsf/htm/ru_guardcmd
там и импорт и экспорт, и много другого

astashov

  • Пользователь
  • *****
  • Сообщений: 72
это все можно сделать с помощью бесплатной программы https://ironlogic.ru/il_new.nsf/htm/ru_guardcmd
там и импорт и экспорт, и много другого
Это замечательно. Только для начала надо найти где то виндовс и что он был включен регулярно и на нем будет крутиться только одна эта программа.
Зачем??? Тем более что то делать руками....

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

п.с.: да, да. Мы одна из таких компаний, на который все на линуксе или на маке. Даже 1C и то на линуксе.

Егор

  • Пользователь
  • *****
  • Сообщений: 25
Решил немного реанимировать тему.
Почему нельзя получить список карт из контроллера примерно понятно.
Полюбовавшись, сколько времени и команд уходит за заливку 8000 карт, представить, что это будет происходить в обратную сторону... Долго, хотя и терпимо, если не в рабочее время выполнять.
Так что функционалу получения карт их контроллера мы всё же обрадуемся ))

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

Ну и ещё уточнить хочу - если отправить контроллеру одну и ту же карту несколько раз подряд, он её сколько раз хранить будет?
Один, т.к. поймёт, что это дубль или сколько раз прислали столько и записей?

astashov

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

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

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

Егор

  • Пользователь
  • *****
  • Сообщений: 25


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

А вот хэш набора карт.... Это да. Это было бы полезно. Т.е. после загрузки карт(ы) контроллер сортирует все номера карт, и берет от этого списка хэш. Можно выбрать любой хэш, который не грузит проц на подсчет(по крайней мере самый легкий). Например CRC. И в евентах говорить этот хэш. Можно не во всех эвентах, а только в пингах. А серверная часть знает какие карты должны быть на контроллере, соответственно может построить такой же хэш и срванить. И станет понятно, актуальный список карт на контроллере или нет.
[/quote]
Совершенно верно.
Ваше предложение даже более грамотное.
Ждём ответа от Мурата.

murat351

  • Пользователь
  • *****
  • Сообщений: 72
А вот хэш набора карт.... Это да.
- согласен, но это только мое мнение ))

отправляю запрос в разработку

hellard

  • Пользователь
  • *****
  • Сообщений: 15
Уважаемые разработчики, рассмотрите вопрос о получении списка карт, она необходима для синхронизации.

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

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

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

В режиме сервер или клиент, вы по какой то причине разрешаете это делать.

murat351

  • Пользователь
  • *****
  • Сообщений: 72
Добрый день
Есть много способов проверить актуальность базы не скачивая ее.
И способы эти значительно эффективнее.
Но, я с вами согласен, пользователь должен решать сам, читать всю базу или нет.
Первый шаг в этом направлении уже сделан.
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 и в нем реализована команда чтения всей базы карт.

 

hellard

  • Пользователь
  • *****
  • Сообщений: 15
Как показала практика, но на контроллерах Z5r-web, он (websocket) по сути не рабочий, вебсокет за натом постоянно отваливается, контроллер теряет связь, и лечится это только перезагрузкой контролера, либо переводом его в другой режим работы, и возвращением обратно.

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

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

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

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

Z5-R WEB
Версия FW контроллера: 3.42
Версия FW модуля связи: 1.0.161