Re: Модуль - Погода от OpenWeatherMap
Добавлено: Ср май 17, 2017 3:36 pm
Выберите страну, и не закрывая гляньте в дебаг...мб ошибки какие...
Отправлено с моего Xperia Z через Tapatalk
Отправлено с моего Xperia Z через Tapatalk
Обсуждение проекта
https://www.mjdm.ru/forum/
Ну интересно же разобраться))kirush писал(а):Первым делом смотрел - пусто там ;(
Выкрутился вбиванием всего вручную.
Код: Выделить всё
$text='Сейчас на улице '.gg('tooday.now').' градусов. '.gg("tooday.nowhum").' Утром ожидается '.gg('tooday.morning').' градусов.';Код: Выделить всё
//на всякий случай обновим погоду
//include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
//$openweather = new app_openweather();
//$openweather->get_weather(gg('ow_city.id'));
//////////
$status .= "Сейчас на улице " . gg("ow_fact.weather_type") . ", ";
$w = round(gg("ow_fact.temperature"));
$status .= 'температура ' . chti($w, 'градус', 'градуса', 'градусов') . " цельсия, ";
//Температура "По ощущениям"
$realFellTemp = round(gg("ow_fact.realFell"));
if ($w != $realFellTemp) {
$status .= "ощущается как " . chti($realFellTemp, 'градус', 'градуса', 'градусов') . " цельсия, ";
}
$w = gg("ow_fact.realFell");
if ($w < -40) {
$status .= 'мы морозов не боимся! ';
} elseif ($w < -30) {
$status .= 'одевайтесь теплее, очень холодно, ';
} elseif ($w < -20) {
$status .= 'самое время есть мороженое, ';
} elseif ($w < -10) {
$status .= 'холодновато, ';
} elseif ($w <- 3) {
$status .= 'не особо холодно, ';
} elseif ($w < 3) {
$status .= 'значит, возможно, гололёд, ';
} elseif ($w < 10) {
$status .= 'прохладно, ';
} elseif ($w < 22) {
$status .= 'тепло, ';
} elseif ($w < 30) {
$status .= 'жарко, ';
} elseif ($w > 30) {
$status .= 'ташкент, ';
}
// Сравнение со вчерашним днем
$tNew = round((float) getGlobal('ow_fact.temperature'));
$tOld = round((float) getGlobal('ow_fact.tempYesterday'));
$tDelta = abs($tNew - $tOld);
if ($tNew > $tOld) {
$status .= "теплее, чем вчера на " . chti($tDelta, 'градус', 'градуса', 'градусов') . ". ";
} elseif ($tNew < $tOld) {
$status .= "холоднее, чем вчера на " . chti($tDelta, 'градус', 'градуса', 'градусов') . ". ";
} elseif ($tNew == $tOld) {
$status .= "так же как и вчера. ";
}
$h = round(gg("ow_fact.humidity"));
$status .= "Относительная влажность " . chti($h, 'процент', 'процента', 'процентов') . ". ";
$pressure = (float) gg("ow_fact.pressure_mmhg");
if ($pressure < 738) {
$status .= 'Атмосферное давление пониженное';
} elseif ($pressure > 768) {
$status .='Атмосферное давление повышенное';
} else {
$status .= 'Атмосферное давление в пределах нормы';
}
$status .= " (" . chti(round($pressure), 'миллиметр', 'миллиметра', 'миллиметров') . " ртутного столба). ";
// ветер
$WindSpeed = (float) gg("ow_fact.wind_speed");
if ($WindSpeed < 1) {
$status .= "Ветра нет";
} elseif ($WindSpeed < 2) {
$status .= "Легкий ветер, ";
} elseif ($WindSpeed < 5) {
$status .= "Слабый ветер";
} elseif ($WindSpeed < 8) {
$status .= "Умеренный ветер";
} elseif ($WindSpeed < 10) {
$status .= "Свежий ветер";
} elseif ($WindSpeed < 14) {
$status .= "Сильный ветер";
} elseif ($WindSpeed < 17) {
$status .= "Очень сильный ветер";
} elseif ($WindSpeed < 21) {
$status .= "Ветер очень-очень сильный";
} elseif ($WindSpeed < 28) {
$status .= "Шторм";
} else {
$status .= "Ураган";
}
if ($WindSpeed >= 1) {
$status .= " (" . chti(round($WindSpeed), 'метр', 'метра', 'метров') . " в секунду), ";
$windDirections = array('севера', 'северо-востока', 'востока', 'юго-востока', 'юга', 'юго-запада', 'запада', 'северо-запада', 'севера');
$degree = gg('ow_fact.wind_direction');
$WindDir = $windDirections[round($degree / 45)];
$status .= " дующий с " . $WindDir;
}
$status .= ". ";
// Прогноз погоды на сегодня
if (timeBetween("01:00", "10:00")) {
$status .= "Сегодня утром ожидается ";
$w = round(gg("ow_day0.temp_morn"));
} elseif (timeBetween("10:00", "14:00")) {
$status .= "Сегодня днем ожидается ";
$w = round(gg("ow_day0.temp_day"));
} elseif (timeBetween("14:00", "20:00")) {
$status .= "Сегодня вечером ожидается ";
$w = round(gg("ow_day0.eve"));
} else {
$status .= "Сегодня ночью ожидается ";
$w = round(gg("ow_day0.temp_night"));
}
$status .= chti($w, 'градус', 'градуса', 'градусов') . " цельсия, " . gg("ow_day0.weather_type") . ". ";
// Погода на завтра
$w = round(gg("ow_day1.temperature"));
$status .= 'Завтра ожидается ' . chti($w, 'градус', 'градуса', 'градусов') . " цельсия, ";
$status .= gg("ow_day1.weather_type") . ".";
say($status, 1);
Создай сценарий с этим кодом и отправь на выполнение по какому ни-буть условиюserghei писал(а):А для особо начинающего юзера ------ куда вставить этот код ?? )))) . ( Погода работает отлично. Алиса болтает без проблем.)