#[xml]$Weather = Get-Content "C:\Users\Morten\Downloads\GetMeasuredWeatherData.xml" #[xml]$Weather = Invoke-WebRequest -Credential (Get-Credential) -Uri https://www.vegvesen.no/ws/no/vegvesen/veg/trafikkpublikasjon/vaer/2/GetMeasuredWeatherData $EndResult = @() #$IDs = "206","207","228","1125","277","95" $IDs = "1740","206","174" Foreach ($place in $IDs) { $Location = $Weather.d2LogicalModel.payloadPublication.siteMeasurements | Where-Object { $_.measurementsitereference.id -eq $place } $LocationAirTemp = ($Location.measuredValue | Where-Object {$_.index -eq "101"}).innertext $LocationHumidity = ($Location.measuredValue | Where-Object {$_.index -eq "201"}).innertext + " %" $LocationDewPoint = ($Location.measuredValue | Where-Object {$_.index -eq "301"}).innertext $LocationRoadTemp = ($Location.measuredValue | Where-Object {$_.index -eq "801"}).innertext [float]$LocationWindSpeed = ($Location.measuredValue | Where-Object {$_.index -eq "901"}).innertext #$LocationWindDir = ($Location.measuredValue | Where-Object {$_.index -eq "901"}).innertext $LocationVisibility = ($Location.measuredValue | Where-Object {$_.index -eq "1401"}).innertext $LocationPrecipitation = ($Location.measuredValue | Where-Object {$_.index -eq "2501"}).innertext + " mm/h" $LocationSnowDepth = ($Location.measuredValue | Where-Object {$_.index -eq "3301"}).innertext if (!$LocationSnowDepth) {$LocationSnowDepth = "-"} if (!$LocationWindSpeed) {[string]$LocationWindSpeed = "-"} else { $LocationWindSpeed = $LocationWindSpeed*5/18 } # Omregning fra km/t til m/s if (!$LocationVisibility) {$LocationVisibility = "-"} $Place = $Place.Replace("206","Lygna").Replace("207","Bekkehallum").Replace("1740","Vingromsåsen").Replace("174","Eina") $Resultname = [PSCustomObject][ordered]@{ Lokasjon = $place Lufttemperatur = $LocationAirTemp Duggpunkt = $LocationDewPoint Veibanetemperatur = $LocationRoadTemp Nedbørintensitet = $LocationPrecipitation Vindhastighet = $LocationWindSpeed Snødybde = $LocationSnowDepth Luftfuktighet = $LocationHumidity Siktrekkevidde = $LocationVisibility } $EndResult += $ResultName } $EndResult|Format-Table $fragments = @() $fragments+= "

Værstatistikk

" [xml]$html = $EndResult | convertto-html -Fragment # Lufttemp for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ([float]$html.table.tr[$i].td[1] -lt 0) { $class = $html.CreateAttribute("class") $class.value = 'minus' $html.table.tr[$i].childnodes[1].attributes.append($class) | out-null $html.table.tr[$i].childnodes[1].'#text' = ($html.table.tr[$i].childnodes[1].'#text') + " °C" } else { $class = $html.CreateAttribute("class") $class.value = 'pluss' $html.table.tr[$i].childnodes[1].attributes.append($class) | out-null $html.table.tr[$i].childnodes[1].'#text' = ($html.table.tr[$i].childnodes[1].'#text') + " °C" } } # Duggpunkt for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ([float]$html.table.tr[$i].td[2] -lt 0) { $class = $html.CreateAttribute("class") $class.value = 'minus' $html.table.tr[$i].childnodes[2].attributes.append($class) | out-null $html.table.tr[$i].childnodes[2].'#text' = ($html.table.tr[$i].childnodes[2].'#text') + " °C" } else { $class = $html.CreateAttribute("class") $class.value = 'pluss' $html.table.tr[$i].childnodes[2].attributes.append($class) | out-null $html.table.tr[$i].childnodes[2].'#text' = ($html.table.tr[$i].childnodes[2].'#text') + " °C" } } # Veibanetemp for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ([float]$html.table.tr[$i].td[3] -lt 0) { $class = $html.CreateAttribute("class") $class.value = 'minus' $html.table.tr[$i].childnodes[3].attributes.append($class) | out-null $html.table.tr[$i].childnodes[3].'#text' = ($html.table.tr[$i].childnodes[3].'#text') + " °C" } else { $class = $html.CreateAttribute("class") $class.value = 'pluss' $html.table.tr[$i].childnodes[3].attributes.append($class) | out-null $html.table.tr[$i].childnodes[3].'#text' = ($html.table.tr[$i].childnodes[3].'#text') + " °C" } } # Vindhastighet for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ($html.table.tr[$i].td[5] -ne "-") { $html.table.tr[$i].childnodes[5].'#text' = ($html.table.tr[$i].childnodes[5].'#text') + " m/s" } } # Snødybde for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ($html.table.tr[$i].td[6] -ne "-") { $html.table.tr[$i].childnodes[6].'#text' = ($html.table.tr[$i].childnodes[6].'#text') + " meter" } } # Siktrekkevidde for ($i=1;$i -le $html.table.tr.count-1;$i++) { if ($html.table.tr[$i].td[8] -ne "-") { $html.table.tr[$i].childnodes[8].'#text' = ($html.table.tr[$i].childnodes[8].'#text') + " meter" } } #$fragments += $html.InnerXml $html.InnerXml |Out-File C:\temp\mestatable.inc $fragments += @'
'@ $convertParams = @{ head = @" Mesta Værstatistikk "@ body = $fragments } convertto-html @convertParams | out-file c:\temp\mesta.php Write-host -fore Yellow "## Starting FTP upload.." $File = "C:\temp\mesta.php"; $ftp = "ftp://xxxxxxx:yyyyyyy@web.home.zyrex.org//home/httpd/sites/zyrex.org/temp/mesta.php"; $File2 = "C:\temp\mestatable.inc"; $ftp2 = "ftp://xxxxxxxx:yyyyyyy@web.home.zyrex.org//home/httpd/sites/zyrex.org/temp/mestatable.inc"; $webclient = New-Object -TypeName System.Net.WebClient; $uri = New-Object -TypeName System.Uri -ArgumentList $ftp; $uri2 = New-Object -TypeName System.Uri -ArgumentList $ftp2; Write-Host -fore Yellow "## Uploading $File..."; $webclient.UploadFile($uri, $File); Write-Host -fore Yellow "## Uploading $File2..."; $webclient.UploadFile($uri2, $File2);