Плагин MegaD



  • @amgstone, собственно вот такая схема:
    Scheme_Control_of_Rollets.png



  • Участник @Alex_Jet написал в Плагин MegaD:

    Пользователи MegaD!!! А вы замечали что у Вас плагины megad перезапускаются? Или ни у кого не подключены датчики I2C и 1WBUS?

    У меня подключены 5 устройств I2C (датчики температуры-влажности, освещенности, расширитель портов, датчик давления и температуры-влажности), 2 датчика DHT22, 3 шины 1WBUS (на одной из шин 6 датчиков). Устройства I2C подключены как попало (звездой, лучи до 8м, до 3 шт на один порт, при этом - все SDL на одном порту!). Особых проблем не наблюдаю. Раньше висли DHT22, но после замены одного из них на SHT21, зависания пропали. Все работает. Опросы датчиков у меня примерно 1 раз в минуту. По поводу перегрузки плагина, ничего сказать не могу - подскажите, пожалуйста, где смотреть - понаблюдаю. Правда, у меня не классическая мега, а моноблок от Ермакова.



  • @gis, это все висит на одном моноблоке или на нескольких? И какой коммутатор и маршрутизатор используется в локальной сети?
    Понаблюдать можно в разделе "Плагины" - там есть столбец "Запуск" - в идеале время запуска у каждого плагина должно совпадать со временем запуска сервера, конечно если не проводились настройки плагинов. Если хотите прям понаблюдать (будут приходить сообщения, например, в Telegram), то можно написать вот такой мультисценарий:

    /** 
    * @name MegaD - уведомления от плагинов 
    * @desc Сообщение в Telegram о проблемах с плагинами 
    * @version 4 
    */
    
    const dev = Device("SensorD");
    
    startOnChange(dev);
    
    script({
      start() {
        let string = "";
        
        switch(dev.value) {
          case 0: string = "возникла ошибка";
                  break;
          case 1: string = "остановлен";
                  break;
          case 2: string = "запущен";
                  break;
        }
        
        this.info("telegram", "OWNER", dev.id+ ": " +string+ "; error - " +dev.error);
      },
      
      GetDate() {
        return new Date().toLocaleString('ru-RU');
      }
    });
    


  • Участник @Alex_Jet написал в Плагин MegaD:

    @gis, это все висит на одном моноблоке или на нескольких? И какой коммутатор и маршрутизатор используется в локальной сети?

    Спасибо! Да, все висит на одном моноблоке. Обслуживает первый этаж, кроме санузла (5 помещений) - климат, отопление, частично освещение, окна, двери, ворота и калитка. Маршрутизатор самый простой - Zyxel Kinetic Giga II, раздает беспроводный интернет. В этой же сети камеры и видеорегистратор, а так же 12 шт. Shelly управляют освещением на 220 вольт. Коммутатор - самый дешевый Dlink на 16 портов.
    Понаблюдаю за плагином (сейчас перезапускал его после настройки для работы с расширителем портов).
    .



  • @gis, а вы используете для аппроксимации значений (особенно актуально для управления отоплением - усреднять значение температуры в зоне в течении пятиминуток) "Функцию обработки при получении данных от контроллера? Примеры функций приводил выше. У меня не работает она для датчиков на шине 1WBus, собственно лог тоже выше приводил.



  • Провели серию тестов с контроллером 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

    Снимок экрана 42_2.jpg

    Тем не менее решили попробовать без фрагментации (версия плагина 1.1.15):

    Снимок экрана 43_2.jpg

    Контроллер 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 
    

    Расширения.JPG

    Соответствующие входы инвертированы.



  • @Alex_Jet, Добрый вечер! Проверьте пожалуйста флаг новый "Расширенный порт". Он случайно не установлен?



  • @intrapro, нет не установлен. Ну и по скриншоту видно что в этом столбце пусто.
    Пока откатился на 1.1.14. В нем все работает)



  • @Alex_Jet Да, проблема есть 😞 Сегодня выпустим обновление





  • Коллеги, а все же что сделал Андрей в последней прошивке?



  • @Alex_Jet
    Вероятно, ошибка распределения памяти, какое-то наложение данных, зависящее от длины буфера.
    Всех с наступившим Новым годом! Удачи в Новом году 🎅



  • @intrapro

    В очередной раз снимаю шляпу перед поддержкой IH!!!!

    СПАСИБО ОГРОМНОЕ!!!
    С Новым Годом!



  • На github выложена новая версия плагина v1.1.15:
    https://github.com/intrahouseio/intraHouse.plugin-
    Просьба счастливых обладателей расширенных портов протестировать функционал 🙂

    Протестировал с MegaD-16I-XT - все работает как надо. Спасибо большое за доработку плагина!



  • К MegaD можно подключить считыватели ключей TouchMemory и Wiegand-26. Подскажите, пожалуйста, как настроить плагин MegaD для получения информации с этих устройств. Как вообще организовать работу в Intrahouse с ключами и метками чтобы, например, использовать их для управления режимом охраны или включения/выключения других устройств. Если у кого есть подобный опыт, просьба поделиться.



  • @gis я планирую делать, жду когда придут nfc-считыватели. очевидно, в плагине нужно обрабатывать php-запрос в котором приходит uid ключа. Далее я вижу два пути:

    1. Аналоговый датчик с текстом (в значении uid ключа). Значения сенсора обрабатываются по аналогии с плагином telegramm в скрипте. Как uid передать в датчик пока не думал. Таким образом каждый uid обрабатывается персонально
    2. Для каждого ключа делаем расширение в плагине megad, каждое расширение привязываем к бинарному датчику, к одному датчику можно привязать несколько ключей (датчик имитирует сущность пользователя). Обрабатываем в скриптах включение датчика, по окончанию сценария меняем состояние датчика на "выключено", таким образом каждый пользователь может иметь несколько ключей, привязанных к одному датчику. Для каждого пользователя могут исполняться разные сценарии.
      Очевиднее и проще второй вариант, но первый мне нравится отсутствием большого количества виртуальных устройств. Группировать можно в сценарии через "или".


  • @homa спасибо за ответ! Если хотите поэкспериментировать, то можно использовать любой домофонный ключ TouchMemory (таблетку) - для него не нужен специальный считыватель и логика работы с ним будет та же. Проблема как настроить канал и расширения в плагине, чтобы присваивался идентификатор ключа устройству.


Авторизуйтесь, чтобы ответить