Создал сценарий "opros" и закинул в него скрипт:
Код: Выделить всё
//Задаем массив датчиков: [матка => [номер свойства, доступность, показание]]
$tempSensors = [
"ff8a6d801402" => [1, false, -1],
"ffd565801402" => [2, false, -1],
// "ff2790c00000" => [3, false, -1],
];
//не зарегистрированный датчики на шине
$notRegSensors = "";
//Получаем строку с меги и делим ее по датчикам в массив
//$listTemps = "ff2790c11604:24.18;fff7b0b31603:23.81";
$listTemps = file_get_contents("http://192.168.1.50/sec/?pt=30&cmd=list");
$temps = explode( ';', $listTemps);
print_r ($temps);
//Сравнивая метки пишем показания, меняя доступность
foreach($temps as $temp){
$temp = explode( ':', $temp);
if(array_key_exists($temp[0], $tempSensors)){
$tempSensors[$temp[0]][1] = true;
$tempSensors[$temp[0]][2] = $temp[1];
}else{//пишем не найденные датчики в свойство
$notRegSensors = $notRegSensors."$temp[0]; ";
}
}
//обновляем свойства
foreach($tempSensors as $key => $sensor){
$this->setProperty($sensor[0], $sensor[2]);
}
$this->setProperty("notRegSensors", $notRegSensors);