Made weatherdata less painful to look at

This commit is contained in:
floppydiskette 2023-06-14 21:48:05 +01:00 committed by Frankie B
parent cb78df544c
commit 5142133f16
3 changed files with 20 additions and 69 deletions

View file

@ -0,0 +1,19 @@
@php
function degreesToCompassDirection($degrees) {
$cardinalDirections = array('N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N');
$degreesPerDirection = 360 / count($cardinalDirections);
$index = round($degrees / $degreesPerDirection);
return $cardinalDirections[$index];
}
$data = json_decode(file_get_contents('http://weather.diskfloppy.me/data/weatherData.json'));
$updated = gmdate('H:i Y-m-d', intval(rtrim(file_get_contents('http://weather.diskfloppy.me/data/got.txt'))));
$data = $data->data->conditions[0];
@endphp
<h1>Local Weather <small>(Last Update: {{ $updated }})</small></h1>
<b>Wind Speed:</b> {{ $data->wind_speed_last }} mph<br>
<b>Wind Direction:</b> {{ $data->wind_dir_last }}°, {{ degreesToCompassDirection($data->wind_dir_last) }}<br>
<b>Temperature:</b> {{ round(($data->temp-32)*(5/9), 1) }}°C<br>
<b>Rain Rate:</b> {{ round($data->rain_rate_last*0.2, 2) }} mm/hr<br>
<b>Humidity:</b> {{ round($data->hum) }}%<br>

View file

@ -1,68 +0,0 @@
<?php
$curl_current = curl_init();
curl_setopt_array($curl_current, [
CURLOPT_URL => "http://weather.diskfloppy.me/data/weatherData.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 300,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$current_response = curl_exec($curl_current);
$err = curl_error($curl_current);
curl_close($curl_current);
$curl_current = curl_init();
curl_setopt_array($curl_current, [
CURLOPT_URL => "http://weather.diskfloppy.me/data/got.txt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 300,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$last_update = curl_exec($curl_current);
$err = curl_error($curl_current);
curl_close($curl_current);
if ($err) {
die("cURL Error: " . $err);
}
$current_response = json_decode($current_response, true);
$weather_data = $current_response['data']['conditions'][0];
$windDirDeg = $weather_data['wind_dir_last'];
$windDir = "";
// W I N D
if (349 <= $windDirDeg || $windDirDeg <= 11) { $windDir = "N"; }
else if (12 <= $windDirDeg && $windDirDeg <= 33) { $windDir = "NNE"; }
else if (34 <= $windDirDeg && $windDirDeg <= 56) { $windDir = "NE"; }
else if (57 <= $windDirDeg && $windDirDeg <= 78) { $windDir = "ENE"; }
else if (79 <= $windDirDeg && $windDirDeg <= 101) { $windDir = "E"; }
else if (102 <= $windDirDeg && $windDirDeg <= 123) { $windDir = "ESE"; }
else if (124 <= $windDirDeg && $windDirDeg <= 146) { $windDir = "SE"; }
else if (147 <= $windDirDeg && $windDirDeg <= 168) { $windDir = "SSE"; }
else if (169 <= $windDirDeg && $windDirDeg <= 191) { $windDir = "S"; }
else if (192 <= $windDirDeg && $windDirDeg <= 213) { $windDir = "SSW"; }
else if (214 <= $windDirDeg && $windDirDeg <= 236) { $windDir = "SW"; }
else if (237 <= $windDirDeg && $windDirDeg <= 258) { $windDir = "WSW"; }
else if (259 <= $windDirDeg && $windDirDeg <= 281) { $windDir = "W"; }
else if (282 <= $windDirDeg && $windDirDeg <= 303) { $windDir = "WNE"; }
else if (304 <= $windDirDeg && $windDirDeg <= 326) { $windDir = "NW"; }
else if (327 <= $windDirDeg && $windDirDeg <= 348) { $windDir = "WNW"; }
?>
<h1>Local Weather <small>(Last Update: {{ gmdate('H:i Y-m-d', intval(rtrim($last_update))) }})</small></h1>
<b>Wind Speed:</b> {{ $weather_data['wind_speed_last'] }} mph<br>
<b>Wind Direction:</b> {{ $weather_data['wind_dir_last']}}°, {{ $windDir }}<br>
<b>Temperature:</b> {{ round(($weather_data['temp']-32)*(5/9), 1) }}°C<br>
<b>Rain Rate:</b> {{ round($weather_data['rain_rate_last']*0.2, 2) }} mm/hr<br>
<b>Humidity:</b> {{ round($weather_data['hum']) }}%<br>

View file

@ -9,7 +9,7 @@
@include('components.lastfm') @include('components.lastfm')
<!-- WeatherData --> <!-- WeatherData -->
@include('components.weatherdata') @include('components.weather')
<h1>Contact</h1> <h1>Contact</h1>
<p><strong>Mail</strong>: <a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br/> <p><strong>Mail</strong>: <a href="mailto:contact@diskfloppy.me">contact@diskfloppy.me</a><br/>