Aktuelle Daten über JSON-Schnittstelle mit VB6 auslesen

  • Hallo zusammen,


    ich möchte per VB6-Code die aktuellen Verbrauchswerte meiner Solar-Log 300 auslesen um diese zu visualisieren.
    Hab schon einiges im Internet drüber gelesen, bin aber noch nicht bei einer funktionierenden Lösung.
    Habe folgenden VB-Code getestet, läuft aber noch nicht richtig.
    Bin mir auch nicht ganz sicher ob vor einem GET ein POST Request gesendet werden muss. Beide Varianten funktionieren nicht.


    Vielleicht kann mir jemand einen Tipp geben oder hat sogar noch VB6 und eine Solar-Log zum Testen.


    Danke schon mal im Voraus!



  • Schade, dass bis jetzt noch keiner geantwortet hat.
    Bin bis jetzt leider auch noch nicht weiter gekommen.
    Hat keiner eine Idee für mein VB6-Problem?


    Vielleicht kann jemand mit der Seite was anfangen....?
    https://de.functions-online.com/json_decode.html
    Was müsste man hier eingeben, dass bei dem Button "ausführen" dann was zurückgemeldet wird?


    LG Geri

  • Deine Beispielseite ist aber PHP.
    Was Du beim Solarlog abfragen musst, sollte dort ja beschrieben sein. In Deinem Script muss nur irgendwas in der Art von

    Code
    $content = file_get_contents("Meine Abfrage");
    $json = json_decode($content);


    stehen. Wenn Du weißt, wie die Antwort aufgebaut ist, kannst Du dann Deine entsprechenden Variablen befüllen und die weiterverarbeiten.
    Normalerweise kann man so eine JSON-Abfrage auch erst mal direkt im Browser absenden und sich die Antwortseite ansehen. Dann sieht man auch, wie man an die Werte rankommt.
    Das hat alles aber nix mit VB6 zu tun, davon habe ich keine Ahnung.

    26 Aleo S25 240 Wp
    Fronius Symo 6.0-3-m mit Smart Meter 63A-3


    Wir neigen dazu, die kurzfristigen Auswirkungen einer Technologie zu überschätzen und die langfristigen Auswirkungen zu unterschätzen (Amaras Gesetz)

  • Hallo Nordlicht,
    danke für deine Tipps.
    Leider komme ich damit aktuell auch nicht weiter.
    Funktioniert denn mit der aktuellen Firmware-Version (3.5.3 Build 87) die JSON-Schnittstelle überhaupt?
    Wer hat hierzu die Möglichkeit dies zu testen und mir auch ggf. gute Tipps zu geben wie ich bei meiner VB6-Abfrage weiterkomme.
    Hab leider mit so JSON-Schnittstellen überhaupt keine Erfahrungen.


    Danke schon mal im Voraus.


    Geri

  • Hallo Geri,


    zunächst mal: Eine JSON-Schnittstelle gibt es nicht, du meinst vielleicht eine (REST)-API, die strukturierte Daten im JSON Format liefert :wink: .
    Wenn du nur Daten auslesen möchtest, reicht natürlich ein GET-Request. Wie der Request auszusehen hat und welche key/value Pärchen im JSON-Format zurückkommen, erfährt man für gewöhlich beim Bereitsteller der API (sofern sie offen dokumentiert ist).


    Testen würde ich die Mimik zunächst per Webbrowser (Chrome+Postman ist der Hit).


    Viel Spaß,
    Michael

  • Hallo Michael,
    danke erstmal für deinen Tipp mit Chrome und Postman.
    Hab Postman ausprobiert und habe mit folgender Eingabe eine Antwort bekommen.
    Einstellung GET und daneben nur die IP-Adresse von meiner SolarLog (http://192.168.1.26).
    Dann den SEND-Button. Status: 200 OK und unten im Antwortfenster eine riesige Antwort:


    Leider hat die Antwort mit der Form wie in der SolarLog-Doku nicht viel gemeinsam....
    Irgendwie fehlt mir so wie in der Doku die Möglichkeit den Parameter richtig mit rüber zu schicken.
    Siehe Installationshandbuch SolarLog 300 Seite 221 => {„801“:{„170“:null}}
    Wer kann das bei sich auch so nachvollziehen?
    Wenn ich die Parameter "{„801“:{„170“:null}}" bei Key eintrage bekomme ich eine Fehlermeldung.... :-?


    Wer kann helfen?


    LG Geri

  • Das ist der Quelltext der Startseite, die angezeigt wird, wenn Du die IP aufrufst.
    Gibt es denn keine Dokumentation zu den JSON-Funktionen?

    26 Aleo S25 240 Wp
    Fronius Symo 6.0-3-m mit Smart Meter 63A-3


    Wir neigen dazu, die kurzfristigen Auswirkungen einer Technologie zu überschätzen und die langfristigen Auswirkungen zu unterschätzen (Amaras Gesetz)

  • Hi,


    das scheint keine API zu sein, wie ich sie im professionellen Umfeld kennengelernt habe (POST ist bei lesendem Zugriff eher unüblich ... ). Egal:


    In der Anleitung steht, dass du (doch) ein POST absetzten sollst mit z.B. {„801“:{„170“:null}} im Body.
    Im Responsebody tauchen dann die Werte im JSON-Format auf. Das sollte eigentlich alles per Postman zu testen sein.


    Ist die API aktiviert? Stimmt das Softwarerelease?


    Viele Grüße
    Michael

  • Ich hab den aktuellsten FW-Stand (3.5.3 Build 87) und die JSON-Schnittstelle ist über
    Konfiguration - System - Zugangskontrolle aktiv, da ich kein Passwort für den Browserzugriffsschutz vergeben habe.


    Nachtrag: Auch wenn ich ein Passwort vergebe und den Benutzer und das Passwort im "Postman" verwende, bekomme ich bei einer POST -Anfrage mit den Parametern „801“:{„170“:null} immer als Status "404 File not found" zurück.... :x

    Einmal editiert, zuletzt von --Geri-- ()