Страница 16 из 71

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 05, 2017 9:45 pm
Andy111
О, Ужас!

Температура отсутствует у остальных "дней" кроме первого... Остальные параметры на месте.

Ан, нифига, количества осадков тоже нет...

Ключ 5-дневный.

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 05, 2017 10:03 pm
nick7zmail
Вы только это заметили? Это с самого начала для пятидневных ключей так, и об этом я предупреждал...потому что это дневная и ночная температура была для 16-дневных...а какая дневная/ночная температура может быть в конкретное время...Единственный недочет, пожалуй, это то, что эта температура никуда не выведена...но в свойствах объектов она есть =). Упущение, что она никуда не выведена - исправим, не переживайте =).

Re: [Модуль] Погода от Openweather

Добавлено: Чт дек 07, 2017 10:03 am
Logrus
Так мысль уже давно бродит ))) тут в ветке и про снег, ее сильней пнули, имхо нужно и на 5 и на 16 дней прогнозы сразу (иметь возможность выбрать, кому доступны) ...

Re: [Модуль] Погода от Openweather

Добавлено: Чт дек 07, 2017 11:14 am
nick7zmail
Зачем вам и на 5 и на 16? Оо...не предстваляю...если хотите подробный - берите на 5, если нет нужды на 16. А у новых ключей дак вообще выбора такого нет.

Re: [Модуль] Погода от Openweather

Добавлено: Чт дек 07, 2017 11:26 am
Logrus
1. со старым апи ключем такая возможность есть
2. мне летом нужен длинный на 16 дней (зимой хватает на 8)
3. у них (5 и 16) расчет по разным моделям
4. у 5 дневного есть свои плюсы, но у меня нет выбора нужен и на 16 дней
можно и далее продолжить
5. а кому-то нафиг прогноз не нужен, только фактическую или наоборот (это к метеостанциям в том числе)

Re: [Модуль] Погода от Openweather

Добавлено: Вс дек 10, 2017 8:43 pm
Logrus
https://majordomo.smartliving.ru/forum/ ... 140#p65335
в скрипт WeatherFromOpenWeather (есть, что переделать)
СпойлерПоказать

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

$weatherToday = '<b>Сегодня</b> до ';
$temp=gg('ow_day0.temp_max');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherToday.=$temp.'°';
$weatherToday.=', '.gg('ow_day0.weather_type').'. ';

$weatherToday.='Ветер '.round(gg('ow_day0.wind_speed'))." м/с. ";
//$weatherToday.='направление '.round(gg('ow_day0.wind_direction')).". ";

$weatherToday.='Влажность '.round(gg('ow_day0.humidity'))." %. ";
$weatherToday.='Давление '.round(gg('ow_day0.pressure_mmhg')).' миллиметров ртутного столба. ';
$weatherToday.='Ночью до ';
$temp=gg('ow_day0.temp_night');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherToday.=$temp.'°.';

$weatherTomorrow = '<b>Завтра</b> днём до ';
$temp=gg('ow_day1.temp_max');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherTomorrow.=$temp.'°';
$weatherTomorrow.=', '.gg('ow_day1.weather_type').'. ';
//$weatherTomorrow.='Влажность '.round(gg('ow_day1.humidity')).'. ';
$weatherTomorrow.='Давление '.round(gg('ow_day1.pressure_mmhg')).' миллиметров ртутного столба. ';
$weatherTomorrow.='Ночью до ';
$temp=gg('ow_day1.temp_night');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherTomorrow.=$temp.'°.';

$weatherTomorrowAfter = '<b>Послезавтра</b> днём до ';
$temp=gg('ow_day2.temp_max');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherTomorrowAfter.=$temp.'°';
$weatherTomorrowAfter.=', '.gg('ow_day2.weather_type').'. ';
//$weatherTomorrowAfter.='Влажность '.round(gg('ow_day2.humidity')).'. ';
$weatherTomorrowAfter.='Давление '.round(gg('ow_day2.pressure_mmhg')).' миллиметров ртутного столба. ';
$weatherTomorrowAfter.='Ночью до ';
$temp=gg('ow_day2.temp_night');
$temp = round($temp);
if($temp>0){$temp="+".$temp;} //Если значение температуры положительно, для наглядности добавляем "+"
$weatherTomorrowAfter.=$temp.'°.';

sg('ThisComputer.weatherToday', $weatherToday);
sg('ThisComputer.weatherTomorrow', $weatherTomorrow);
sg('ThisComputer.weatherTomorrowAfter', $weatherTomorrowAfter);

if (timeIs("21:00")) {runScriptSafe('frostCalc');}
в самом конце добавил (наверное еще добавить условие с кнопки, типа проверять на заморозки)

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

if (timeIs("21:00")) {runScriptSafe('frostCalc');} 
создал скрипт frostCalc

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

$t13 = getHistoryValue("ow_fact.temperature", strtotime("-8 hour"), true);
$t21 = gg('ow_fact.temperature');

if ($t13 == "" or $t21 == "") {
     say("Недостаточно данных для расчета заморозков.",-1);
     return;}
$z = "0%";
$x = $t13 - $t21;

    if ($t21 >= $t13 ) {
     say("Расчет заморозков невозможен. Температура растет."); 
     return;}
    if ($t21 < 0 ) {
     say("Расчет заморозков невозможен. Температура ниже нуля."); 
     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;
say($frost,-1);
sg("ow_fact.frost",$frost); 
say закомментировать как проверится работоспособность
в 21:00 отписала
21:00 Алиса: Расчет заморозков невозможен. Температура ниже нуля.

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 12, 2017 5:45 pm
Logrus
Никита, а можно вывод ow_fact.wind_direction в action_usual.html и view_weather.html
округлять, то до 5-ти знаков после запятой
сейчас так Ветер: ЮЮЗ (200.002°) 1.35 м/с

вообще точность выше градуса нужна (я про при получении)?

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 12, 2017 6:23 pm
nick7zmail
Logrus писал(а):Никита, а можно вывод ow_fact.wind_direction в action_usual.html и view_weather.html
округлять, то до 5-ти знаков после запятой
сейчас так Ветер: ЮЮЗ (200.002°) 1.35 м/с
До 5 знаков после запятой? Вам 3х уже мало? Серьезно? Что за бред?))

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 12, 2017 6:45 pm
Logrus
мне и 3-х много ))) а бывает и 5-ть
перечитай )))

Re: [Модуль] Погода от Openweather

Добавлено: Вт дек 12, 2017 8:26 pm
nick7zmail
Раз 20 прочитал...всё равно вижу "Никита, а можно вывод ow_fact.wind_direction в action_usual.html и view_weather.html округлять то до 5-ти знаков после запятой", и запятая как будто бы не в тему там поставлена...с ней тоже нормально не читается =D.

А вообще - в одном из ближайших обновлений планировал ввести округление всех параметров.