Страница 3 из 6
Re: Веб-переменные
Добавлено: Чт янв 31, 2013 2:53 pm
anemcov
Shaiden писал(а):В общем понял, что не работает cycle.php. Обновил значение через кнопку "Обновить все" в меню Веб переменных и значение подтянулось. Сижу думаю что не так со скриптом... ошибок вроде не выдает крутит и крутит себе, а значений нету.
а в файле
строчки закомментировали?
Код: Выделить всё
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 500);
//curl_setopt($ch, CURLOPT_TIMEOUT, 1);
//curl_setopt($ch, CURLOPT_TIMEOUT_MS, 500);
без этого, во-первых, метод onNewMinute не работает. Может и еще что паровозом тянется
Re: Веб-переменные
Добавлено: Пт фев 01, 2013 7:00 am
Shaiden
Попробовал закомментировать строчки - ничего не изменилось. Запустил отдельно cycle_webvars.php. Первый раз цикл написал в терминал что-то вроде "checking webvar
http://pogoda.yandex.ru/tyumen/ ". После этого значение подтянулось с сайта, а затем все. Даже уже город поменял, чтоб значение на сайте другое было (мало ли он сверяет перед обновлением). Цикл перезапускал и так и сяк и ничего не меняется. Не пойму где проблема. В первый же раз значение подтянулось, а значит механизм отработал полностью, а потом куда-то уперся. Цикл работает, исправно пишет в терминал "09:43:16 running cycle_webvars.php" и так каждую секунду по строчке. В логе в debmes тоже пишется, а значений нет...
Re: Веб-переменные
Добавлено: Пт фев 01, 2013 12:11 pm
sergejey
Shaiden писал(а):Попробовал закомментировать строчки - ничего не изменилось. Запустил отдельно cycle_webvars.php. Первый раз цикл написал в терминал что-то вроде "checking webvar
http://pogoda.yandex.ru/tyumen/ ". После этого значение подтянулось с сайта, а затем все. Даже уже город поменял, чтоб значение на сайте другое было (мало ли он сверяет перед обновлением). Цикл перезапускал и так и сяк и ничего не меняется. Не пойму где проблема. В первый же раз значение подтянулось, а значит механизм отработал полностью, а потом куда-то уперся. Цикл работает, исправно пишет в терминал "09:43:16 running cycle_webvars.php" и так каждую секунду по строчке. В логе в debmes тоже пишется, а значений нет...
Если цикл работает, то может просто период обновления переменной слишком большой выставлен? Попробуй поставить обновление каждые 10 секунд и понаблюдать будет ли появляться checking webvar.
Re: Веб-переменные
Добавлено: Сб фев 02, 2013 2:13 pm
Shaiden
Вчера синхронизировал время еще раз, скорей всего в нём нестыковка была. Дело в том, что Raspberry Pi не имеет часов реального времени и каждый раз при включении тащит время из интернета. При первоначальной настройке указал все верно, а потом почему-то сбилось, а я внимания не обратил. Сразу после установки времени ничего не заработало, я погасил сервер (физически вырубил машину) и лег спать. Сегодня включил и попробовал еще раз, к моему удивлению все отработало на пятерочку

Даже стыдно стало за такую мою досадную оплошность.
Выложу хоть скриншот, которого я добивался 3 дня:
Всем спасибо за содействие и помощь, начало положено , буду глубже копать

Re: Веб-переменные
Добавлено: Пт фев 15, 2013 10:14 pm
Anton_kulibin
Есть датчик температуры подключенный к arduino, температуру доставать я умею, проблема в том что когда изменяется свойство temp, не обновляются свойства updatedTime, и все другие, а очень бы хотелось
Re: Веб-переменные
Добавлено: Сб фев 16, 2013 11:10 am
sergejey
Anton_kulibin писал(а):Есть датчик температуры подключенный к arduino, температуру доставать я умею, проблема в том что когда изменяется свойство temp, не обновляются свойства updatedTime, и все другие, а очень бы хотелось
Если это делается через веб-переменные, то нужно кроме связанного свойства ещё добавить код такого плана в поле "действия при изменении":
(вместо myObject нужный объект)
я смотрю что часто возникает необхоимость вызывать какое-то действие при изменении свойства объекта. вот думаю, может сделать так, что б можно было задавать действие, которое всегда производится, когда что-то меняет свойство объекта.
Re: Веб-переменные
Добавлено: Сб фев 16, 2013 2:25 pm
Anton_kulibin
sergejey писал(а):Anton_kulibin писал(а):Есть датчик температуры подключенный к arduino, температуру доставать я умею, проблема в том что когда изменяется свойство temp, не обновляются свойства updatedTime, и все другие, а очень бы хотелось
Если это делается через веб-переменные, то нужно кроме связанного свойства ещё добавить код такого плана в поле "действия при изменении":
(вместо myObject нужный объект)
я смотрю что часто возникает необхоимость вызывать какое-то действие при изменении свойства объекта. вот думаю, может сделать так, что б можно было задавать действие, которое всегда производится, когда что-то меняет свойство объекта.
Спасибо. Да есть такая необходимость, думаю не плохо будет если сделаешь. Просто сравнивать предыдущее значение с текущим тоже вызывает проблемы, а тут можно будет на прямую задавать события.
Re: Веб-переменные
Добавлено: Пн фев 18, 2013 8:14 pm
Anton_kulibin
Добавил код callMethod('myObject.tempChanged');
заметил закономерность, свойство объекта стало обнуляться с определенной периодичностью, как только вызов метода при изменении убираю так свойство перестает обнуляться, но соответственно не обновляется updatetime.
Re: Веб-переменные
Добавлено: Пн фев 18, 2013 10:00 pm
Panchez
Anton_kulibin писал(а):Добавил код callMethod('myObject.tempChanged');
заметил закономерность, свойство объекта стало обнуляться с определенной периодичностью, как только вызов метода при изменении убираю так свойство перестает обнуляться, но соответственно не обновляется updatetime.
У меня тоже не заработал вызов метода, свойство всегда было 0. Сделал иначе:
У меня термометр на 1-Wire, и при изменении значения вызывается такой код
if ($params['temperature']) {
callMethod('SensorZal.tempChanged',array('t'=>$params['temperature']['VALUE']));
}
Как это сделать с ардуиной, не знаю.
тема:
http://smartliving.ru/forum/viewtopic.p ... =333#p3041
Re: Веб-переменные
Добавлено: Вт фев 19, 2013 10:00 am
Anton_kulibin
C 1-wire все понятно, у меня работает, еще есть датчик на удаленном хосте на ардуине, во с ним и происходят танцы с бубном. Конечно отсутствие updatetime не критично, но все же всего удовольствия от системы не получается, тем более планируется на шину 1-wire подключенной к ардуино еще вешать порядка 5 датчико
Покудесничал и пришел к такому коду который выполняется при изменении веб переменной,
Код: Выделить всё
$old_temp=gg('sensorKonturOut.temp');
if ($value>$old_temp) {
$d=1;
} elseif ($value<$old_temp) {
$d=-1;
} else {
$d=0;
}
sg("sensorKonturOut.direction",$d);
sg("sensorKonturOut.updated",time());
sg("sensorKonturOut.updatedTime",date("H:i",time()));
Да он аналогичный что и в tempChanged, но по крайней мере при нем у меня значение temp не обнуляется.