Страница 2 из 2
Re: [Скрипт] Предсказатель погоды v0.1b
Добавлено: Вт мар 20, 2018 5:36 pm
Logrus
мысль вслух, в модуле погоды, имхо можно и попроще, не хватает на давление и температуру такого, с сигнализацией голосом и отправкой в телеграмм
по прогнозу аналогично
Re: [Скрипт] Предсказатель погоды v0.1b
Добавлено: Вт мар 20, 2018 6:16 pm
nick7zmail
Logrus писал(а):мысль вслух, в модуле погоды, имхо можно и попроще, не хватает на давление и температуру такого, с сигнализацией голосом и отправкой в телеграмм
по прогнозу аналогично
А если кому не надо отправлять в телеграм? Голосом проговаривать? Формулировка не понравится? Ещё что нить?
Re: [Скрипт] Предсказатель погоды v0.1b
Добавлено: Вт мар 20, 2018 6:29 pm
Logrus
ага, против основной мысли возражений нет )))
Re: [Скрипт] Предсказатель погоды v0.1b
Добавлено: Вт май 01, 2018 7:57 am
Logrus
nick7zmail писал(а): Вт мар 20, 2018 5:04 pm
Да, чет по ходу сломалось после обновления php. Посмотрю, как время будет.
Там на прошлой странице, все вдарились в "замбретти" и хз еще куда, а
нужно по получению значения просто знать производные
Re: [Скрипт] Предсказатель погоды v0.1b
Добавлено: Ср май 02, 2018 2:20 pm
Logrus
Код: Выделить всё
$sensor = 'ow_fact.pressure_mmhg';
$period = 3*60*60;
//$history=getHistoryAvg($sensor, time()-$period, time());
$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'];//паскали нафиг не нужны, точно
$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++;//а это надо?
}
//unset($h_part);//а это надо?
$a = 0;//а это надо?
$a = $i*$sumXY; // расчёт коэффициента наклона прямой и $i надо, но все ли верно?
$a = $a-$sumX*$sumY;
$a = $a/($i*$sumX2-$sumX*$sumY);
$dt = -$a * $i;// расчёт изменения давления, эээм минус не лишний
//$dt = round($dt);
//print_r($dt);
file_put_contents('./texts/predictorPressure.txt', date('Y-m-d H:i:s') . ' ' . $dt . PHP_EOL, FILE_APPEND);
/*
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);
}
*/
закомментировал округление (без с подписью за какой период в часах брал данные, в паскалях будет больше, но все-равно мало если от овм на такой разнице, но РАБОТАЕТ, из-за неуказанных типов может быть значительная погрешность, а может и нормально все?)
2018-05-02 16:05:05 0
2018-05-02 17:05:14 0
2018-05-02 18:05:06 0
2018-05-02 18:48:31 -0
2018-05-02 18:49:37 -0.00033838564387885 24 часа
2018-05-02 18:50:19 3.7924426497843E-5 8 часов
2018-05-02 18:51:44 6.2644955067776E-6 6 часов
2018-05-02 18:52:38 5.2265969507492E-6 4 часа
2018-05-02 18:53:40 0 3 часа
2018-05-02 18:54:35 0 2 часа

- давление.PNG (24.88 КБ) 4025 просмотров