Страница 1 из 3

разложить веб переменую

Добавлено: Вс дек 13, 2015 5:25 pm
avgaz
Здравствуйте, в сети есть страничка к примеру тут http://192.168.0.55/stats.html которая отдает данные в таком виде 90.50,78.00,44.00,51.50,83.50,-1.00,245.25,nan,1,0,1.10
Подскажите как её разложить в переменные что бы данные после каждой "," можно было выводит на схему?

Re: разложить веб переменую

Добавлено: Вс дек 13, 2015 11:17 pm
savenko_egor
Вам поможет функция explode.

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:01 am
avgaz
как разобрать строку с помощью php я знаю например так

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

$bufft = file_get_contents('http://192.168.0.55');
$exp = explode(",", $bufft);
$data0 = substr($exp[0], 0, 5);// котел
$data1 = substr($exp[1], 0, 5);// подача в котел
$data2 = substr($exp[2], 0, 5);// 
$data3 = substr($exp[3], 0, 5); //подача в дом
$data4 = substr($exp[4], 0, 5); // ТА
$data5 = substr($exp[5], 0, 5); // Улица
$data6 = substr($exp[6], 0, 5); // термопара1
$data7 = substr($exp[7], 0, 5); // термопара2
$data8 = substr($exp[8], 0, 5); // значение реле вкл 0 выкл 1
$data9 = substr($exp[9], 0, 5); // значение реле дома вкл 0 выкл 1
$data10 = substr($exp[10], 0, 5); // давление 
Я не могу понять как к примеру переменные из php вывести на сцену?

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:02 am
savenko_egor
echo $data0;

Или в своём скрипте указываете так: "setGlobal("Object.Property",$value); -- установка значения свойства объекта" и потом выводите где Вам нужно значение Object.Property.

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:06 am
avgaz
А куда мне этот php вставлять? если не сложно можно пример как это делается

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:08 am
savenko_egor
Можете создать сценарий и вызывать его когда Вам удобно и как Вам удобно. Сценарии

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:25 am
avgaz
Пробую так, создаю сценарий например под название kotelnay вставляю туда php этот

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

$bufft = file_get_contents('http://192.168.0.55/stats.html');
$exp = explode(",", $bufft);
$data0 = substr($exp[0], 0, 5);// котел
$data1 = substr($exp[1], 0, 5);// подача в котел
$data2 = substr($exp[2], 0, 5);// 
$data3 = substr($exp[3], 0, 5); //подача в дом
$data4 = substr($exp[4], 0, 5); // ТА
$data5 = substr($exp[5], 0, 5); // Улица
$data6 = substr($exp[6], 0, 5); // термопара1
$data7 = substr($exp[7], 0, 5); // термопара2
$data8 = substr($exp[8], 0, 5); // значение реле вкл 0 выкл 1
$data9 = substr($exp[9], 0, 5); // значение реле дома вкл 0 выкл 1
$data10 = substr($exp[10], 0, 5); // давление

setGlobal("Object.Property",$data5); 
Далее прописываю в "Объектах" класс "Timer", объект "ClockChime", в нем метод "onNewMinute" в конец приписываю RunScript('kotelnay'); что бы запускать раз в минуту.
После на сцене создаю информер с содержимым %Object.Property% в результате получаю просто 0

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:29 am
savenko_egor
"0" в смысле значение "0" или ничего не получаете?
Если значение "0", значит сделайте отладку скрипта. например так:

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

$bufft = file_get_contents('http://192.168.0.55/stats.html');
$exp = explode(",", $bufft);
$data0 = substr($exp[0], 0, 5);// котел
$data1 = substr($exp[1], 0, 5);// подача в котел
$data2 = substr($exp[2], 0, 5);// 
$data3 = substr($exp[3], 0, 5); //подача в дом
$data4 = substr($exp[4], 0, 5); // ТА
$data5 = substr($exp[5], 0, 5); // Улица
$data6 = substr($exp[6], 0, 5); // термопара1
$data7 = substr($exp[7], 0, 5); // термопара2
$data8 = substr($exp[8], 0, 5); // значение реле вкл 0 выкл 1
$data9 = substr($exp[9], 0, 5); // значение реле дома вкл 0 выкл 1
$data10 = substr($exp[10], 0, 5); // давление

say($data5);
Ну и смотрите что в чате будет, ну или что Алиса скажет, если звук настроен.

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:35 am
avgaz
В чате Алиса нормальные данные пишет, а вот на сцене 0 показывает, даже если на сцену выводит тип html с кодом %Object.Property% то 0 показывает все равно((

Re: разложить веб переменую

Добавлено: Пн дек 14, 2015 1:37 am
savenko_egor
Проверяйте, значит что-то не так указали.