Задачу решил так(свойство Temp объекта YandexSamara - исторично):
При обновлении текущей температуры обновляется температура сутки назад:
Код: Выделить всё
// Запишем температуру вчерашнего дня для этого часа
$SQLText = " SELECT ph.value as val";
$SQLText.= " FROM pvalues pv, objects o, properties p, phistory ph ";
$SQLText.= " WHERE pv.object_id = o.id ";
$SQLText.= " AND p.id = pv.property_id ";
$SQLText.= " AND o.title = 'YandexSamara' ";
$SQLText.= " AND p.title = 'Temp' ";
$SQLText.= " AND ph.value_id = pv.id ";
$SQLText.= " AND UNIX_TIMESTAMP( pv.updated ) - UNIX_TIMESTAMP( ph.added ) <24 *60 *60 +30 *60 ";
$SQLText.= " ORDER BY ph.added ";
$SQLText.= " LIMIT 1 ";
$tempYesterday = SQLSelectOne($SQLText);
sg("YandexSamara.tempYesterday ",$tempYesterday['val'] );
Используется вот так:
Код: Выделить всё
// Сравнение со вчерашним днем
if ((float)getGlobal('YandexSamara.Temp')>=(float)getGlobal('YandexSamara.tempYesterday')){
say("Сегодня теплее, чем вчера.",1);
}else{
say("Сегодня холоднее, чем вчера.",1);
}