Страница 80 из 140

Re: Модуль "MegaD"

Добавлено: Ср авг 09, 2017 4:21 pm
Chainik
"Засада" может сидеть в двух местах:
1. При работе входа Меги в режиме "P", после нахождения 1,5 секунды в замкнутом состоянии Мега отдает серверу 2-й ответ с параметром "m=2". Соответственно, скрипт вызывается повторно.
Метод "лечения" найден в этой ветке на стр.56.
Или можно посмотреть здесь (http://ab-log.ru/forum/viewtopic.php?f= ... 309#p28309) с примером кода (в конце поста, после подзаголовка "ДОПОЛНЕНИЕ/УТОЧНЕНИЕ").
2. Еще возможная причина: "Вызывать родительский метод" - "перед выполнением кода". Попробуйте поставить - "никогда".

Re: Модуль "MegaD"

Добавлено: Ср авг 09, 2017 4:50 pm
barsmaster
родительский метод пустой.
Скорее всего m=2, копаю. спасибо!
UPD:
Добавление строки в файл megad.class.php
$params['m']=$m;
помогло.

Код: Выделить всё

if(!$params['m']){
say("Протечка",1);
}
return; 

Re: Модуль "MegaD"

Добавлено: Чт авг 10, 2017 5:32 pm
barsmaster
Сил моих больше не хватает. Снова нуждаюсь в помощи.
Продолжая историю с датчиками протечки, и методом который вызывается при срабатывании датчика, оповещая где именно произошла сработка.
Так вот, сделал копии первого объекта, методы все переписал соответственно, выходы назначил.
https://gyazo.com/18dc52d80602e07195e9361a5948c4ae

странная штука происходит.
вот есть три обьекта подряд, у которых (ecmd: 7:1) - входы 15,16,17.
При сработке последнего из списка, всё хорошо.
При срабатывании среднего, дергает метод свой, и метод следующего в списке.
По моей картинке. Метод 17го входа срабатывает один раз.
Метод 16го входа срабатывает и тянет за собой метод 17го.
Метод 15го входа срабатывает и тянет за собой метод 16го.
Не понимаю, как такое возможно.

Re: Модуль "MegaD"

Добавлено: Чт авг 10, 2017 6:51 pm
Chainik
С таким не сталкивался. Может попробовать перевыбрать методы, очистить код и опять прописать код методов. Ну не знаю, даже. Выключить и включить Мажордомо. Трижды плюнуть через левое плечо, наконец...
Странно все это, в общем.

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 1:45 pm
barsmaster
Круг сужается.
Обнаружил следующую проблему.
во вкладке данные, в поле Текущее значение, не обнуляется значение после срабатывания датчика.
тоесть было Текущее значение =0, датчик сработал и Текущее значение остается висеть 1, хотя если зайти на саму мегу, то текущее состояние порта пишет OFF.

Если нажать кнопку обновить - скидывает в ноль. пока не нажмешь, держит 1.

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 3:02 pm
Chainik
Думаю, такое поведение является нормальным. И у меня на вкладке "данные" информация о состоянии входа обновляется только после перезагрузки страницы (F5).

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 4:10 pm
barsmaster
можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 4:36 pm
Chainik
Способ точно есть. Сам никогда не пользовался. Не нужно было. Первое, что пришло в голову - Wireshark (программа для анализа сетевого трафика).
Ну или пусть сообщество подскажет какой-нибудь другой способ.

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 4:49 pm
skysilver
barsmaster писал(а):можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.
Если задача на стороне сервера отслеживать, то можно в начало файла megad.php добавить

Код: Выделить всё

DebMes("MegaD obj request: ".$_SERVER['REQUEST_URI']); 
и смотреть в x-ray. А если затык в сети и до сервера ничего не доходить, то тогда надо снифить пакеты wireshark-ом.

Re: Модуль "MegaD"

Добавлено: Пт авг 11, 2017 4:58 pm
barsmaster
skysilver писал(а):
barsmaster писал(а):можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.
Если задача на стороне сервера отслеживать, то можно в начало файла megad.php добавить

Код: Выделить всё

DebMes("MegaD obj request: ".$_SERVER['REQUEST_URI']);
и смотреть в x-ray. А если затык в сети и до сервера ничего не доходить, то тогда надо снифить пакеты wireshark-ом.
слишком много всего приходит наоборот, физически срабатывает один вход, MD ловит срабатывания сразу нескольких.