From 1e31a5d4ce9d7cc8ea2900a29fcb4beeed37781c Mon Sep 17 00:00:00 2001 From: Morten Date: Tue, 21 Dec 2021 10:16:00 +0100 Subject: [PATCH] inital commit --- datex.ps1 | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 datex.ps1 diff --git a/datex.ps1 b/datex.ps1 new file mode 100644 index 0000000..9fef4e3 --- /dev/null +++ b/datex.ps1 @@ -0,0 +1,196 @@ + +#[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);