2021-09-27 10:38:12 +02:00
<#
2021-07-13 21:10:02 +02:00
. SYNOPSIS
2021-12-01 12:53:37 +01:00
Checks the weather
2021-10-04 21:29:23 +02:00
. DESCRIPTION
2021-12-01 13:14:51 +01:00
Checks the current weather report .
2021-10-16 16:50:10 +02:00
. PARAMETER location
Specifies the location to use ( determined automatically per default )
2021-07-13 21:10:02 +02:00
. EXAMPLE
2021-09-24 17:19:49 +02:00
PS > . / check-weather
2021-07-13 21:10:02 +02:00
. LINK
https : / / github . com / fleschutz / PowerShell
. NOTES
2021-08-29 17:50:03 +02:00
Author : Markus Fleschutz · License : CC0
2021-04-19 19:20:49 +02:00
#>
2021-09-24 17:19:49 +02:00
param ( [ string ] $location = " " ) # empty means determine automatically
2021-04-19 19:20:49 +02:00
try {
2021-12-02 15:39:50 +01:00
$Weather = ( Invoke-WebRequest http : / / wttr . in / $ { location } ? format = j1 -userAgent " curl " -useBasicParsing ) . Content | ConvertFrom-Json
2021-04-19 19:20:49 +02:00
$Temp = $Weather . current_condition . temp_C
$Precip = $Weather . current_condition . precipMM
$Humidity = $Weather . current_condition . humidity
$Pressure = $Weather . current_condition . pressure
$WindSpeed = $Weather . current_condition . windspeedKmph
$WindDir = $Weather . current_condition . winddir16Point
$UV = $Weather . current_condition . uvIndex
$Visib = $Weather . current_condition . visibility
$Clouds = $Weather . current_condition . cloudcover
$Desc = $Weather . current_condition . weatherDesc . value
$Area = $Weather . nearest_area . areaName . value
$Region = $Weather . nearest_area . region . value
2021-12-01 13:19:32 +01:00
$Reply = " $( $Temp ) °C, $( $Precip ) mm rain, $( $Humidity ) % humidity, $( $WindSpeed ) km/h wind from $WindDir with $( $Clouds ) % clouds and $( $Visib ) km visibility at $Area ( $Region ). "
2021-12-01 12:53:37 +01:00
" ✔️ $Reply "
& " $PSScriptRoot /speak-english.ps1 " " $Reply "
2021-09-27 10:09:45 +02:00
exit 0 # success
2021-04-19 19:20:49 +02:00
} catch {
2021-09-16 20:19:10 +02:00
" ⚠️ Error: $( $Error [ 0 ] ) ( $( $MyInvocation . MyCommand . Name ) : $( $_ . InvocationInfo . ScriptLineNumber ) ) "
2021-04-19 19:20:49 +02:00
exit 1
}