Страница 119 из 137

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 8:05 am
semkyskov
Подтверждаю, такие же проблемы как у ILGAS и likex2000. И далеко не с последнего обновления. По этой причине у меня все настроено через контроллер и я таким образом решаю ситуацию такой работы модуля MegaD МДМ. Получается, что в модуле, при установленном методе switch при получении внешней команды от кнопки меги и после ответа на нее, не корректно отрабатывается смена статуса и через короткое время все возвращается к состоянию установленному из интерфейса МДМ. Из интерфейса все работает отлично. Получается некое рассогласование в работе метода switch и свойством status.

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 11:44 am
Dmitry M
Посмотрел обмен между сервером и мегой Wiresharkом - ответ от сервера на срабатывание кнопки в мегу приходит кривой. Если добавить в megad.php ob_flush(); в предпоследнюю строку или закомментить последний flush(); , то все работает, я в php не силен, пусть знающие люди поправят. Система - win2008r2, мега 328, на линуксе не проверял.

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 12:00 pm
sergejey
Dmitry M писал(а):
Чт дек 12, 2019 11:44 am
Посмотрел обмен между сервером и мегой Wiresharkом - ответ от сервера на срабатывание кнопки в мегу приходит кривой. Если добавить в megad.php ob_flush(); в предпоследнюю строку или закомментить последний flush(); , то все работает, я в php не силен, пусть знающие люди поправят. Система - win2008r2, мега 328, на линуксе не проверял.
А не могли бы показать что именно сервер выдаёт?

Я убрал flush -- возможно, на каких-то конфигурациях эта конструкция выдавала ошибку. Попробуйте пожалуйста сейчас.

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

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 1:59 pm
Dmitry M
sergejey писал(а):
Чт дек 12, 2019 12:00 pm
А не могли бы показать что именно сервер выдаёт?

Я убрал flush -- возможно, на каких-то конфигурациях эта конструкция выдавала ошибку. Попробуйте пожалуйста сейчас.

Если у кого-то ещё не работает, то включите пожалуйста лог MegaD -- там будет обмен показан между контроллером и сервером. В частности, реакция сервера на запросы от контроллера. Для надёжности можно попробовать этот запрос продублировать в браузере и посмотреть, что сервер выдаст, потому что ошибки или предупреждения в лог не попадут.
5й пакет приходит какой-то странный, в нем начало ответа сервера, а в 6ом, который уже HTTP, приходит последний кусок ответа.
Обмен меги и сервера после обновления модуляПоказать
new1.jpg
new1.jpg (273.1 КБ) 1763 просмотра
вот так это выглядит, когда все ок
Обмен меги и сервера до обновленияПоказать
old1.jpg
old1.jpg (296.2 КБ) 1763 просмотра

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 3:45 pm
semkyskov
sergejey писал(а):
Чт дек 12, 2019 12:00 pm
Я убрал flush -- возможно, на каких-то конфигурациях эта конструкция выдавала ошибку. Попробуйте пожалуйста сейчас.

Если у кого-то ещё не работает, то включите пожалуйста лог MegaD -- там будет обмен показан между контроллером и сервером. В частности, реакция сервера на запросы от контроллера. Для надёжности можно попробовать этот запрос продублировать в браузере и посмотреть, что сервер выдаст, потому что ошибки или предупреждения в лог не попадут.
На Raspberry, базовый образ 3.41, насколько я могу судить, после обновления работает без изменений, как я описывал в предыдущем посте. Вот видео: https://drive.google.com/open?id=1ZCseF ... pTk6hQ6Oa8

Конфиг Меги:
Изображение
Конфиг модуля:
Изображение
Лог: Порт 6 кнопка, порт 11 реле.

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

21:32:40 0.77989000 Command response: Done
21:32:40 0.76918400 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:40 0.29971000 Command response: Done
21:32:40 0.28925100 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:40 0.22463500 Result:
21:32:40 0.12927200 Request: /megad.php?pt=6&click=1&cnt=38&mdid=aDLkt (192.168.1.15)
21:32:38 0.00624700 Request: /megad.php?pt=6&click=1&cnt=37&mdid=aDLkt (192.168.1.15)
21:32:38 0.26068100 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:38 0.09696400 Result:
21:32:38 0.27088400 Command response: Done
21:32:30 0.99035800 Command response: Done
21:32:30 0.97863900 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:30 0.88728000 Result:
21:32:30 0.77497400 Request: /megad.php?pt=6&click=1&cnt=36&mdid=aDLkt (192.168.1.15)
21:32:28 0.20077300 Command response: Done
21:32:28 0.18974700 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:18 0.15526700 Command response: Done
21:32:18 0.14234700 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:17 0.69820600 Result:
21:32:17 0.59579800 Request: /megad.php?pt=6&click=1&cnt=35&mdid=aDLkt (192.168.1.15)
21:32:15 0.12757200 Command response: Done
21:32:15 0.11700900 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:05 0.76820200 Command response: Done
21:32:05 0.75793800 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:05 0.58695000 Result:
21:32:05 0.47098400 Request: /megad.php?pt=6&click=1&cnt=34&mdid=aDLkt (192.168.1.15)
Dmitry M писал(а):
Чт дек 12, 2019 1:59 pm
5й пакет приходит какой-то странный, в нем начало ответа сервера, а в 6ом, который уже HTTP, приходит последний кусок ответа.
Обмен меги и сервера после обновления модуляПоказать
new1.jpg
вот так это выглядит, когда все ок
Обмен меги и сервера до обновленияПоказать
old1.jpg
В Вашем случае, ответная команда, по моему, вообще не приходит, только информация, что сервер доступен.

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 4:01 pm
Chainik
semkyskov писал(а):
Чт дек 12, 2019 3:45 pm
...
Конфиг модуля:
...
Попробуйте вместа ТИПа "IN" выставить ТИП "counter". Изменится что-нибудь в лучшую сторону? У меня при типе "IN" вообще ничего не работало (хотя я давно не обновлял модуль).
Ну и заодно, что написано в методе "switch"?

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 4:54 pm
sergejey
semkyskov писал(а):
Чт дек 12, 2019 3:45 pm

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

