Плагин MegaD
-
Вопрос по счетчикам в MegaD… вроде все сделал по инструкции, но значения счетчика не приходят, причем в логах значения показываются. Где может быть ошибка?
> > > 11.01 01:49:24.857 megad2: > > > 11.01 01:49:24.857 megad2: localhost => 10.255.255.60 HTTP GET /sec/?pt=17&cmd=get > > > 11.01 01:49:24.863 megad2: localhost <= 10.255.255.60 response: statusCode=200 contentType = text/html > > > 11.01 01:49:24.863 megad2: body: ON/300 > > > 11.01 01:49:24.863 IH: get [] > > > 11.01 01:49:24.864 IH: set {} > > >
И вопрос по сохранению значений: kernelchip хранит значение счетчиков в энергонезависимой памяти, а megad скидывает их при перезагрузке. Это решаемый вопрос? Как не потерять показания счетчика при отключении питания megad?
homa, а что вы сделали по инструкции? По вашему логу не видно, что от megad пришел get-запрос вида "/mod_megad.php?pt=7&cnt=9&mdid=", а видно, что вы опрашиваете контроллер средствами сервера, когда сам контроллер должен сообщать серверу о срабатывании контактов счетчика. Посмотрите мой лог двумя постами выше и какое "расширение" (звучит да действительно криво) надо прописать в плагине. Как раз описываю не верную работу плагина по "засчитыванию" показаний счетчика.
По поводу сброса показаний в MegaD после перезагрузки - зачем их хранить в энергонезависимой памяти когда всему голова сам сервер?
Добрый день! Опрос делаю средствами сервера, т.к. состояния почему-то сами не приходят, точнее не отображаются, хотя в логах я вижу показания датчиков и счетчиков. Согласен, что получать состояние при изменении значительно лучше, чем постоянный опрос. Расширение у Вас действительно написано не так как предлагается в инструкции. Сейчас я не у контроллера, не могу физически замкнуть контакты и попробовать, но мне кажется опрос средствами сервера тоже должен работать, а у меня там 0. Текущие (по инструкции) настройки на скринах.
По хранению показаний - на MegaD пока не пробовал как работает счетчик, но, например, если обнуляется счетчик в KernelChip, то он покажет 0 и в IH, если в MegaD реализовано сохранение текущего значения на сервере - то нужно срочно переходить с KernelChip на MegaD)))
Добрый день!
Опрашивать счетчик не надо, так как MegaD показания не хранит, нужно взять с нее только импульс при сработке. В данном случае показания хранит сервер IH.
Когда сервер отключен, импульсы, естественно, будут пропущены.
У вас все верно сделано кроме периода опроса.
Также нужно проверить - верно ли записано сообщение с контроллера - имя скрипта и настройка сработки - чтобы сообщение приходило 1 раз
Резюмируем Чтобы сделать импульсный счетчик на MegaD нужно:
1. Создать канал, например, 17 с типом Meter. Период опроса = 0
2. В блоке "Расширения" прописать сообщение контроллера, которое присылается при сработке входа
В поле "Установить значения каналов" прописать 17=CNT или 17=COUNT
В поле Вес импульса = коэффициент (по умолчанию 1)
В этом случае значение считается по формуле: предыдущее значение +1*коэффициент
-
homa, а что вы сделали по инструкции? По вашему логу не видно, что от megad пришел get-запрос вида "/mod_megad.php?pt=7&cnt=9&mdid=", а видно, что вы опрашиваете контроллер средствами сервера, когда сам контроллер должен сообщать серверу о срабатывании контактов счетчика. Посмотрите мой лог двумя постами выше и какое "расширение" (звучит да действительно криво) надо прописать в плагине. Как раз описываю не верную работу плагина по "засчитыванию" показаний счетчика.
По поводу сброса показаний в MegaD после перезагрузки - зачем их хранить в энергонезависимой памяти когда всему голова сам сервер?
Добрый день! Опрос делаю средствами сервера, т.к. состояния почему-то сами не приходят, точнее не отображаются, хотя в логах я вижу показания датчиков и счетчиков. Согласен, что получать состояние при изменении значительно лучше, чем постоянный опрос. Расширение у Вас действительно написано не так как предлагается в инструкции. Сейчас я не у контроллера, не могу физически замкнуть контакты и попробовать, но мне кажется опрос средствами сервера тоже должен работать, а у меня там 0. Текущие (по инструкции) настройки на скринах.
По хранению показаний - на MegaD пока не пробовал как работает счетчик, но, например, если обнуляется счетчик в KernelChip, то он покажет 0 и в IH, если в MegaD реализовано сохранение текущего значения на сервере - то нужно срочно переходить с KernelChip на MegaD)))
Добрый день!
Опрашивать счетчик не надо, так как MegaD показания не хранит, нужно взять с нее только импульс при сработке. В данном случае показания хранит сервер IH.
Когда сервер отключен, импульсы, естественно, будут пропущены.
У вас все верно сделано кроме периода опроса.
Также нужно проверить - верно ли записано сообщение с сервера - имя скрипта и настройка сработки - чтобы сообщение приходило 1 раз
Резюмируем Чтобы сделать импульсный счетчик на MegaD нужно:
1. Создать канал, например, 17 с типом Meter. Период опроса = 0
2. В блоке "Расширения" прописать сообщение контроллера, которое присылается при сработке входа
В поле "Установить значения каналов" прописать 17=CNT или 17=COUNT
В поле Вес импульса = коэффициент (по умолчанию 1)
В этом случае значение считается по формуле: предыдущее значение +1*коэффициент
Да вот весь вечер вчера пытался… период опроса пробовал ставить 0, результат тот же. После 17 смогу прислать логи с периодом опроса=0, но если сейчас выставить период опроса=0 на датчиках температуры и влажности, то показания обновляться не будут...
Попробовал 17=CNT, но физически нет возможность замкнуть контакты, при установки счетчика MegaD вручную командой http://10.255.255.60/sec/?pt=17&cnt=3 значение в IH не передалось. Может какая-то проблема в "слушающем" порту? Пробовал менять порт, результат тотже. Если подключиться на порт 8081 телнетом, то соединение сбрасывается после отправки одного любого символа. Это нормально?
-
Если всем устройствам поставить период опроса=0, то ничего не происходит, но если перезагрузить мегу в логах:
11.01 11:22:11.533 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?st=1 11.01 11:22:11.533 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.543 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=0&cnt=1 11.01 11:22:11.543 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.564 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=1&cnt=1 11.01 11:22:11.564 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.576 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=2&cnt=1 11.01 11:22:11.576 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.587 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=17&cnt=1 11.01 11:22:11.588 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.597 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=28&cnt=1 11.01 11:22:11.598 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:11.689 megad2: 11.01 11:22:11.690 megad2: localhost => 10.255.255.60 HTTP GET /sec/?cmd=all 11.01 11:22:11.983 megad2: localhost <= 10.255.255.60 response: statusCode=200 contentType = text/html 11.01 11:22:11.984 megad2: body: ON/1;ON/1;ON/1;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;OFF/0;OFF/0;ON/1;OFF/0;OFF/0;OFF/0;OFF/0;OFF;temp:26.87/press:739.78/hum:14.685;OFF;temp:22.94/hum:16.17;OFF;OFF;ON/1;ON;OFF;temp:26.30/hum:13.81;OFF;temp:22.84/hum:20.07;OFF;temp:23.10/hum:16.93;ON;ON 11.01 11:22:11.985 IH: get [{"id":"15","value":"0"},{"id":"16","value":"0"},{"id":"28","value":"1"},{"id":"23_1","value":"26.87"},{"id":"23_2","value":"739.78"},{"id":"23_3","value":"14.685"},{"id":"25_1","value":"22.94"},{"id":"25_2","value":"16.17"},{"id":"31_1","value":"26.3"},{"id":"31_2","value":"13.81"},{"id":"33_1","value":"22.84"},{"id":"33_2","value":"20.07"},{"id":"35_1","value":"23.1"},{"id":"35_2","value":"16.93"}] 11.01 11:22:11.985 IH: set {"SLEAKAGE2":{"dval":"0","err":0},"SLEAKAGE1":{"dval":"0","err":0},"UNIT_SENSOR3":{"dval":"1","err":0},"STEMP2":{"aval":"26.87","err":0},"SENSORA1":{"aval":"739.78","err":0},"SHUMIDITY1":{"aval":"14.685","err":0},"STEMP3":{"aval":"22.94","err":0},"SHUMIDITY2":{"aval":"16.17","err":0},"STEMP6":{"aval":"26.3","err":0},"SHUMIDITY5":{"aval":"13.81","err":0},"STEMP5":{"aval":"22.84","err":0},"SHUMIDITY4":{"aval":"20.07","err":0},"STEMP4":{"aval":"23.1","err":0},"SHUMIDITY3":{"aval":"16.93","err":0}} 11.01 11:22:12.535 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=28&m=2&cnt=1 11.01 11:22:12.536 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:12.547 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=0&m=2&cnt=1 11.01 11:22:12.547 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:12.559 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=1&m=2&cnt=1 11.01 11:22:12.559 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:12.570 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=2&m=2&cnt=1 11.01 11:22:12.570 megad2: 10.255.255.60 <= localhost:8081 11.01 11:22:12.581 megad2: 10.255.255.60 => localhost:8081 HTTP GET /?pt=17&m=2&cnt=1 11.01 11:22:12.581 megad2: 10.255.255.60 <= localhost:8081
После этого снова тишина. Ни один датчик не отправляет изменения состояния, счетчик в нуле не смотря на то, что вроде как пришло состояние "1" (сейчас контакт на нем замкнут, таким образом при перезагрузке в интерфейсе меги счетчик=1")
-
Если всем устройствам поставить период опроса=0, то ничего не происходит, но если перезагрузить мегу в логах:
После этого снова тишина. Ни один датчик не отправляет изменения состояния, счетчик в нуле не смотря на то, что вроде как пришло состояние "1" (сейчас контакт на нем замкнут, таким образом при перезагрузке в интерфейсе меги счетчик=1")
То есть со слушающим портом все нормально.
А что у вас в прописано в Script на Megad? mod_megad.php?
Это имя должно совпадать с началом запроса в Расширения
Оно у вас похоже пустое
-
Если всем устройствам поставить период опроса=0, то ничего не происходит, но если перезагрузить мегу в логах:
После этого снова тишина. Ни один датчик не отправляет изменения состояния, счетчик в нуле не смотря на то, что вроде как пришло состояние "1" (сейчас контакт на нем замкнут, таким образом при перезагрузке в интерфейсе меги счетчик=1")
То есть со слушающим портом все нормально.
А что у вас в прописано в Script на Megad? mod_megad.php?
Это имя должно совпадать с началом запроса в Расширения
Ничего не было прописано))) прописал, заработало. Спасибо. В инструкции нет об этом ничего, а инструкцию от меги видимо прочитал не внимательно. Действительно считает один импульс за два. Я так понял пока не решено?
-
Да вот весь вечер вчера пытался… период опроса пробовал ставить 0, результат тот же. После 17 смогу прислать логи с периодом опроса=0, но если сейчас выставить период опроса=0 на датчиках температуры и влажности, то показания обновляться не будут...
Попробовал 17=CNT, но физически нет возможность замкнуть контакты, при установки счетчика MegaD вручную командой http://10.255.255.60/sec/?pt=17&cnt=3 значение в IH не передалось. Может какая-то проблема в "слушающем" порту? Пробовал менять порт, результат тотже. Если подключиться на порт 8081 телнетом, то соединение сбрасывается после отправки одного любого символа. Это нормально?
Что-то вы как-то совсем не разобрались как работает сам MegaD и где какие настройки нужно сделать в плагине megad iH.
Датчики активные (1-wire, i2c, dht) нужно опрашивать сервером принудительно с каким-то периодом опроса! То есть в их каналах прописывать нужные вам периоды опроса. Для пассивных датчиков (СМК, ДИП, протечик, разные герконы и т.д. - датчики с "сухими контактами") нужно правильно настроить сам контроллер (первое - это настройка режима канала IN - P/R/P&R, второе - это название скрипта в сетевых настройках контроллера, который формально будет обрабатывать сообщения от контроллера на сервере). Если все сделано правильно, то в логе плагина вы должны увидеть строчку типа:
11.01 15:44:56.373 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&cnt=5366&mdid=
Если датчик замкнулся на время меньшее 1 сек и строчку:
11.01 15:44:57.368 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=2&cnt=5366&mdid=
Если датчик замкнулся на время большее 1 сек (об этом говорит m=2). Если канал датчика настроен еще и на размыкание, то должна прийти строчка вида (обратите внимание на m=1):
11.01 15:44:58.368 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=1&cnt=5366&mdid=
По вашим логам видно, что на контроллере не прописано имя скрипта в сетевых настройках. В моем же логе вы должны увидеть скрипт с именем "mod_megad.php". В остальном - следуйте инструкциям разработчиков, которые приведены выше.
-
Коллеги! Действительно, допилите плагин в части работы со счетчиком и удаленными контроллерами. Мои посты:
https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8469 и https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8491. А то почти уже отключил Berry, а тут нужный функционал не верно работает:(
-
Коллеги! Действительно, допилите плагин в части работы со счетчиком и удаленными контроллерами. Мои посты:
https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8469 и https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8491. А то почти уже отключил Berry, а тут нужный функционал не верно работает:(
Для себя пока заткну вопрос делением коэффициента на 2, но так себе решение
-
Коллеги! Действительно, допилите плагин в части работы со счетчиком и удаленными контроллерами. Мои посты:
https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8469 и https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8491. А то почти уже отключил Berry, а тут нужный функционал не верно работает:(
Не совсем понятно, разве нельзя настроить на MegaD, чтобы сообщение приходило однократно (по переднему или заднему фронту?)
Или можно для счетчиков прописать запрос по заднему фронту /mod_megad.php?pt=7&m=1 - и вопрос решен
По удаленным контроллерам - решим в ближайшее время
-
Коллеги! Действительно, допилите плагин в части работы со счетчиком и удаленными контроллерами. Мои посты:
https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8469 и https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8491. А то почти уже отключил Berry, а тут нужный функционал не верно работает:(
Не совсем понятно, разве нельзя настроить на MegaD, чтобы сообщение приходило однократно (по переднему или заднему фронту?)
Или можно для счетчиков прописать запрос по заднему фронту /mod_megad.php?pt=7&m=1 - и вопрос решен
По удаленным контроллерам - решим в ближайшее время
Чтобы однократно приходило по переднему фронту (настройка порта P - press) нельзя, а вот по заднему фронту (настройка порта R - release) - действительно можно. Но момент в том, что в Berry ведь все работало правильно!! Вот мой последний лог с Berry:
07.01.2019 22:35:19 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&cnt=116&mdid= 07.01.2019 22:35:19 MG4?7=CNT& 07.01.2019 22:35:19 192.168.11.24 <= localhost:11024 07.01.2019 22:35:20 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=2&cnt=116&mdid= 07.01.2019 22:35:20 MG4? 07.01.2019 22:35:20 192.168.11.24 <= localhost:11024 07.01.2019 22:35:45 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&cnt=117&mdid= 07.01.2019 22:35:45 MG4?7=CNT& 07.01.2019 22:35:45 192.168.11.24 <= localhost:11024 07.01.2019 22:35:46 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=2&cnt=117&mdid= 07.01.2019 22:35:46 MG4?
Просто получится что надо будет отслеживать именно "короткое" замыкание порта, а сервер будет срабатывать 2 раза.
-
Коллеги! Действительно, допилите плагин в части работы со счетчиком и удаленными контроллерами. Мои посты:
https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8469 и https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=100#p8491. А то почти уже отключил Berry, а тут нужный функционал не верно работает:(
Не совсем понятно, разве нельзя настроить на MegaD, чтобы сообщение приходило однократно (по переднему или заднему фронту?)
Или можно для счетчиков прописать запрос по заднему фронту /mod_megad.php?pt=7&m=1 - и вопрос решен
По удаленным контроллерам - решим в ближайшее время
Чтобы однократно приходило по переднему фронту (настройка порта P - press) нельзя, а вот по заднему фронту (настройка порта R - release) - действительно можно. Но момент в том, что в Berry ведь все работало правильно!! Вот мой последний лог с Berry:
> 07.01.2019 22:35:19 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&cnt=116&mdid= > 07.01.2019 22:35:19 MG4?7=CNT& > 07.01.2019 22:35:19 192.168.11.24 <= localhost:11024 > 07.01.2019 22:35:20 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=2&cnt=116&mdid= > 07.01.2019 22:35:20 MG4? > 07.01.2019 22:35:20 192.168.11.24 <= localhost:11024 > 07.01.2019 22:35:45 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&cnt=117&mdid= > 07.01.2019 22:35:45 MG4?7=CNT& > 07.01.2019 22:35:45 192.168.11.24 <= localhost:11024 > 07.01.2019 22:35:46 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?pt=7&m=2&cnt=117&mdid= > 07.01.2019 22:35:46 MG4? > >
Просто получится что надо будет отслеживать именно "короткое" замыкание порта, а сервер будет срабатывать 2 раза.
Покажите пожалуйста настройки входящих для Berry относительно pt=7
И почему по Release будет срабатывать 2 раза? Наоборот - Mega отправляет по Release - и никаких проблем. Или?
-
Покажите пожалуйста настройки входящих для Berry относительно pt=7
Вот все что было на контроллере и работало отлично!
@intrapro:И почему по Release будет срабатывать 2 раза? Наоборот - Mega отправляет по Release - и никаких проблем. Или?
Нет по R действительно будет срабатывать только один раз. Думаю, что даже если прописать pt=7&m=2, то поскольку мой геркон замыкается примерно на 2-3 секунды, то будет все работать. Но я говорил о будущем - понадобиться распознавать именно короткое нажатие (не click=1, а именно только pt=7), а такой возможности нет…да тем более в Berry же это было уже реализовано!
-
Вопрос - на сколько большой буфер у отладчика? Хочу выяснить - почему у меня время от времени перезагружается один из контроллеров, но поскольку лог плагина теперь не пишется, то придется запустить на 24-48 часов отладчик. Правда еще надо знать когда произошло событие st=1, чтобы "долистать" до нужного места.
-
Вопрос - на сколько большой буфер у отладчика? Хочу выяснить - почему у меня время от времени перезагружается один из контроллеров, но поскольку лог плагина теперь не пишется, то придется запустить на 24-48 часов отладчик. Правда еще надо знать когда произошло событие st=1, чтобы "долистать" до нужного места.
Буфер у отладчика несколько тысяч строк всего. Так что это не вариант. Планируем возобновить возможность записи лога плагина в файл.
-
Добрый день!
А кто-то уже брал такой https://ab-log.ru/smart-house/ethernet/megad-14-ior ? Не до конца описан, действительно ли там все порты можно настроить выходами и если да, то какими? Подать свое напряжение или 12вольт уже есть? Девайс крутой, если 14 портов можно разделить на входы\выходы самостоятельно без жесткой привязки.
-
По-моему это не та тема. Это надо обсуждать на ab-log. А вообще в статье все расписано - что вам не понятно?
-
Подскажите, пожалуйста, по диммируемым каналам в MegaD. Настроил как в описании плагина. Правильно ли я понял, что управление диммированием из мнемосхемы осуществляется из бокового меню устройства? При нажатии кнопки включить в этом меню уровень диммирования устанавливается в 1. При попытке ввести нужный уровень и нажать галочку - происходит отключение устройства, таким образом задать уровень диммирования из бокового меню устройства не получается. Может я что-то не до конца настроил? Нужно ли что-то прописывать в расширениях плагина MegaD для диммируемого канала?
-
@gis:
Правильно ли я понял, что управление диммированием из мнемосхемы осуществляется из бокового меню устройства?
Да, все верно. В новой версии 4.4.11 также добавлено управление RGB.
@gis:
Подскажите, пожалуйста, по диммируемым каналам в MegaD. Нужно ли что-то прописывать в расширениях плагина MegaD для диммируемого канала?
Работа с диммерами и RGB как каналами MegaD будет в новой версии плагина, которая будет опубликована в течение этой недели.
-
Отличная новость!
-
Странно, но факт. После обновления системы до 4.4.11 один из плагинов megad (v.1.1.9) просто остановился. Пришлось запускать вручную.