Solarlog (200) Momentanwerte per Kommandozeile auslesen

Solar-Log LogoBesitzer einer Solaranlage haben in der Regel ja auch einen Datenlogger im Einsatz. Ich habe einen Solarlog 200 bei mir zuhause. Die Abfrage der Livewerte sollte aber auch bei allen anderen Modellen von Solar-Log funktionieren.
Das Solarlog besitzt ja eine sehr schöne grafische Webseite, über diese kann man sich auch alle Werte als JSON Objekte ausgeben lassen.
Jede ID steht für einen bestimmten Wert, hier ist eine Übersicht – diese findet ihr auch im Solarlog Handbuch.

<!-- Solar-Log Json Objekte ----
100 - LastUpdateTime
101 - W Pac (Gesamtleistung) aller Zähler & WR
102 - W Pdc (Gestamtleistung aller WR)
103 - V Uac Durchschnittliche Spannung UAC der Wechselrichter
104 - V Durchschnittliche Spannung UDC der Wechselrichter
105 - Wh Durchschnittliche Spannung UDC der Wechselrichter
106 - Wh Summierter gestriger Tagesertrag aller Wechselrichter
107 - Wh Summiertes Monatsertrag aller WR
108 - Wh Summiertes Jahresertrag aller WR
109 - Wh Gesamtertrag aller Wechselrichter
110 - W momentaner Gesamtverbrauch PAC aller Verbauchszähler
111 - Wh Summierter Verbrauch aller Verbauchs-zähler
112 - Wh Summierter Verbrauch des gestrigen Tages; alle Verbauchszähler
113 - Wh Summierter Verbrauch des Monats; alle Verbauchszähler
114 - Wh Summierter Verbrauch des Jahres, alle Verbauchszähler
115 - Wh Summierter Gesamtverbrauch, alle Ver-bauchszähler
116 - Wp Installierte Generatorleistung
-->

Unter Linux kann man sich dann z.B. via Curl alle Werte ausgeben lassen:

curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}' 192.168.0.69/getjp

Der Befehl gibt bei mir folgende Rückgabe:

{"801":{"170":{"100":"21.09.14 16:32:15","101":257,"102":262,"103":0,"104":407,"105":19466,"106":30730,"107":822005,"108":12972119,"109":23174482,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":16800}}}

Wenn man das jetzt etwas anders formatiert sieht es schon besser aus:

{"801":
{"170":
{"100":"21.09.14 16:32:15",
"101":257,"102":262,
"103":0,"104":407,
"105":19466,
"106":30730,
"107":822005,
"108":12972119,
"109":23174482,
"110":0,
"111":0,
"112":0,
"113":0,
"114":0,
"115":0,
"116":16800}
}
} 

9 Gedanken zu „Solarlog (200) Momentanwerte per Kommandozeile auslesen“

  1. direktes auslesen der daten per python function:
    import json
    import http.client
    def GetSolarlogValue(IP, FieldNo):
    params = ‚{„801“:{„170“:null}}‘
    paramsbytes = params.encode(‚utf-8‘)
    headers = {„Content-Type:“: „application/json“,
    „Accept“: „text/plain“}
    conn = http.client.HTTPConnection(IP)
    conn.request(„POST“, „/getjp“, params, headers)
    response = conn.getresponse()
    data=response.read()
    jsondata = json.loads(data.decode(‚utf-8‘))
    FieldValue = jsondata[‚801‘][‚170‘][str(FieldNo)]
    return FieldValue

    Antworten
  2. Bin dabei die JSON-ABfrage für MAC in eine Swift Applikation zu verwenden. Wie muss die komplette URL inkl. der Parmater aussehen?
    192.168.177.24/getjp?{„801“:{„170“:null}} funktioniert leider nicht. SL meldet „{{„QUERY IMPOSSIBLE 000″}}“ zurück. Wie muss die URL lauten?
    Danke
    Rudolf

    Antworten
    • Hallo Rudolf,
      ich weiß deine Anfrage ist lang her, aber hast du dein Problem damals gelöst. Ich möchte nämlich auch irgendwie die JSON-Schnittstelle meines SolarLog 300 irgendwie in ein Windows-System einlesen….
      LG Gerhard

      Antworten
  3. Hallo zusammen,
    würde über diese Schnittstelle gerne in ein Windows-System die Daten einlesen. Hätte eine VB-Entwicklungsumgebung…
    Jemand einen Tipp?

    Antworten

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.