Код: Выделить всё
$url = "https://api.weather.yandex.ru/v2/informers?lat=55.755863&lon=37.6177&extra=true";
$apiKey = "ВАШ КЛЮЧ"; // Ваш API-ключ
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-Yandex-API-Key: $apiKey"
));
$response = curl_exec($ch);
curl_close($ch);
if ($response === false) {
echo 'Ошибка выполнения запроса: ' . curl_error($ch);
} else {
echo $response;
$data = json_decode($response);
$weather=$data->fact;
sg("Moscow.Temp",$weather->temp);
sg("Moscow.Pressure",$weather->pressure_mm);
sg("Moscow.Humidity",$weather->humidity);
sg("Moscow.WindSpeed",$weather->wind_speed);
sg("Moscow.Image","https://yastatic.net/weather/i/icons/funky/dark/".$weather->icon.".svg");
sg("Moscow.UpTime",$weather->obs_time);
$dir = $weather->wind_dir;
switch ($dir){
case 's':
$dir="южное";
break;
case 'n':
$dir="северное";
break;
case 'w':
$dir="западное";
break;
case 'e':
$dir="восточное";
break;
case 'sw':
$dir="юго-западное";
break;
case 'nw':
$dir="северо-западное";
break;
case 'se':
$dir="юго-восточное";
break;
case 'ne':
$dir="северо-восточное";
break;
case 'calm':
$dir="штиль";
break;
}
sg("Moscow.WindDir",$dir);
$cond = $weather->condition;
switch ($cond){
case 'clear':
$cond="ясно";
break;
case 'partly-cloudy':
$cond="малооблачно";
break;
case 'cloudy':
$cond="облачно";
break;
case 'overcast':
$cond="пасмурно";
break;
case 'light-rain':
$cond="небольшой дождь";
break;
case 'rain':
$cond="дождь";
break;
case 'heavy-rain':
$cond="сильный дождь";
break;
case 'showers':
$cond="ливень";
break;
case 'wet-snow':
$cond="дождь со снегом";
break;
case 'light-snow':
$cond="небольшой снег";
break;
case 'snow':
$cond="снег";
break;
case 'snow-showers':
$cond="снегопад";
break;
case 'hail':
$cond="град";
break;
case 'thunderstorm':
$cond="гроза";
break;
case 'thunderstorm-with-rain':
$cond="дождь с грозой";
break;
case 'thunderstorm-with-hail':
$cond="гроза с градом";
break;
}
sg("Moscow.Type",$cond);
//Прогноз дождя
sg('Moscow.Rain',0);
$rain = (string) $weather->condition.(string) $data->forecast->parts[1]->condition.(string) $data->forecast->parts[0]->condition;
if (strpos($rain, "rain") !== false) $rain = 30;
if (strpos($rain, "shower") !== false) $rain = 30;
if (strpos($rain, "hail") !== false) $rain = 30;
if (strpos($rain, "thunder") !== false) $rain = 30;
$rainp=$rain+0;
if ($rainp > 0) sg('Moscow.Rain',1);
}