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