Код: Выделить всё
$s=getGlobal('Livingroom.Temperature');
У меня есть варианты, как можно получить желаемое. Причем стоит отметить, что на ряду со временем изменения свойства, нам скорее всего понадобится и его значение. И чтобы не долбить SQL повторными запросами, хотелось бы получить всё сразу.
Вариант, когда у нас есть имя объекта и имя свойства
Код: Выделить всё
$prop_id=getValueIdByName('Livingroom', 'Temperature');
$rec = SQLSelectOne("SELECT UNIX_TIMESTAMP(UPDATED) as UPDATED, VALUE FROM pvalues WHERE ID=".$prop_id);
echo 'VALUE = '.$rec['VALUE'].' UPDATED = '.$rec['UPDATED'];
Код: Выделить всё
$obj=getObject('KitchenArea');
$prop_id = $obj->getPropertyByName('Temperature', $obj->class_id, $obj->id);
$rec = SQLSelectOne('SELECT UNIX_TIMESTAMP(UPDATED) as UPDATED, VALUE FROM pvalues
WHERE PROPERTY_ID = ' . (int)$prop_id . ' AND OBJECT_ID = ' . (int)$obj->id);
echo 'VALUE = '.$rec['VALUE'].' UPDATED = '.$rec['UPDATED'];
Код: Выделить всё
$i=time()-$rec['UPDATED'];
Мой вариант функции можно посмотреть тут