[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
"Засада" может сидеть в двух местах:
1. При работе входа Меги в режиме "P", после нахождения 1,5 секунды в замкнутом состоянии Мега отдает серверу 2-й ответ с параметром "m=2". Соответственно, скрипт вызывается повторно.
Метод "лечения" найден в этой ветке на стр.56.
Или можно посмотреть здесь (http://ab-log.ru/forum/viewtopic.php?f= ... 309#p28309) с примером кода (в конце поста, после подзаголовка "ДОПОЛНЕНИЕ/УТОЧНЕНИЕ").
2. Еще возможная причина: "Вызывать родительский метод" - "перед выполнением кода". Попробуйте поставить - "никогда".
1. При работе входа Меги в режиме "P", после нахождения 1,5 секунды в замкнутом состоянии Мега отдает серверу 2-й ответ с параметром "m=2". Соответственно, скрипт вызывается повторно.
Метод "лечения" найден в этой ветке на стр.56.
Или можно посмотреть здесь (http://ab-log.ru/forum/viewtopic.php?f= ... 309#p28309) с примером кода (в конце поста, после подзаголовка "ДОПОЛНЕНИЕ/УТОЧНЕНИЕ").
2. Еще возможная причина: "Вызывать родительский метод" - "перед выполнением кода". Попробуйте поставить - "никогда".
- За это сообщение автора Chainik поблагодарил:
- barsmaster (Ср авг 09, 2017 5:31 pm)
- Рейтинг: 1.16%
- barsmaster
- Сообщения: 60
- Зарегистрирован: Пн апр 03, 2017 12:21 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
родительский метод пустой.
Скорее всего m=2, копаю. спасибо!
UPD:
Добавление строки в файл megad.class.php
$params['m']=$m;
помогло.
Скорее всего m=2, копаю. спасибо!
UPD:
Добавление строки в файл megad.class.php
$params['m']=$m;
помогло.
Код: Выделить всё
if(!$params['m']){
say("Протечка",1);
}
return;
- barsmaster
- Сообщения: 60
- Зарегистрирован: Пн апр 03, 2017 12:21 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
Сил моих больше не хватает. Снова нуждаюсь в помощи.
Продолжая историю с датчиками протечки, и методом который вызывается при срабатывании датчика, оповещая где именно произошла сработка.
Так вот, сделал копии первого объекта, методы все переписал соответственно, выходы назначил.
https://gyazo.com/18dc52d80602e07195e9361a5948c4ae
странная штука происходит.
вот есть три обьекта подряд, у которых (ecmd: 7:1) - входы 15,16,17.
При сработке последнего из списка, всё хорошо.
При срабатывании среднего, дергает метод свой, и метод следующего в списке.
По моей картинке. Метод 17го входа срабатывает один раз.
Метод 16го входа срабатывает и тянет за собой метод 17го.
Метод 15го входа срабатывает и тянет за собой метод 16го.
Не понимаю, как такое возможно.
Продолжая историю с датчиками протечки, и методом который вызывается при срабатывании датчика, оповещая где именно произошла сработка.
Так вот, сделал копии первого объекта, методы все переписал соответственно, выходы назначил.
https://gyazo.com/18dc52d80602e07195e9361a5948c4ae
странная штука происходит.
вот есть три обьекта подряд, у которых (ecmd: 7:1) - входы 15,16,17.
При сработке последнего из списка, всё хорошо.
При срабатывании среднего, дергает метод свой, и метод следующего в списке.
По моей картинке. Метод 17го входа срабатывает один раз.
Метод 16го входа срабатывает и тянет за собой метод 17го.
Метод 15го входа срабатывает и тянет за собой метод 16го.
Не понимаю, как такое возможно.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
С таким не сталкивался. Может попробовать перевыбрать методы, очистить код и опять прописать код методов. Ну не знаю, даже. Выключить и включить Мажордомо. Трижды плюнуть через левое плечо, наконец...
Странно все это, в общем.
Странно все это, в общем.
- barsmaster
- Сообщения: 60
- Зарегистрирован: Пн апр 03, 2017 12:21 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
Круг сужается.
Обнаружил следующую проблему.
во вкладке данные, в поле Текущее значение, не обнуляется значение после срабатывания датчика.
тоесть было Текущее значение =0, датчик сработал и Текущее значение остается висеть 1, хотя если зайти на саму мегу, то текущее состояние порта пишет OFF.
Если нажать кнопку обновить - скидывает в ноль. пока не нажмешь, держит 1.
Обнаружил следующую проблему.
во вкладке данные, в поле Текущее значение, не обнуляется значение после срабатывания датчика.
тоесть было Текущее значение =0, датчик сработал и Текущее значение остается висеть 1, хотя если зайти на саму мегу, то текущее состояние порта пишет OFF.
Если нажать кнопку обновить - скидывает в ноль. пока не нажмешь, держит 1.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Думаю, такое поведение является нормальным. И у меня на вкладке "данные" информация о состоянии входа обновляется только после перезагрузки страницы (F5).
- barsmaster
- Сообщения: 60
- Зарегистрирован: Пн апр 03, 2017 12:21 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.
Есть подозрение что мега отправляет бред.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Способ точно есть. Сам никогда не пользовался. Не нужно было. Первое, что пришло в голову - Wireshark (программа для анализа сетевого трафика).
Ну или пусть сообщество подскажет какой-нибудь другой способ.
Ну или пусть сообщество подскажет какой-нибудь другой способ.
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Модуль "MegaD"
Если задача на стороне сервера отслеживать, то можно в начало файла megad.php добавитьbarsmaster писал(а):можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.
Код: Выделить всё
DebMes("MegaD obj request: ".$_SERVER['REQUEST_URI']);
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- barsmaster
- Сообщения: 60
- Зарегистрирован: Пн апр 03, 2017 12:21 pm
- Откуда: Киев
- Благодарил (а): 10 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
слишком много всего приходит наоборот, физически срабатывает один вход, MD ловит срабатывания сразу нескольких.skysilver писал(а):Если задача на стороне сервера отслеживать, то можно в начало файла megad.php добавитьbarsmaster писал(а):можно как-то просмотреть данные которые летят из меги в MD?
Есть подозрение что мега отправляет бред.и смотреть в x-ray. А если затык в сети и до сервера ничего не доходить, то тогда надо снифить пакеты wireshark-ом.Код: Выделить всё
DebMes("MegaD obj request: ".$_SERVER['REQUEST_URI']);