Плагин MegaD



  • @Erik, скопируйте этот код в файл на сервер IH. Файл назовите например, myserver.js. Папка может быть любой.

    const http = require('http');
    const port = process.argv[2];
    if (!port) {
      console.log('Порт не определен!');
      process.exit();
    }
    
    http
      .createServer(onRequest)
      .listen(port)
      .on('error', e => {
        let msg = e.code == 'EADDRINUSE' ? 'Address in use' : `${e.code} Stopped.`;
        console.log(`HTTP server port: ${port} error ${e.errno}. ${msg}`);
        process.exit(1);
      });
    
    console.log('Listening localhost:' + port);
    
    function onRequest(request, response) {
      console.log('=> HTTP GET ' + request.url);
    
      response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
      response.end("");
      response.on('error', e => {
        console.log('<= ERROR:' + e.code);
      });
    }
    

    Остановите плагин.
    Перейдите в папку со скриптом и запустите myserver с помощью node, в качестве параметра передайте слушающий порт:

    sudo /opt/intrahouse-c/node/bin/node myserver 8083
    

    Как видите, этот скрипт только слушает порт, выводит поступившие запросы на консоль и отправляет ответ со статусом 200 и пустым телом.
    В зависимости от результата нужно будет смотреть дальше



  • Удаление канала 16 в плагине и удаление обработчика 16 канала (расширения) в плагине ничего не меняет. Все равно настройка сбивается. Помогает только отключение плагина.



  • Хорошо, Тест 1 проведен.
    Остались Тесты 2 и 3 🙂



  • Какой смысл замыкать порт на контроллере?
    Очень не хочется лезть в шкаф.
    Выключатель работает четко.
    Светодид входа на меге загорается и гаснет всегда при включении/выключении выключателя.



  • Проведите тогда для начала Тест 2.
    А по порту - остальные выключатели у вас тоже P&R? И нормально работают?
    Можно тогда поменять местами порты. Правда, это тоже в шкафу, видимо



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

    А по порту - остальные выключатели у вас тоже P&R? И нормально работают?
    Да.



  • Поднял на буке мажордомо, установил дополнение мегад, настроил на проблемную мегу, а мегу - на новый сервер.
    Все работает четко, без сбоев. Дополнение само считало все настройки с меги, все включает/выключает, конфиги не портит.

    Тест2 пройден?

    Проблема с сервером Intrahouse.
    Прошу разобраться.



  • Поставил плагин старой версии - 1.1.10.
    Работает корректно.

    А последняя версия мало того, что гадит, еще и не оставляет об этом следов в отладчике.

    Это серьезная проблема, к сожалению.



  • Версия 1.1.10 была выпущена в январе 2019г.
    Версия 1.1.13 вышла в марте 2019г.
    После этого обновлений плагина не было.
    Как нам понять, почему с тех пор проблемы с плагином не было, а сейчас появилась? И, судя по всему, только у Вас. Помогите нам разобраться.

    Плагин не считывает и не меняет настройки на MegaD. Это изначально был наш принципиальный поход в работе с MegaD.

    Сейчас у Вас работают все порты (15,17,18,20,19,21) и не работает 16 порт. Попробуйте поменять его местами с любым работающим.

    Самый надежный способ обнаружения проблемы, это сниффер. Проблема у Вас повторяется и найти ее с помощью сниффера можно.



  • Перечитал эту ветку с Вашей проблемой и обнаружил следующее:
    Участник @Erik написал в Плагин MegaD:

    у меня ситуация странная.
    Потому, что до обновления прошивки на мегах все работало отлично.
    После обносления прошивки вылез этот один косяк, но только после того, как мегу присоединил к серверу. Без связки с сервером работает корректно.

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

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

    Проблема с сервером Intrahouse.
    Прошу разобраться.

    Это довольно странное заключение.
    Тем не менее мы готовы разобраться с этой ситуацией. Но для этого нам необходима информация от сниффера, где видно что плагин отправляет команды на MegaD на перенастройку порта.



  • Вы от меня многого хотите.
    Достаточно того, что:

    1. Без сервера мега работает отлично.
    2. С мажордомо мега работает без поблемы.
    3. Со старой версией плагина IH мега работает отлично.

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

    Если вам интересно, прошивку я вчера на прежнюю тоже менял. Не помогло.



  • Можно констатировать - причина проблемы не найдена.
    Когда (и если) у кого-то из пользователей MegaD возникнет подобная проблема, надеемся, он поможет нам докопаться до истины 🙂



  • @intrapro
    Доказано, что проблема - в плагине последней версии.
    А то, как вы ее отрабатываете - отдельная тема.



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

    Доказано, что проблема - в плагине последней версии.

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

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

    Вы от меня многого хотите.

    По другому мы не сможем помочь Вам.
    Проблема только у Вас. На одном контроллере (другой работает), с одним портом (остальные работают).
    Как по Вашему мы должны решать Ваш вопрос?



  • Главный вопрос, почему больше по вышеуказанной проблеие не кто не пишет? А- Не так настроена конфигурация. Б- Проблемы отсутствуют.
    Пользователи IH и Megad, давайте поможем разобраться с этим вопросом. Я завтра вечером еще раз

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

    @artem521
    alt text

    alt text

    alt text

    alt text

    alt text

    Главный вопрос, почему больше по вышеуказанной проблеие не кто не пишет? А- Не так настроена конфигурация. Б- Проблемы отсутствуют.
    Пользователи IH и Megad, давайте поможем разобраться с этим вопросом. Я завтра вечером еще раз попробую настроить конфиг.



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

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

    Доказано, что проблема - в плагине последней версии.

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

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

    Вы от меня многого хотите.

    По другому мы не сможем помочь Вам.
    Проблема только у Вас. На одном контроллере (другой работает), с одним портом (остальные работают).
    Как по Вашему мы должны решать Ваш вопрос?

    По моему, это вы меня тролите.
    Проблема есть только с сервером IH, только с плагином мегад последней версии.
    Проявляется у меня на одном порту. На одной меге.
    При этом в снифере ничего нет.
    Но без сервера IH нет и проблемы.

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

    А идея получить от пользователя причину, и только в этом случае начать что-то делать - желание понятное.

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



  • Вчера выполняя указания Dev увидел, что и в версии 1.1.10 порт 16 переключился в режим P.
    Это не сказалось на работоспособности потому, что проставился чекбокс рядом с установкой режима.

    Соответственно, номера версии работающего без ошибки плагина нет.

    Но есть такой вопрос. У меня в настройках обоих контроллеров "имя скрипта" пустое, и расширения в плагине тоже не содержат имени скрипта.

    Это не может влиять?



  • Имя скрипта MegaD отправляет в запросе перед отправкой параметров (перед знаком вопроса):

    То есть:
    имя скрипта = megad.php --> запрос будет /megad.php?pt=16
    имя скрипта пустое --> запрос будет /?pt=16

    То есть пустое имя скрипта - это нормальный рабочий вариант



  • Добрый день, можно как то дать запрос на мегу чтобы узнать статус реле, включено или выключено реле? У меня внешние ролокасети на 3 провода (1 общий, 2,3 верх, низ). Хочу что бы Ih помнил статус (последние действие), проверял или реле активно у меня сейчас работает без обратной связи а ето не удобно. У меня реализировано команду устройству.



  • @amgstone

    Создайте кнопку.
    В ней выбирете "команда плагина", выберите свою мегу и напишите эту команду.
    /%pwd%/?cmd=all
    вместо pwd - свой пароль на меге.
    Кнопка будет обновлять состояния всех каналов этой меги.


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