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

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Jeugenius
Сообщения: 18
Зарегистрирован: Пн мар 27, 2017 6:39 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Jeugenius » Пт июл 07, 2017 10:43 pm

Chainik писал(а):
Jeugenius писал(а):Последовал вашему совету. Действительно при выставлении в статусе 70, скрипт перезаписал через несколько секунд на, вроде бы актуальное значение. Но при при вкл/откл теплых полов, с Меги пришли значения с разницей в несколько градусов. Я так понимаю проблема в связке Меги и сервера MDM? Или в связке датчика и порта?
Я могу только предположить, что значение температуры, которое приходит с датчика в момент нового включения Меги по питанию является не совсем корректным. Может быть питание датчика в этот момент нестабильно, что отражается на качестве измерения температуры.
А связка "железо" + софт, похоже, работает так, как надо.
Попробую еще не использовать существующие, а создать с нуля классы и объекты сенсоров, может поможет.
ferenir
Сообщения: 18
Зарегистрирован: Сб июн 03, 2017 4:57 am
Откуда: Красноярск
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение ferenir » Сб июл 08, 2017 6:20 am

Jeugenius писал(а): Попробую еще не использовать существующие, а создать с нуля классы и объекты сенсоров, может поможет.
Инерционность теплых полов, в зависимости от стяжки и подложки, может достигать суток. А вы грешите на железки и софт. Поставьте экспериментальный датчик возле плиты и грейте ее. Сразу все увидите.
In vino veritas...
_________________
http://connect.smartliving.ru/profile/1533
Jeugenius
Сообщения: 18
Зарегистрирован: Пн мар 27, 2017 6:39 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Jeugenius » Сб июл 08, 2017 7:22 am

ferenir писал(а):
Jeugenius писал(а): Попробую еще не использовать существующие, а создать с нуля классы и объекты сенсоров, может поможет.
Инерционность теплых полов, в зависимости от стяжки и подложки, может достигать суток. А вы грешите на железки и софт. Поставьте экспериментальный датчик возле плиты и грейте ее. Сразу все увидите.
Тут дело не в инерционности. Сегодня с утра на информере и в свойстве осталась вчерашняя температура.Изображение

Отправлено с моего MI 5 через Tapatalk
majkl84
Сообщения: 11
Зарегистрирован: Пт июн 30, 2017 9:11 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль

Сообщение majkl84 » Сб июл 08, 2017 9:33 am

Jeugenius писал(а):
СпойлерПоказать
Jeugenius писал(а):
ferenir писал(а): Попробую еще не использовать существующие, а создать с нуля классы и объекты сенсоров, может поможет.
Инерционность теплых полов, в зависимости от стяжки и подложки, может достигать суток. А вы грешите на железки и софт. Поставьте экспериментальный датчик возле плиты и грейте ее. Сразу все увидите.
Тут дело не в инерционности. Сегодня с утра на информере и в свойстве осталась вчерашняя температура.Изображение

Отправлено с моего MI 5 через Tapatalk

Не давно я подключал не сколько датчиков на один интерфейс и тоже значения были бредовые убрал привязку в MGM в устройствах и все стало ок.
Вложения
2560.png
2560.png (22.96 КБ) 9238 просмотров
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль

Сообщение Chainik » Сб июл 08, 2017 10:58 am

Jeugenius писал(а):Тут дело не в инерционности. Сегодня с утра на информере и в свойстве осталась вчерашняя температура.
Я все же думаю, что температура не вчерашняя. Добавьте в скрипт строчку

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

setGlobal('TempTP1.updatedTime', gg('ThisComputer.timeNow')); 
Тогда картина будет более ясной.
Jeugenius
Сообщения: 18
Зарегистрирован: Пн мар 27, 2017 6:39 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Jeugenius » Вс июл 09, 2017 11:55 am

Ну вот! Решил обновить прошивку MegaD-2561, через модуль MegaD, в итоге какое-то время сканировался под адресом 0.12.192.168 (без возможности изменить) , а сейчас вообще не определяется. Линк есть. Можно ли как-то физически сделать сброс? Или все, приехали? Кнопка Erase EPROM не помогает.
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Вс июл 09, 2017 4:38 pm

