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

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

Модератор: immortal

Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

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

Сообщение Chainik »

seregaural писал(а): Пн дек 24, 2018 11:09 am и еще вопрос остался. Я так понимаю иногда шина занята. В свойствах объекта в таком случае очищает поле. На графике это показывает как 0 С
Ну да, шина может быть занята конвертацией. В этом случае (как написано в инструкции) она возвращает "Busy". Т.е. надо в скрипте учесть и обработать такой ответ от нее.

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$Val = file_get_contents("http://192.168.0.14/sec/?pt=33&cmd=list");
if ($Val == "Busy") {
setTimeOut('myTimer_RepeatedRequest','runScript("Имя_вашего_(данного)_скрипта");',1);
return"";
}
$T1 = substr(strstr($Val, 'ff64e5511704:'), 13, 5);
//и т.д. ...
Сам, правда, не пробовал вешать датчики шиной и с описанным явлением не сталкивался. Но по идее, предложенный вариант должен помочь. При получении ответа "Busy" исполняемый скрипт перезапускает сам себя через секунду (а на конвертацию, вроде бы, уходит 0,85 сек.).
seregaural
Сообщения: 24
Зарегистрирован: Чт ноя 29, 2018 6:44 am

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

Сообщение seregaural »

всё равно возврщает пустые значения
seregaural
Сообщения: 24
Зарегистрирован: Чт ноя 29, 2018 6:44 am

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

Сообщение seregaural »

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$Val = file_get_contents("http://192.168.0.14/sec/?pt=33&cmd=list");
$T1 = substr(strstr($Val, 'ff64e5511704:'), 13, 5);
$T2 = substr(strstr($Val, 'ff6dc3521704:'), 13, 5);

if ($Val == "busy") {
setTimeOut('myTimer_RepeatedRequest','runScript("MegaD33DS18B20");',1);
return"";
}

Say("T1=".$T1);
Say("T2=".$T2);


sg('MegaD_33.t_kotel', $T1);
sg('MegaD_33.t_garage', $T2);
seregaural
Сообщения: 24
Зарегистрирован: Чт ноя 29, 2018 6:44 am

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

Сообщение seregaural »

решил так попробовать, посмотрим как пойдет

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$Val = file_get_contents("http://192.168.0.14/sec/?pt=33&cmd=list");
$T1 = substr(strstr($Val, 'ff64e5511704:'), 13, 5);
$T2 = substr(strstr($Val, 'ff6dc3521704:'), 13, 5);

if ($Val == "busy") {
 
}
else {
sg('MegaD_33.t_kotel', $T1);
sg('MegaD_33.t_garage', $T2);
}




Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

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

Сообщение Chainik »

Добавьте Say после проверки на busy. Т.е.

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

//..
if ($Val == "busy" or $Val == "Busy") {
Say($Val);
}
//...
В таком случае сможете понять, совпадает ли пустое значение с моментом возвращения Busy или появление пустых значений связано с чем-то другим.
seregaural
Сообщения: 24
Зарегистрирован: Чт ноя 29, 2018 6:44 am

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

Сообщение seregaural »

дело было в wifi мосте, ноутбук находился в квартире от которой прокинут километровая беспроводная линия. Подключил его проводом, все стало в норме.

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$Val = file_get_contents("http://192.168.0.14/sec/?pt=33&cmd=list");
$T1 = substr(strstr($Val, 'ff64e5511704:'), 13, 5);
$T2 = substr(strstr($Val, 'ff6dc3521704:'), 13, 5);

if ($Val == "busy") {
sg('MegaD_33.t_kotel', $70);
sg('MegaD_33.t_garage', $50);
} else {
sg('MegaD_33.t_kotel', $T1);
sg('MegaD_33.t_garage', $T2);
Say("T1=".$T1);
Say("T2=".$T2);
}
Странным остлось, что включил в код выдавать конкретные значения, когда busy. Так вот через wifi, все равно были пустые значения, а через провод, прописывались 70 и50, как и указано в коде. Дело во времени ожидания ответа? :?:
cheese
Сообщения: 8
Зарегистрирован: Чт окт 29, 2015 10:57 am
Откуда: Минск

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

Сообщение cheese »

Господа, есть проблема с которой не могу совладать больше года.
Если установить majordomo в каталог отличный от /var/www (к примеру в /var/www/abc), то не видит ни одну Мегу в сети. Даже если добавляешь вручную.
А если, ничего не меняя, перенести majordomo в каталог /var/www, то все в порядке.

Сетевые настройки одинаковые, majordomo работает отлично в любом каталоге.

Что может быть?

P.S. Устанавливаю в отдельный каталог, потому что на серваке должно крутиться несколько систем.
И данная проблема происходит с чистой установки линукса и majodomo. Использовались ubuntu 18.04 и Debian 9,1,2,3,4,5
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

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

Сообщение Chainik »

Т.к. в Линуксе я полный "0", то могу предположить, что дело в правах. Можно попробовать для теста дать всем пользователям все права на папку (в которой не видит).
cheese
Сообщения: 8
Зарегистрирован: Чт окт 29, 2015 10:57 am
Откуда: Минск

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

Сообщение cheese »

Изменение прав не имеет значения. Хоть 777 ставь. Никакой разницы.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

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

Сообщение Chainik »

Тогда, может быть, Апач не хочет запускать что-то, что находится вне папки www. Ну это так, домыслы.
Тут свое слово должны сказать те, кто разбирается во внутренностях системы и в Линуксе.
Ответить