Made the powershell version, Cheers!
function Weather {
$url = "http://checkip.dyndns.com"
$webclient = New-Object System.Net.WebClient
$Ip = $webclient.DownloadString($url)
$Ip2 = $Ip.ToString()
$ip3 = $Ip2.Split(" ")
$ip4 = $ip3[5]
$ip5 = $ip4.replace("","")
$IPAddress = $ip5.replace("","")
$infoService = "http://freegeoip.net/xml/$ipaddress"
$geoip = Invoke-RestMethod -Method Get -URI $infoService
$city = $geoip.Response.City
$country = $geoip.Response.CountryName
$api = "692447105f67a34c06d1cbeab56b17c5"
[xml]$wr = Invoke-WebRequest "api.openweathermap.org/data/2.5/weather?q=$City,$country&APPID=$api&mode=xml"
$data = $wr.current
$weather = [PSCustomObject]@{
City = $data.city.name + ","+ $data.city.country
Weather = $data.weather.value
TempNOW = [string]([math]::Round(($data.temperature.min - 273.15)*9/5+32))+'°F'
tempMAX = [string]([math]::Round(($data.temperature.max - 273.15)*9/5+32))+'°F'
TempMIN = [string]([math]::Round(($data.temperature.min - 273.15)*9/5+32))+'°F'
humidity = $data.humidity.value + $data.humidity.unit
Clouds = $data.clouds.name
Rain = $data.precipitation.mode
Wind = $data.wind.Value
pressure = $data.pressure.value
}
return $weather
}