Не отображается график погоды

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Не отображается график погоды

Сообщение immortal » Пн дек 09, 2013 1:10 pm

собственно в связи с этим вопрос:
вэб переменная, необходимо перед отправкой в Связанный объект.свойство обработать а потом отправить, как это сделать?
то есть как заменить "−" на "-", а потом отправить в свойство связанного объекта
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Не отображается график погоды

Сообщение ErmolenkoM » Пн дек 09, 2013 6:59 pm

вэб переменная, необходимо перед отправкой в Связанный объект.свойство обработать а потом отправить, как это сделать?
можно использовать переменную $value в скрипте веб-переменной, либо вызвать скрипт, а уже в нем читать входящий параметр value.
Соответственно после обработки minus можно записать значение уже в ручную. Возможно можно переприсвоить $value но это надо проверять.
aka msh555
Cubian на Cubietruck, Connect
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Не отображается график погоды

Сообщение immortal » Пн дек 09, 2013 7:26 pm

а как отправить результат в связанный объект.свойство из скрипта, или можно просто написать:
$value = replace ($value,"−","-");
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Не отображается график погоды

Сообщение ErmolenkoM » Пн дек 09, 2013 7:35 pm

immortal писал(а):а как отправить результат в связанный объект.свойство из скрипта,
отправить как обычно sg("связанный объект.ДРУГОЕ_свойство", $value); http://smartliving.ru/Main/ProgrammingFunctions

или можно просто написать:
$value = replace ($value,"−","-");
Не знаю, надо пробовать :roll:
aka msh555
Cubian на Cubietruck, Connect
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 402 раза
Контактная информация:

Re: Не отображается график погоды

Сообщение immortal » Пн дек 09, 2013 7:49 pm

скрипт

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

$value2 = str_replace ("−","-",$value);
sg("tempUlica1.temp", $value2);
не записывает значения в свойство tempUlica1.temp, что не так?
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Не отображается график погоды

Сообщение ErmolenkoM » Пн дек 09, 2013 7:51 pm

думаю скрипт запустится только когда значение температуры изменится
aka msh555
Cubian на Cubietruck, Connect
Palko
Сообщения: 59
Зарегистрирован: Вт авг 26, 2014 1:59 pm
Откуда: Новосибирск
Благодарил (а): 8 раз
Поблагодарили: 6 раз

Re: Не отображается график погоды

Сообщение Palko » Ср окт 22, 2014 6:40 pm

Хочу вернуться к вопросу по замене − в полученной через веб переменную температуре.
По изменению температуры вызывается сценарий, который через str_replace подменяет символ и запятую на точку.
запарсили "−2,4" в результате получили "-2.4" и графики работают... но сценарий берет данные с ThisComputer.TempOutside и потом туда же складывает. В итоге SQL хранит вот что:
2014-10-22 14:11:53: +0.5
2014-10-22 14:11:53: +0,5
2014-10-22 13:42:55: +0.3
2014-10-22 13:42:55: +0,3
2014-10-22 12:16:08: -0.6
2014-10-22 12:16:08: −0,6
2014-10-22 11:47:09: −0,8
2014-10-22 11:47:09: -0.8
2014-10-22 11:18:11: −1,1
2014-10-22 11:18:11: -1.1
2014-10-22 10:49:13: -1.3
2014-10-22 10:49:13: −1,3
2014-10-22 10:20:15: −1,4
2014-10-22 09:51:17: −1,4

вопрос - как получить данные и обработать до записи значения веб переменной в связанный объект?
туплю... не понимаю
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Не отображается график погоды

Сообщение dmw » Чт окт 23, 2014 12:14 pm

Palko писал(а):вопрос - как получить данные и обработать до записи значения веб переменной в связанный объект?
туплю... не понимаю
через методы, вот так: http://smartliving.ru/Main/ScMonitorHeating
В сценарии сохранять не через SetGlobal() а вызывая метод:
callMethod("ThisComputer.tempChanged",array("temp"=>$temp));
Palko
Сообщения: 59
Зарегистрирован: Вт авг 26, 2014 1:59 pm
Откуда: Новосибирск
Благодарил (а): 8 раз
Поблагодарили: 6 раз

Re: Не отображается график погоды

Сообщение Palko » Вс окт 26, 2014 7:11 pm

сделал немного по другому,
редактируем последнюю запись уличной температуры в SQL.
может корявенько и не оптимально) но как смог, долго разбирался.. работает.
СпойлерПоказать
$prop_id="121";
// такой ID у меня в SQL для history внешней температуры
$pvalue=SQLSelectOne("SELECT * FROM phistory WHERE VALUE_ID='".$prop_id."' ORDER BY ADDED DESC LIMIT 0 , 1");
$values = $pvalue[VALUE];
$values = str_replace(",",'.',$values);
$values = str_replace(" ","",$values);
$values = str_replace("−","-",$values);
$values = str_replace("+","",$values);
$pvalue[VALUE] = $values;
SQLUpdate('phistory', $pvalue);
SetTimeOut('TempToDigital','runScript("minus_out");',900);
// если температура не меняется, то скрипт не будет выполняться и в историю будут писаться не правленые значения. поэтому вызываем его сами с периодом меньше частоты опроса web переменных.
sc1.JPG
sc1.JPG (47.98 КБ) 7907 просмотров
sc.jpg
sc.jpg (58.53 КБ) 7907 просмотров
Ответить