21:32:40 0.77989000 Command response: Done
21:32:40 0.76918400 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:40 0.29971000 Command response: Done
21:32:40 0.28925100 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:40 0.22463500 Result:
21:32:40 0.12927200 Request: /megad.php?pt=6&click=1&cnt=38&mdid=aDLkt (192.168.1.15)
21:32:38 0.00624700 Request: /megad.php?pt=6&click=1&cnt=37&mdid=aDLkt (192.168.1.15)
21:32:38 0.26068100 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:38 0.09696400 Result:
21:32:38 0.27088400 Command response: Done
21:32:30 0.99035800 Command response: Done
21:32:30 0.97863900 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:30 0.88728000 Result:
21:32:30 0.77497400 Request: /megad.php?pt=6&click=1&cnt=36&mdid=aDLkt (192.168.1.15)
21:32:28 0.20077300 Command response: Done
21:32:28 0.18974700 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:18 0.15526700 Command response: Done
21:32:18 0.14234700 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:17 0.69820600 Result:
21:32:17 0.59579800 Request: /megad.php?pt=6&click=1&cnt=35&mdid=aDLkt (192.168.1.15)
21:32:15 0.12757200 Command response: Done
21:32:15 0.11700900 Sending command: http://192.168.1.15/sec/?cmd=11:0
21:32:05 0.76820200 Command response: Done
21:32:05 0.75793800 Sending command: http://192.168.1.15/sec/?cmd=11:1
21:32:05 0.58695000 Result:
21:32:05 0.47098400 Request: /megad.php?pt=6&click=1&cnt=34&mdid=aDLkt (192.168.1.15)
Судя по логу получается так -- MegaD присылает событие, сервер вызывает метод Switch, вызов этого метода отправляет команду на Мегу для включения и через 10 секунд сервер снова отправляет команду на мегу, только уже для выключения. Последнее значит, что изменился статус связанного свойства на сервере, но вопрос кем. Я тут рекомендовал бы ещё посмотреть историю изменений связанного свойства -- там есть поле Source, из которого можно понять причину обновления. Т.е. надо найти что через 10 секунд выставляет свойство в ноль.

Re: [Модуль] MegaD (megad)

Добавлено: Чт дек 12, 2019 5:15 pm
Chainik
sergejey писал(а):
Чт дек 12, 2019 4:54 pm
...
Последнее значит, что изменился статус связанного свойства на сервере, но вопрос кем. Я тут рекомендовал бы ещё посмотреть историю изменений связанного свойства -- там есть поле Source, из которого можно понять причину обновления. Т.е. надо найти что через 10 секунд выставляет свойство в ноль.
sergejey, посмотрите на предыдущей странице likex2000 выкладывал историю изменения свойства status. Вот там написано, что свойство меняет
/ajax/megad.html?op=processCycle

Re: [Модуль] MegaD (megad)

Добавлено: Пт дек 13, 2019 8:38 am
semkyskov
sergejey писал(а):
Чт дек 12, 2019 4:54 pm
Судя по логу получается так -- MegaD присылает событие, сервер вызывает метод Switch, вызов этого метода отправляет команду на Мегу для включения и через 10 секунд сервер снова отправляет команду на мегу, только уже для выключения. Последнее значит, что изменился статус связанного свойства на сервере, но вопрос кем. Я тут рекомендовал бы ещё посмотреть историю изменений связанного свойства -- там есть поле Source, из которого можно понять причину обновления. Т.е. надо найти что через 10 секунд выставляет свойство в ноль.
Chainik, Вы правы, это /ajax/megad.html?op=processCycle.
История свойства к логу из прошлого поста:
СпойлерПоказать
Изображение
Кстати, я уже сталкивался с вмешательством этой "конструкции" в работу ПУ с импульсным счетчиком, вызывающей ложные срабатывания. От чего показания счетчика со временем начинают превышать реальные:
СпойлерПоказать
Изображение

Re: [Модуль] MegaD (megad)

Добавлено: Пт дек 13, 2019 10:14 pm
sergejey
Конструкция /ajax/megad.html?op=processCycle используется для периодического опроса, т.е. выходит так, что периодический опрос статуса портов мегад возвращает разные значения? А не могли бы вы ещё на лог изменений значения статуса наложить лог взаимодействия с megad за тот же период? Возможно мы тогда увидим, почему после включения мы через 10 секунд получаем запрос на выключение. Ну или если это однозначно воспроизводится и есть возможность предоставить доступ к системе, то я мог бы подключиться и посмотреть прямо у вас.