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

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

Модератор: immortal

Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Пн дек 24, 2018 11:29 am

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
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение seregaural » Чт дек 27, 2018 8:58 am

всё равно возврщает пустые значения
seregaural
Сообщения: 24
Зарегистрирован: Чт ноя 29, 2018 6:44 am
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение seregaural » Чт дек 27, 2018 12:48 pm

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$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
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение seregaural » Чт дек 27, 2018 1:49 pm

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

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

//Получаем список значений (адрес, пароль, порт, разумеется, ваши)
$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
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Чт дек 27, 2018 7:41 pm

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

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

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

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

Сообщение seregaural » Пт дек 28, 2018 6:27 am

дело было в 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
Откуда: Минск
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение cheese » Пт дек 28, 2018 11:04 am

Господа, есть проблема с которой не могу совладать больше года.
Если установить 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
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Пт дек 28, 2018 12:11 pm

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

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

Сообщение cheese » Пт дек 28, 2018 11:46 pm

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

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

Сообщение Chainik » Сб дек 29, 2018 2:25 pm

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