Где-то надо вывешивать лозунг: ТОВАРИЩИ! НЕ ПЫТАЙТЕСЬ ПЕРЕПРОШИВАТЬ МЕГУ С ПОМОЩЬЮ МОДУЛЯ MEGAD!
Попробуйте перепрошить в ручном режиме (http://ab-log.ru/smart-house/ethernet/m ... re-upgrade). Правда, я (очень давно) тоже пробовал вручную обновлять прошивку, у меня не получилось, но я не очень то и стремился разобраться с вопросом.
Рекомендую ознакомиться с комментариями к статье. Там народ говорит о своих проблемах с перепрошивкой и делится успешными алгоритмами действий. Почитайте.
Сам читал, что для успеха Мега должна пинговаться и файл megad-cfg.php надо положить в корень системного диска.
Jeugenius
Сообщения: 18
Зарегистрирован: Пн мар 27, 2017 6:39 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Jeugenius » Вс июл 09, 2017 5:16 pm

Chainik писал(а):Где-то надо вывешивать лозунг: ТОВАРИЩИ! НЕ ПЫТАЙТЕСЬ ПЕРЕПРОШИВАТЬ МЕГУ С ПОМОЩЬЮ МОДУЛЯ MEGAD!
Попробуйте перепрошить в ручном режиме (http://ab-log.ru/smart-house/ethernet/m ... re-upgrade). Правда, я (очень давно) тоже пробовал вручную обновлять прошивку, у меня не получилось, но я не очень то и стремился разобраться с вопросом.
Рекомендую ознакомиться с комментариями к статье. Там народ говорит о своих проблемах с перепрошивкой и делится успешными алгоритмами действий. Почитайте.
Сам читал, что для успеха Мега должна пинговаться и файл megad-cfg.php надо положить в корень системного диска.
Да да благодарю. Получилось перешить с Raspberry в режиме восстановления. Все восстановилось!

Отправлено с моего MI 5 через Tapatalk
koshnv
Сообщения: 18
Зарегистрирован: Пт июн 30, 2017 9:43 pm
Откуда: Златоуст
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль

Сообщение koshnv » Пн июл 10, 2017 2:03 pm

majkl84 писал(а): Не давно я подключал не сколько датчиков на один интерфейс и тоже значения были бредовые убрал привязку в MGM в устройствах и все стало ок.
Не много не понял, вы без дописывания своих скриптов получали значения температурных датчиков на одной шине с меги?

Я пропустил весь разговор про подключение датчиков температуры на один канал меги, с настройкой 1wbus, но хотел бы высказаться и послушать замечания.
В общем, у меня все заработало:
1) Создан Класс "шина №1" и у него свойства по количеству датчиков. У класса один объект "Датчики_шины1" с наследуемыми свойствами класса которые обновляются через метод, в котором разбирается ответ:

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

$listTemps = file_get_contents("http://192.168.1.10/***/?pt=31&cmd=list"); 
Шин планируется 3.
2) Далее есть скрипт с циклом на две минуты с 20 сек. слипами между перезапусками метода.
3) В кроне идет его перезапуск каждые 2 минуты.
Информеры на сцене меняются, графики рисуются. Пока все сложно метод + сценарий + крон, но мне так проще отследить косяки и расширять функционал в начале настройки.

Замечания:
1) Мега опрашивает шину раз в 30сек. Если происходит совпадение запроса с опросом шины, то прилетает как раз ответ «Busy».
Вывод тут такой, 30 секундная инерция с обновлением показаний может быть критична в контроле системы отопления, надо будет дополнительно это обдумать.
И если критично? опрашивать шину принудительно - «http://192.168.0.14/sec/?pt=32&cmd=conv».
2) Я считаю не стоит перегружать метод «onNewMinute» своими задачами, из названия понятно? что метод должен выполняться за минуту и не более.
Идеально было бы запуск в отдельном потоке через: runScriptSafe($id,$data);, но у меня вис скрипт «onNewMinute» хоть и с именем сценария, хоть с id сценария.
Что не так:

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

runScriptSafe(23); 
,

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

runScriptSafe("tempSensors"); 
По опросу мегой датчиков DS18B20 висящих по одному на порту с настройкой 1w:
1) Они будут менять значения если в настройках меги стоит галочка на «srv-loop».
2) Не смог найти пока информации как часто мега отправляет состояния портов, но по изменению информера выходит примерно 1 раз в минуту.

Получается в случае если скорость обновления должна быть меньше минуты:
1) Менять в прошивке меги времени отправки состояния портов.
2) В модуле MegaD создавать методы по опросу портов меги.
3) Создавать сценарий и вешать его в крон. (Подскажите строку запроса по которой можно узнать показания термодатчика с меги).
yantarik
Сообщения: 10
Зарегистрирован: Пн окт 06, 2014 1:31 pm
Благодарил (а): 10 раз
Поблагодарили: 8 раз

Re: Модуль "MegaD"

Сообщение yantarik » Пн июл 10, 2017 2:57 pm

Добрый день! Подскажите пожалуйста в чем может быть проблема. Есть кнопка на меге, прописано action 5:4;6:4 но модуль отказывается выполнять второе действие, выполняет только 5:4. В чем может быть проблема? Заранее спасибо. п.с когда отключаю мегу от сервера все выполняется
Ответить