Расчет заморозков

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Расчет заморозков

Сообщение Amarok » Вт мар 17, 2015 11:47 am

Расчет заморозков. Сценарий рассчитан на совместную работу со сценарием "Погода (Яндекс)".
СпойлерПоказать

Код: Выделить всё

if (date('G')< 20) {return;} //Расчет заморозков возможен только после 21 часа
$objects=getObjectsByClass("Погода с Yandex"); //имя класса
foreach($objects as $obj) {
$t13 = gg($obj['TITLE'].".Temp13h"); // Считываем значение температуры в 13 часов дня
$t21 = gg($obj['TITLE'].".Temp21h"); // Считываем значение температуры в 21 час вечера
if ($t13 == "" or $t21 == "") {return;} //Недостаточно данных для расчета заморозков
$z = "0%";
$x = $t13 - $t21;

    if ( $t21 >= $t13 ) {return;} //Расчет заморозков невозможен. Температура растет
    if ( $t21 < 0 ) {return;} //Расчет заморозков невозможен. Температура ниже нуля

    if ( $t21 < 11 && $x < 11 )
    {
        $t_graph = array(
            0 => array(0.375, 11, 0),
            1 => array(0.391, 8.7, 10),
            2 => array(0.382, 6.7, 20),
            3 => array(0.382, 4.7, 40),
            4 => array(0.391, 2.7, 60),
            5 => array(0.4, 1.6, 80));

        $z = "100%";
        for ( $i = 0; $i < count($t_graph); $i++ )
        {
            $y1 = $t_graph[$i][0] * $x + $t_graph[$i][1];
    
            if ( $t21 > $y1)
            {
                $z = $t_graph[$i][2]."%";
                break;
            }
        }
    }
$frost="Вероятность заморозков: ";
$frost.=$z;
sg($obj['TITLE'].".frost",$frost);
}
Ну в onNewMinute добавить

Код: Выделить всё

if (($h==21 and $m=="01")) { RunScript('frostCalc'); } //Расчет заморозков
 
Последний раз редактировалось Amarok Вт мар 24, 2015 2:45 pm, всего редактировалось 3 раза.
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Расчет заморозков

Сообщение Amarok » Ср мар 18, 2015 10:12 am

Вот тута есть ещё сценарий вычисляющий прогноз погоды, но не понимаю как его к Алисе привинтить :( Может старшие и опытные товарищи привинтят? :roll:
Моя Алиска живёт на Proxmox в Debian 12
RomChik
Сообщения: 1
Зарегистрирован: Вт мар 17, 2015 9:46 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Расчет заморозков

Сообщение RomChik » Ср мар 18, 2015 9:08 pm

Идея интересная, только не понял что на выходе должен получить?
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Расчет заморозков

Сообщение Amarok » Чт мар 19, 2015 8:24 am

RomChik писал(а):Идея интересная, только не понял что на выходе должен получить?
В смысле?
Моя Алиска живёт на Proxmox в Debian 12
Ответить