Плагин MegaD
-
@gis:
Alex_Jet, Какая у Вас прошивка MegaD? У меня модули DHT22 во всех комнатах стабильно работали с ESP8266 (провода до 10 метров), но после перехода на MegaD стали бессистемно подвисать. Предполагаю, что в MegaD плохо организована работа с DHT22.
У меня сейчас на всех MegaD-2561 fw: 4.31b7. По DHT22 разработчик действительно подтверждает проблему работы с ним - "лучше было бы выпилить его поддержку из прошивки". Но опять же - мою проблему Андрей воспроизвести не смог. Хотя логи я ему присылал и видно было что зависает контроллер именно на опросе DHT22, однако он стал это делать только после подключения 1-wire (2 DS18B20 на шине) и двух DS18B20 в режиме термостата.
-
У меня сейчас на всех MegaD-2561 fw: 4.31b7. По DHT22 разработчик действительно подтверждает проблему работы с ним - "лучше было бы выпилить его поддержку из прошивки". Но опять же - мою проблему Андрей воспроизвести не смог. Хотя логи я ему присылал и видно было что зависает контроллер именно на опросе DHT22, однако он стал это делать только после подключения 1-wire (2 DS18B20 на шине) и двух DS18B20 в режиме термостата.
Вы свою схему тут рисовали
https://www.ab-log.ru/forum/viewtopic.php?f=1&t=1195&p=34390#p34378
Вы на каждый датчик длинной линией свою землю подаете. Это путь к проблеме "земляная петля". И проявления, которые вы описываете так же похожи не нее же. Она не решается программным способом.
Если в каждой раздаточной коробке все "земли" объединить в одну точку, то получится похоже на "земляную шину". Что снимет проблему. А если по счастливой случайности через все раздаточные коробки проходит неиспользуемая жила потолще - и ее нужно добавить в "шину".
-
Вы свою схему тут рисовали
https://www.ab-log.ru/forum/viewtopic.php?f=1&t=1195&p=34390#p34378
Эта проблема исчезла ровно в тот момент, когда я отключил DHT22 от контроллера. С тех пор работает как часы с большим аптайм. Как может быть с ним связана земляная петля, которая может наводится в витой паре? Вообще топология звезда - самая "безопасная", имея опыт с аудиотрактами я ее и использовал тут. В моей схеме минус нигде не возвращается обратно на MegaD. Update: хотя благодаря "свежему" взгляду сейчас обратил внимание, что все же возврат есть и его легко можно убрать, по крайней мере на стороне MegaD.
А вот на другом контроллере появилась проблема уже после предыдущего случая - когда я повесил на него 1-wire шину с 3-мя DS18B20.
-
с DHT22 связана не проблема, а проявление?
Соберите на столе схему, с тем же контроллером и тем же датчиком, без вашей системы проводов.
Если проблему повторить не сможете - она в проводах.
-
Соберите на столе схему, с тем же контроллером и тем же датчиком, без вашей системы проводов.
Если проблему повторить не сможете - она в проводах.
Появится свободное время - сделаю. Тем более свободные контроллеры есть.
-
1. По сути выяснено (вероятно тут сочетания датчиков I2C и 1-wire или DHT22 и 1-wire).
2. Я очень надеялся на этот параметр, когда просил Вас его реализовать. По умолчанию 200, я изменил на 300сек, но радость моя была не долгой - через ~5 суток снова перезагрузка. Изменил на 500сек, но благодаря сообщениям в Телеграм вижу, что через 2-5 дней все равно происходит перезагрузка.
Я бы предпочел писать лог не изменяя интервалы, поскольку контроллеры в работе и нельзя вредить их более менее стабильной работе…по крайней мере пока у нас зима.
Обратите внимание, интервал между запросами устанавливается в мсек. Если вы установили 500 сек (500000 мсек) - это 8 минут!! время огромное даже в мире MegaD - боюсь, дело не в софте ни с одной стороны. Какой такой запрос надо раз в 8 минут дать контроллеру, чтобы его повесить .
И в логе мы скорее всего ничего не увидим. Если только собирать статистику и будет наблюдаться какая-то регулярность, возможно дело в том, что подключено оборудование по разным протоколам, и (в порядке гипотезы, не специалист по MegaD) есть проблема на контроллере с высвобождением памяти. Если так, то уменьшение интервала должно вести к более частым перезагрузкам.
С другой стороны, существуют системы автоматизации, которые настоятельно рекомендуют перезагружать сервер со всеми потрохами ежедневно по ночам, чтобы обеспечить работу 24х7
А у вас - всего-то раз в 5 дней контроллер перезагрузился. Он же не вешается, watch dog работает, выхода восстанавливаются. Постфактум узнаете - ну да, перезагрузился. В чем проблема?
-
Обратите внимание, интервал между запросами устанавливается в мсек. Если вы установили 500 сек (500000 мсек) - это 8 минут!! время огромное даже в мире MegaD - боюсь, дело не в софте ни с одной стороны. Какой такой запрос надо раз в 8 минут дать контроллеру, чтобы его повесить .
И в логе мы скорее всего ничего не увидим. Если только собирать статистику и будет наблюдаться какая-то регулярность, возможно дело в том, что подключено оборудование по разным протоколам, и (в порядке гипотезы, не специалист по MegaD) есть проблема на контроллере с высвобождением памяти. Если так, то уменьшение интервала должно вести к более частым перезагрузкам.
С другой стороны, существуют системы автоматизации, которые настоятельно рекомендуют перезагружать сервер со всеми потрохами ежедневно по ночам, чтобы обеспечить работу 24х7
А у вас - всего-то раз в 5 дней контроллер перезагрузился. Он же не вешается, watch dog работает, выхода восстанавливаются. Постфактум узнаете - ну да, перезагрузился. В чем проблема?
Нет, конечно я установил 500мсек. Это была моя отчепятка:
В логе можно увидеть на чем спотыкается контроллер. Вообще основная проблема была в том, что все выходы контроллера сбрасывались при его перезагрузке, но вы сделали опцию, благодаря которой теперь все более менее нормально. Правда загрузчик MegaD висит 5 секунд после рестарта (нужно для восстановления контроллера при неудачной прошивке) и только потом загружает прошивку.Представьте себе как было раньше - газовый котел работает почти на 100%, а тут на тебе и больше подачи тепла не нужно, пока проходит порядка 1-5 минут (переопрос датчиков iH и усреднение по последней пятиминутке) он успевает остановится, если температура ниже уставки, то iH бац и снова включает только что вставший котел - не есть айс для него. А если температура выше нижней границы, но ниже верхней, то котел вообще не включается и дом снова остывает и, как итог, к заданному времени не прогревается как надо. Сейчас с опцией восстановления выходов котел даже не успевает остановится пока MegaD в течении 5 секунд перезагружается.
По моему опыту разработки контроллеров на базе AVR никаких зависаний вообще не должно быть! WD - это просто "костыль" на всякий случай! Если программа не обнуляет его счетчик, то он делает reset микроконтроллеру.
-
Нет, конечно я установил 500мсек. Это была моя отчепятка:
Понятно. Это уже другие времена.
В логе можно увидеть на чем спотыкается контроллер….. Сейчас с опцией восстановления выходов котел даже не успевает остановится пока MegaD в течении 5 секунд перезагружается.
То есть не фатально, об этом и речь. Версия системы с сохранением лога плагина в файлы будет вероятно к концу месяца.
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
Хорошо, спасибо, а как мне вынести значения датчиков температуры на экран IH если їх несколько, можно это засписать, думаю не только мне это интересно будет узнать?
-
Подскажите при паразитном подключении датчиков температуры ds18b20 как в интрахаус вывести значения температуры на мнемосхему? я так понимаю что надо установить путь в строке запроса состояния.
А причем тут подключение датчиков DS18B20 с паразитным питанием к MegaD и сам iH? Если MegaD в своем веб-интерфейсе отображает температуру, то и iH при соответствующем опросе будет получать от MegaD значение с датчика. Для настройки порта на MegaD в режиме DSen->1W надо делать запрос по умолчанию - /%pwd%/?pt=%adr%&cmd=get. Если настройки порта на MegaD в режиме DSen->1WB, то только на одном из каналов нужен запрос вида /%pwd%/?pt=%adr%&cmd=list
Хорошо, спасибо, а как мне вынести значения датчиков температуры на экран IH если їх несколько, можно это засписать, думаю не только мне это интересно будет узнать?
Нужно создать каналы для каждого датчика DS18B20 с указанием номера порта и id датчика
Например, если 2 датчика висят на 31 порту, и по запросу /%pwd%/?pt=31&cmd=list выдается:
8aad6a070000:32.43;85a56a070000:20.51
то создаются каналы: 31_8aad6a070000, 31_85a56a070000
При этом запрос (период опроса) нужно оставить только на одном из каналов.
А какой запрос делать - вам Alex_Jet объяснил
Документация по плагину MegaD: https://ih-systems.com/ru/product/plugin-megad/
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
Нужно написать сценарий:
если выключатель вкл, то включить лампочку
если выключатель выкл, то выключить лампочку
если выключатель кнопочный, то использовать toggle
-
Подскажите как в IH создать канал для выключателя, для примера выключатель на 1 канале, лампочка на 15 канале, пробую ничего не получается, помогите. хочу использовать IH без помощи megad.
Нужно написать сценарий:
если выключатель вкл, то включить лампочку
если выключатель выкл, то выключить лампочку
если выключатель кнопочный, то использовать toggle
а можно с принтскринами а то уже 3 день мучаюсь
-
а можно с принтскринами а то уже 3 день мучаюсь
А чего мучаться-то? Информации в инете уже полно. Не тут, так на других форумах. Надо учиться искать информацию, анализировать и пробовать. Вам надо в расширениях плагина MegaD прописать несколько строк для выключателей подключенных к соответствующим входам MegaD - там же установить каким выходом будете управлять и сообщать системе что будет меняться. Вот, например, тут я подобное делал: https://www.ab-log.ru/forum/viewtopic.php?f=1&t=652&start=280#p35032
Блин, ну реально вскипятили. Неужели трудно 20 страниц этой темы почитать??? Все есть! Вот еще мой пример: https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=140#p8737
Если уж из этого не понятно, то платите деньги специалистам, а сами заканчивайте с умным домом.
-
а можно с принтскринами а то уже 3 день мучаюсь
В документации по плагину MegaD https://ih-systems.com/ru/product/plugin-megad/ есть описание по сработке геркона:
В Вашем случае вместо геркона будет кнопка.Передать в ответ 15:2 - будет toggle
Установить состояние канала 15=TOGGLE
На самой меге:
1.Прописать адрес сервера intraHouse
2.Прописать имя скрипта такое же, как в запросе (например на скриншоте - megad)
3.Настроить порт 1 в режим P, чтобы он отправлял только при нажатии
-
Соберите на столе схему, с тем же контроллером и тем же датчиком, без вашей системы проводов.
Если проблему повторить не сможете - она в проводах.
Собрал схему, которая была реализована в реале когда контроллер перезагружался (был добавлен DHT22). Единственное - нет "земляной петли", которая есть на моей схеме, нет больших длин витухи до герметичных DS18B20 (подсоединены своими проводами) и нет доп. подтяжки (резисторы на 4,7кОм). Прошивка fw: 4.26b1, конфигурацию сделал вручную по образу и подобию рабочей MegaD.
Итог - сегодня контроллер перезагрузился, проработав около 8,5 дней… Поскольку лог не писал, то на каком месте споткнулся - вопрос. Надо обновить прошивку до последней и начать писать дамп или лог. Вероятно, Андрей не хочет ждать 8-10 дней чтобы воспроизвести ситуацию.
-
Еще бы лог с ИБП добавить, вдруг его скачек напряжения сбивает.
-
Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?