Плагин 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 на перенастройку порта.
-
Вы от меня многого хотите.
Достаточно того, что:- Без сервера мега работает отлично.
- С мажордомо мега работает без поблемы.
- Со старой версией плагина IH мега работает отлично.
А прошивка меги у меня совпала с обновлением плагина.
Плагин обновил при выходе версии. Но не был на даче, и не щелкал выключателем. А как приехал - обновил мегу, и обнаружил проблему.
Как выяснилось - она в не в прошивке меги, она в плагине.Если вам интересно, прошивку я вчера на прежнюю тоже менял. Не помогло.
-
Можно констатировать - причина проблемы не найдена.
Когда (и если) у кого-то из пользователей MegaD возникнет подобная проблема, надеемся, он поможет нам докопаться до истины
-
@intrapro
Доказано, что проблема - в плагине последней версии.
А то, как вы ее отрабатываете - отдельная тема.
-
Участник @Erik написал в Плагин MegaD:
Доказано, что проблема - в плагине последней версии.
Коллега, Вы решили нас потроллить?
Я ведь кажется выше четко написал о дате выхода плагина. Никакого обновления не было больше полугода. Плагин работал, а потом вдруг, неделю назад, начал работать неправильно? Может поискать причину в другом, а не в последней версии?Участник @Erik написал в Плагин MegaD:
Вы от меня многого хотите.
По другому мы не сможем помочь Вам.
Проблема только у Вас. На одном контроллере (другой работает), с одним портом (остальные работают).
Как по Вашему мы должны решать Ваш вопрос?
-
Главный вопрос, почему больше по вышеуказанной проблеие не кто не пишет? А- Не так настроена конфигурация. Б- Проблемы отсутствуют.
Пользователи IH и Megad, давайте поможем разобраться с этим вопросом. Я завтра вечером еще разУчастник @Erik написал в Плагин MegaD:
Главный вопрос, почему больше по вышеуказанной проблеие не кто не пишет? А- Не так настроена конфигурация. Б- Проблемы отсутствуют.
Пользователи 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 помнил статус (последние действие), проверял или реле активно у меня сейчас работает без обратной связи а ето не удобно. У меня реализировано команду устройству.
-
Создайте кнопку.
В ней выбирете "команда плагина", выберите свою мегу и напишите эту команду.
/%pwd%/?cmd=all
вместо pwd - свой пароль на меге.
Кнопка будет обновлять состояния всех каналов этой меги.