Плагин MegaD
-
Провели серию тестов с контроллером MegaD от Андрея.
Тестирование проводили в локальной сети с роутером MikrotikНастройки:
Порт 16
Type: in
Act: 23:2
Mode: P&RПорт 15
Type: in
Act: 22:2
Mode: P&RПорты 22 и 23
Type: OutВерсии прошивки MegaD:
С версии прошивки от 4.30.b5 до 4.31.b8 все работает нормально
Начиная с версии 4.32.b1 при нажатии на порт 15, сбрасывается порт 16 в Mode: PПри проведении тестов с прошивками версию плагина не меняли. Работал плагин 1.1.13
Проанализировали дамп трафика с версией прошивки 4.39.b9
Увидели, что плагин отвечает в режиме фрагментации. В соответствии со спецификацией HTTP/1.1 https://tools.ietf.org/html/rfc7230#section-3.3.1Тем не менее решили попробовать без фрагментации (версия плагина 1.1.15):
Контроллер MegaD перестал сбрасывать порт 16.
Надеемся, что эта информация будет полезна разработчикам MegaD
-
@intrahouse
Большое человеческое спасибо, что занимаетесь этим вопросом.
На форум ab-log информацию положил.Я могу отнестись к сообщению как к совету перейти на версию плагина 1.1.15?
-
Участник @Erik написал в Плагин MegaD:
Я могу отнестись к сообщению как к совету перейти на версию плагина 1.1.15?
Да. Обновите плагин.
-
@intrapro, @intrahouse, коллеги, у кого Победа, а у кого Беда! После обновления плагина iH загнулась моя охранная система... iH не реагирует на открытие окна:
30.12 23:12:21.523 megad2: 192.168.11.22 => localhost:11022 HTTP GET /mod_megad.php?pt=1&m=1&cnt=42&mdid= 30.12 23:12:21.524 megad2: 192.168.11.22 <= localhost:11022 30.12 23:12:36.235 megad2: 192.168.11.22 => localhost:11022 HTTP GET /mod_megad.php?pt=1&cnt=43&mdid= 30.12 23:12:36.236 IH: get [ { id: '1', value: '1' } ] set { SGERKON1_02: { dval: 0, err: 0 } } 30.12 23:12:36.236 megad2: 192.168.11.22 <= localhost:11022 30.12 23:12:37.230 megad2: 192.168.11.22 => localhost:11022 HTTP GET /mod_megad.php?pt=1&m=2&cnt=43&mdid= 30.12 23:12:37.231 IH: get [ { id: '1', value: '1' } ] set { SGERKON1_02: { dval: 0, err: 0 } } 30.12 23:12:37.232 megad2: 192.168.11.22 <= localhost:11022
Соответствующие входы инвертированы.
-
@Alex_Jet, Добрый вечер! Проверьте пожалуйста флаг новый "Расширенный порт". Он случайно не установлен?
-
@intrapro, нет не установлен. Ну и по скриншоту видно что в этом столбце пусто.
Пока откатился на 1.1.14. В нем все работает)
-
@Alex_Jet Да, проблема есть Сегодня выпустим обновление
-
Опубликована версия v1.1.16
https://github.com/intrahouseio/intraHouse.plugin-MegaD/releases/tag/v1.1.16
-
Коллеги, а все же что сделал Андрей в последней прошивке?
-
@Alex_Jet
Вероятно, ошибка распределения памяти, какое-то наложение данных, зависящее от длины буфера.
Всех с наступившим Новым годом! Удачи в Новом году
-
-
На github выложена новая версия плагина v1.1.15:
https://github.com/intrahouseio/intraHouse.plugin-
Просьба счастливых обладателей расширенных портов протестировать функционалПротестировал с MegaD-16I-XT - все работает как надо. Спасибо большое за доработку плагина!
-
К MegaD можно подключить считыватели ключей TouchMemory и Wiegand-26. Подскажите, пожалуйста, как настроить плагин MegaD для получения информации с этих устройств. Как вообще организовать работу в Intrahouse с ключами и метками чтобы, например, использовать их для управления режимом охраны или включения/выключения других устройств. Если у кого есть подобный опыт, просьба поделиться.
-
@gis я планирую делать, жду когда придут nfc-считыватели. очевидно, в плагине нужно обрабатывать php-запрос в котором приходит uid ключа. Далее я вижу два пути:
- Аналоговый датчик с текстом (в значении uid ключа). Значения сенсора обрабатываются по аналогии с плагином telegramm в скрипте. Как uid передать в датчик пока не думал. Таким образом каждый uid обрабатывается персонально
- Для каждого ключа делаем расширение в плагине megad, каждое расширение привязываем к бинарному датчику, к одному датчику можно привязать несколько ключей (датчик имитирует сущность пользователя). Обрабатываем в скриптах включение датчика, по окончанию сценария меняем состояние датчика на "выключено", таким образом каждый пользователь может иметь несколько ключей, привязанных к одному датчику. Для каждого пользователя могут исполняться разные сценарии.
Очевиднее и проще второй вариант, но первый мне нравится отсутствием большого количества виртуальных устройств. Группировать можно в сценарии через "или".
-
@homa спасибо за ответ! Если хотите поэкспериментировать, то можно использовать любой домофонный ключ TouchMemory (таблетку) - для него не нужен специальный считыватель и логика работы с ним будет та же. Проблема как настроить канал и расширения в плагине, чтобы присваивался идентификатор ключа устройству.
-
@gis Считывателей и ключей вагон) но без нфс не хочу запускать. Второй вариант точно взлетит, необходимые эксперименты я провел. Настройка канала и расширения прям по инструкции от плагина. У меня стенд на работе, поэтому только в понедельник могу показать конфиг
-
@homa если не затруднит, пожалуйста, опубликуйте здесь конфиг как будет такая возможность.
-
@gis, написал тут. Коллеги, можно вас поправлю - от контроллера приходит GET-запрос (часть HTTP-протокола) с UID ключа, а не php (это такой язык программирования)... в частности у меня приходит вот такой запрос:
/mod_megad.php?pt=35&ib=123456789ABC
Здесь mod_megad.php - это часть url, который прописан в контроллере (ссылка Config, поле Script). У меня так сложилось исторически, поскольку раньше все контроллеры взаимодействовали с самописной системой управления на основе php/js.
-
Участник @Alex_Jet написал в Плагин MegaD:
@Alex_Jet - спасибо огромное, всегда очень помогают ваши сообщения!
Хорошо было бы, если бы разработчики добавили обработку GET-запросов от ключей и меток в самом плагине, чтобы присваивался идентификатор ключа/метки аналоговому датчику (устройству). Тогда их просто можно будет использовать в диаграммах сценариев, не изучая для этого js и создавая сценарии с использованием этого языка.
-
@gis, я обсуждал это вместе с разработчиками, но пришли к выводу что сценарии - это очень гибко! А так, тоже хотел чтобы ID ключа передавался, например, аналоговому датчику. Но опять же - где хранить ID ключей и как их сравнивать с нужными? - только в сценарии.
Ну и хочу добавить, что если вы не знаете Pascal/C/PHP и подобные языки, то JS довольно легко освоить. Ну а с системой, написанной на основе фреймворка Node.js, грех это не сделать, особенно если вы не просто пользователь системы, а ее администратор:)