Итак...выбравши наконец немного свободного времени на чтение матчасти и изучение материала по теме - навоял скриптик "Предсказатель погоды"))
...как бы это "громко" не звучало, но более подходящего названия не нашел. Лично у меня в регионе погода пока стабильная (не говорю, что хорошая...просто хреновая и стабильная =D) в связи с чем хотелось бы задействовать народ из других регионов в тестировании данного, пока ещё непонятного, алгоритма.
Для тестирования - скопируйте себе данный скрипт, привяжите его запуск к изменению свойства давления (естественно с историей) и в скрипте укажите имя свойства (давление должно быть в мм. рт. ст....перевод в Паскали уже забит в скрипт. Если у кого другие единицы - не забудьте поправить формулу перевода.
Код: Выделить всё
//предсказатель погоды v0.1 beta
$sensor='Sensor_pressure01.value';
$period=60*60;
$history=getHistory($sensor, time()-$period, time());
$sumX=0;
$sumY=0;
$sumX2=0;
$sumXY=0;
$i=0;
foreach($history as $h_part){
$pres=$h_part['VALUE']*133.322; //перевести в паскали
$sumX += time()-strtotime($h_part['ADDED']);
$sumY += $pres;
$sumX2 += (time()-strtotime($h_part['ADDED']))*(time()-strtotime($h_part['ADDED']));
$sumXY += (time()-strtotime($h_part['ADDED'])) * $pres;
$i++;
}
$a=$i*$sumXY;
$a=$a-$sumX*$sumY;
$a=$a/($i*$sumX2-$sumX*$sumY);
$dt = -$a * $i;
$dt = round($dt);
//print_r($dt);
if($dt<-250) {
say('Апокалипсис не за горами. Дельта'.$dt);
} elseif ($dt<-150) {
say('Ожидается резкое ухудшение погоды. Значение дельты '.$dt);
} elseif ($dt<-50) {
say('Ожидается ухудшение погоды. Значение дельты '.$dt);
} elseif ($dt>50) {
say('Ожидается улучшение погоды. Значение дельты '.$dt);
} elseif ($dt>150) {
say('Ожидается резкое улучшение погоды. Значение дельты '.$dt);
} elseif ($dt>250) {
say('Апокалипсис не за горами. Дельта '.$dt);
}
- [сбылось] Сообщение Ожидается ухудшение погоды. Значение дельты -72. По факту похолодало через 2 часа.
- [сбылось] Сообщение Ожидается резкое улучшение погоды. Значение дельты +175. По факту потеплело на 15 градусов через час.
- [не сбылось] Сообщение Ожидается резкое ухучшение погоды. Значение дельты -160. Погода не изменилась