16.03.2024, 11:13
Hallo,
hab ein Problem mit einer API-Abfrage per VBA.
Ich möchte aus meinem Stromzähler über das Zählermodul von "Powerfox" die kWh auslesen.
Das Zählermodul ist über API auslesbar. Das Problem ist, das vom Modul Username und Passwort
verlangt werden.
Gebe ich die URL
https://bsche@t-online.de:ehb21bxxxx@bac...t?unit=kwh
direkt in den Browser ein kommt als Ergebnis:
{"outdated":false,"watt":264,"timestamp":1709996595,"a_Plus":6689.116,"a_Minus":400.307}
Bei Nutzung VBA
kommt aber der Fehler: Laufzeitfehler -2147012891 (80072ee5)
Systemfehler: -2147012891
Hab gelesen das es an den "@" Zeichen liegen könnte???
Kann mir da jemand weiterhelfen?
Danke
hab ein Problem mit einer API-Abfrage per VBA.
Ich möchte aus meinem Stromzähler über das Zählermodul von "Powerfox" die kWh auslesen.
Das Zählermodul ist über API auslesbar. Das Problem ist, das vom Modul Username und Passwort
verlangt werden.
Gebe ich die URL
https://bsche@t-online.de:ehb21bxxxx@bac...t?unit=kwh
direkt in den Browser ein kommt als Ergebnis:
{"outdated":false,"watt":264,"timestamp":1709996595,"a_Plus":6689.116,"a_Minus":400.307}
Bei Nutzung VBA
Code:
Sub js_json_api_powerfox()
Dim req As MSXML2.ServerXMLHTTP60
Dim apiURL, ret As String
Set req = New MSXML2.ServerXMLHTTP60
' Example API: Powerfox
apiURL = "https://bsche@t-online.de:ehb21bxxx@backend.powerfox.energy/api/2/my/main/current?unit=wh"
' Verbindung herstellen
req.Open "", apiURL, False
req.send
' Status in Zelle A1 ausgeben
Range("a9").Value = req.Status & " - " & req.statusText
' JSON unformatiert in A2 ausgeben
ret = req.responseText
Range("a10").Value = ret
' JSON parsen
Dim jsonObject As Object
Set jsonObject = JsonConverter.ParseJson(ret)
' Variable Temp ausgeben (in Watt)
Range("a11").Value = Round(jsonObject("main")("a_Plus"))
End Sub
kommt aber der Fehler: Laufzeitfehler -2147012891 (80072ee5)
Systemfehler: -2147012891
Hab gelesen das es an den "@" Zeichen liegen könnte???
Kann mir da jemand weiterhelfen?
Danke