Tempanzeige Serverräume
This commit is contained in:
45
Dokumentation/Classes/cPRTG.vb
Normal file
45
Dokumentation/Classes/cPRTG.vb
Normal file
@@ -0,0 +1,45 @@
|
||||
Imports System.Net
|
||||
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Public Class cPRTG
|
||||
|
||||
|
||||
|
||||
Public Async Function getValuefromPRTG(sensorId As String, kanalnummer As Integer) As Task(Of String)
|
||||
Dim prtgServer As String = "https://management01.verag.ost.dmn"
|
||||
'Dim sensorId As String = "8223"
|
||||
Dim username As String = "admin"
|
||||
Dim passhash As String = "1828632597"
|
||||
'Dim kanalnummer As Integer = 8
|
||||
|
||||
Dim url As String = $"{prtgServer}/api/table.json?content=channels&columns=objid,name,lastvalue&id={sensorId}&username={username}&passhash={passhash}"
|
||||
|
||||
|
||||
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
|
||||
ServicePointManager.ServerCertificateValidationCallback = Function(sender, cert, chain, sslPolicyErrors) True
|
||||
|
||||
Try
|
||||
Using client As New WebClient()
|
||||
client.Encoding = System.Text.Encoding.UTF8
|
||||
Dim jsonText As String = Await client.DownloadStringTaskAsync(url)
|
||||
|
||||
Dim json As JObject = JObject.Parse(jsonText)
|
||||
Dim channels = json("channels")
|
||||
|
||||
If TypeOf channels Is JArray AndAlso kanalnummer >= 0 AndAlso kanalnummer < channels.Count Then
|
||||
Dim channel = channels(kanalnummer)
|
||||
Dim name = channel("name").ToString()
|
||||
Dim value = channel("lastvalue").ToString().Replace("Â", "").Trim()
|
||||
Return $"{value}"
|
||||
Else
|
||||
Return $"Kanal {kanalnummer} ungültig oder nicht vorhanden."
|
||||
End If
|
||||
End Using
|
||||
|
||||
Catch ex As Exception
|
||||
Return "Fehler: " & ex.Message
|
||||
End Try
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user