Rss

  • youtube
  • google

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}
}
} 

Solarlog (200) Momentanwerte per Kommandozeile auslesen

Bewerte diesen Post

Comments (9)

  1. Richie

    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

    • Franz

      Hallo Richie

      echt tolle Lösung. Wie sieht die Lösung in JavaScript aus. Viele der Leser würden sicherlich lieber js nutzen oder?

      Gruß
      Franz

  2. Rudolf Schlenz

    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

    • Geri

      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

  3. Geri

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

  4. Georgios Tsolakos

    Hallo,

    kennt jemand das Register jedes Inverter Gesamtenergie?

    Vielen Dank,

    Georgios

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.