Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [Projekt] ioBroker Solarlog Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

[Projekt] ioBroker Solarlog Adapter

Geplant Angeheftet Gesperrt Verschoben Tester
solarlog
53 Beiträge 13 Kommentatoren 8.8k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    hmanfred
    schrieb am zuletzt editiert von
    #18

    Es sieht wohl so aus, dass der SolarLog 400 keine JSON-Schnittstelle hat. Zumindest ist im Datenblatt und im Handbuch nichts davon zu finden.

    Zugriff gibt es offensichtlich von außen nur über das Webinterface oder nach außen über einen zyklischen FTP-Export der aktuellen Daten.

    Schade. :cry:

    1 Antwort Letzte Antwort
    0
    • J Offline
      J Offline
      JackWolfskind
      schrieb am zuletzt editiert von
      #19

      Noch nen kleinen Fehler gefunden:

      Wenn der Wechselrichter einen Fehler zeigt (Schnee), entscheidet der Adapter das dieser und alle weiteren Unterverbraucher wohl nicht da sind und ignoriert sie bis auf weiteres :-(

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        forelleblau
        schrieb am zuletzt editiert von
        #20

        Herzlichen Dank für den Hinweis, JackWolfskind.

        Ich hab im solarlogschen JSON - Dschungel gewühlt und nun hoffentlich einen zuverlässigeren Geräteindikator gefunden.

        Falls du lieber Updates installierst als Schnee von deiner PV-Anlage wischst, steht die neue Version 0.1.2 mit verbesserter Geräteerkennung - hoffentlich schneesicher - auf Github und npm ab sofort zur Verfügung, schon bald wohl auch direkt im ioBroker.

        Viel Spass beim testen, hoffentlich funktionierts bei dir auch.

        Herzliche Grüsse

        forelleblau

        1 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          JackWolfskind
          schrieb am zuletzt editiert von
          #21

          Vielen Dank für deinen Einsatz!

          Ich warte dann mal ob es nochmal schneit ;-)

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            hmanfred
            schrieb am zuletzt editiert von
            #22

            Ich habe meinen alten Solarlog 400 nun gegen einen 300er getauscht. Der Adapter funktioniert prime - danke für die Arbeit! :-)

            Es gibt jedoch einige Datenpunkte, die ich vermisse - vielleicht gibt sie die JSON Schnittstelle ja auch gar nicht her (Priorität in angegebener Reihenfolge):

            • Sollwerte Tag/Monat/Jahr
            • Erreichter aktueller Prozentwert vom jeweiligen Soll
            • historische Werte, wobei die dann nicht die Tageswerte beinhalten müssten.

            Was mein alter 400er noch angezeigt hat, ich aber im 300er gar nicht finde: Prognose in kWh und Prozent bis Ende des Zeitabschnittes (Tag / Monat / Jahr).

            Danke und Gruß
            Manfred

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              forelleblau
              schrieb am zuletzt editiert von
              #23

              Hallo hmanfred
              Danke für die Rückmeldung, es freut mich wenn der Adapter auch bei dir funktioniert.
              Die Sollwerte habe ich bisher noch nicht ausgelesen, da ich sie aber angezeigt erhalte (SL 1200), sollte ich sie eigentlich auch finden können. Werde mal noch etwas rumwühlen. Die Tages/Monats/Jahreswerte sind auch da.
              Die historischen Werte sind wohl greifbar, mir ist aber nicht ganz klar, wie man das darstellen könnte. So etwas wie "die letzten 12 Monate" oder "die letzten 3 Jahre" wär wohl möglich. Oder hast du eine konkrete Vorstellung?

              Lieber Gruss
              forelleblau

              1 Antwort Letzte Antwort
              1
              • H Offline
                H Offline
                hmanfred
                schrieb am zuletzt editiert von
                #24

                Hallo forelleblau,

                danke für die Rückmeldung. Freut mich, dass alle Werte prinzipiell verfügbar sind. Wäre schon, wenn wenigstens die Sollwerte als Datenpunkt eingebaut würden.

                Was die historischen Werte betrifft, wäre vielleicht eine solche Struktur denkbar:

                HISTORICAL
                2019
                year
                jan
                feb
                mar
                apr
                ...
                2018
                year
                jan
                feb
                ...

                HISTORICAL und die Jahreszahlen wären dann Ordner, die klein geschriebenen Begriffe Datenpunkte.
                Ich bin jetzt leider nicht Programmiercrack und kenne auch die Datenstruktur nicht, die über die JSON Schnittstelle rüberkommt. Aber die Benennungen könnte man ja evtl. aus den dort enthaltenen Bezeichnungen extrahieren.
                Kann ich das bei mir irgendwie mit einfachen Mitteln auslesen?

                Gruß
                Manfred

                1 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  forelleblau
                  schrieb am zuletzt editiert von
                  #25

                  Hallo hmanfred
                  Hab paar Sachen gefunden:
                  Sollwerte: Was ich abrufen kann, sind die Vorgabewerte aus der Prognose-Konfiguration. Also Anlagegrösse, Jahressoll (kWh/kWp) und die Prozentwerte für die Aufteilung auf die Monate. Daraus können dann die Sollwerte errechnet werden. Also, die Grundlagen sind da, mir ist einfach noch nicht grad augenfällig klar, wie ich das programmieren soll. Musst wohl etwas Geduld haben.

                  Jahrestotal pro Zähler : Diese Werte kann ich auch abrufen, da ist auch die Umsetzung klar.

                  Monatstotal: Da kann ich zwar ganz viel abrufen, aber ich werde aus der Zusammenstellung des JSON-Objekts nicht schlau. Da sind x-Mal die selben Monats-Total-Werte drin:
                  MonatsdatenSolarlog.txt
                  Findest du da die Logik? Ich müsste wissen, welches, der 254 Elemente ich dann auslesen sollte.
                  Ich kann dir sonst ein js-script zur Verfügung stellen, dass dir diese Werte ebenfalls ausliest und in das ioBroker logfile schreibt.
                  Interessiert?
                  Herzliche Grüsse forelleblau

                  1 Antwort Letzte Antwort
                  0
                  • F Offline
                    F Offline
                    forelleblau
                    schrieb am zuletzt editiert von
                    #26

                    Guten Abend
                    Was die Jahressummen pro Zähler betrifft wäre jetzt auf github/npm eine Version 0.1.5 verfügbar die Historic.Jahr.yieldyear.Zählernahme - Objekte anlegt und mit Werten befüllt, bei mir hat's bis ins Installationsjahr der Anlage zurück funktioniert.
                    https://github.com/forelleblau/ioBroker.solarlog

                    Da die Abfrage beim solarlog relativ lange dauert und die Werte ja nicht jeden Tag ändern (ausser das laufende Jahr) werden die Werte im Moment nur beim Start des Adapters abgefragt. Fürs aktualisieren als Adapter/Instanz neu starten.

                    War sowas gefragt?

                    Gruss forelleblau

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      hmanfred
                      schrieb am zuletzt editiert von
                      #27

                      Hallo forelleblau,

                      hab gerade die neue Version installiert. Ist ja schon mal ein guter Anfang. :-)

                      Die historischen Werte sind nun bei mir auch seit Installation der Anlage (2009) drin.

                      Die Textdatei mit den Monatsdaten schau ich mir mal an. Ich musste mich beim Umstieg vom alten 400er auf den neuen 300er ein wenig mit der Datenstruktur beider Exportdateien beschäftigen. Die waren zueinander nicht kompatibel.

                      Kannst du mir sagen, wie ich die JSON-Objekte aus meinem System herausbekomme? So könnte ich bessere Vergleiche anstellen, da Inhalt der JSON-Objekte mit den realen Live-Werten aus meinem System korrelieren würden.

                      Was die Prognosewerte betrifft: Jahressoll und Prozentwerte je Monat würden die Möglichkeit bieten, daraus Monatswerte und Tageswerte (=Monatswert / AnzahlMonatstage) zu errechnen. Entweder macht das der Adapter oder ich baue mir ein Script und schreibe die Werte in neue Objekte.

                      Gruß
                      Manfred

                      1 Antwort Letzte Antwort
                      0
                      • F Offline
                        F Offline
                        forelleblau
                        schrieb am zuletzt editiert von forelleblau
                        #28

                        Hallo hmanfred

                        Die Werte kriegst du mit folgendem Skript aus dem Solarlog raus:

                        var https = require('http'); 
                        //Hier die IP deines Solarlog eintragen
                        var deviceIpAdress = "192.168.1.XXX"; 
                        
                        var cmd = "/getjp"; // Kommandos in der URL nach der Host-Adresse
                        var dataraw = null;
                        
                        //das sind die verschiednen Datenobjeke zur Abfrage, können auch ergänzt werden
                        var dataofficial = '{"801":{"170":null}}';
                        var datayear = '{"854":null}';
                        var datamonth = '{"779":null}';
                        
                        
                        //hier das gewünschhte Datenobjekt eintragen
                        var data = dataofficial;
                        
                        
                        var options = {
                            host: deviceIpAdress,
                            path: cmd,
                            method: 'POST',
                            headers: {
                                'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
                                'Content-Type': 'application/json',
                                'Accept': 'applciation/json',
                                'Content-Length': data.length
                            }
                        };
                        
                        
                        var req = https.request(options, function(res) {
                        console.log("http Status: " + res.statusCode);
                        console.log('HEADERS: ' + JSON.stringify(res.headers), (res.statusCode != 200 ? "warn" : "info")); // Header (Rückmeldung vom Webserver)
                        var bodyChunks  = [];
                        var chunkLine   = 0;
                        res.on('data', function(chunk) {
                            chunkLine = chunkLine + 1;
                            // Hier können die einzelnen Zeilen verarbeitet werden...
                            bodyChunks.push(chunk);
                        
                        }).on('end', function() {
                            var body = Buffer.concat(bodyChunks);
                            console.log("body: " + body);
                            
                            var dataJ = JSON.parse(body);
                        
                            //Hier könnten jetzt die Daten verarbeitet werden.
                                                
                            console.log("END");
                            //console.log("Rückgabe: " + JSON.parse(req));
                            });
                        
                        });
                        
                        req.on('error', function(e) { // Fehler abfangen
                            console.log('ERROR: ' + e.message,"warn");
                        });
                        
                        
                        
                        console.log("Data to request body: " + data);
                        // write data to request body
                        (data ? req.write(data) : console.log("Daten: keine Daten im Body angegeben angegeben"));
                        
                        
                        req.end();
                        
                        

                        Du musst nur die IP deines Solarlogs eintragen dann kannst du damit die aufgeführten Objekte abfragen. Einfach das gewünschte hinter var data= schreiben und einmal laufenlassen, dann hast du das Resultat im Log.

                        EDIT: Was die möglichen Datanobjekte im Solarlog betrifft, werde ich noch eine List mit den mir bekannten aufarbeiten. s. https://github.com/forelleblau/ioBroker.solarlog/blob/master/docs/solarlog_dataobjects.md

                        Bezüglich der Sollwerte: Ja, so wär das Machbar. Was ich aber gemerkt habe, dass die Sollwerte pro Anlageteile angelegt werden. Da ich nur 1 Anlage/Anlageteil habe, weiss ich nicht, wie das dann mit mehreren aussehen würde - nur so könnte ich den Adapter sauber programmieren.
                        Wenn du die Berechnung programmieren möchtest könnten wir es ja so machen, dass du die Berechnung schreibst und ich baue sie dann in den Adapter ein? Ich würde die die Übergabeparameter geben und du mir dann daraus die Tages-/Monats/ oder Jahressollwerte.

                        Lieber Gruss
                        forelleblau

                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          hmanfred
                          schrieb am zuletzt editiert von hmanfred
                          #29

                          Hmm...

                          ich vermute du siehst in mir einen (zumindest halbwegs) versierten Programmierer. :face_with_rolling_eyes:

                          Der bin ich leider nicht. Ich bin recht fit was IT-Fragen betrifft. Programmieren beschränkt sich aber auf das WebUi der CCU sowie Blockly-Scripts im JS-Adapter.

                          Textorientierte Scripts kann ich allenfalls auf Basis von Vorgaben modifizieren.

                          Damit stellt sich schon mal die erste Frage: das obige Script ist ein ShellBash-Script? Falls ja - das kriege ich zum laufen.

                          Was meine Anmerkung zum Berechnen der Sollwerte betrifft: ich hätte mir da ein Blockly-Script geschrieben und die Ergebnisse in Objekten abgelegt, die ich in der Objektstruktur des ioBroker anlegen würde.
                          Voraussetzung wäre natürlich, dass Gesamt- und Prozentwerte als Objekte im Solarlog-Adapter verfügbar wären.

                          Sorry, aber mein Horizont ist da wohl etwas beschränkter, als du vermutest. :cry:

                          Gruß
                          Manfred

                          1 Antwort Letzte Antwort
                          0
                          • F Offline
                            F Offline
                            forelleblau
                            schrieb am zuletzt editiert von
                            #30

                            Hallo
                            Nur zum Script. Das ist für den js Adapter, ein js Script. Nur dort reinkopieren, ip setzen und bei var Data = den gewünschten Datensatz eintragen

                            H 1 Antwort Letzte Antwort
                            0
                            • F Offline
                              F Offline
                              forelleblau
                              schrieb am zuletzt editiert von
                              #31

                              Hallo hmanfred.
                              Ich machs auch nur mit googeln, abschreiben und trial&error. Mit ausprobieren lernt man einiges - alles was funktioniert wurde mal ausprobiert!
                              Also wenn du gerne Blockly - Scripts machst, könntest du ja die 14 Variablen definieren (Monats-%, installierte Leistung und kWh/kWp) und daraus dann für jeden beliebigen Tag /Monat/Jahr, gestützt auf das jeweilige aktuelle Datum die gültigen Soll-Werte errechnen.
                              Wenn du das hast, drückst du oben rechts den Knopf und aus deinem Blockly wird ein js-Script, dass ich +/- in den Adapter einbauen kann.
                              Was meinst du dazu?

                              1 Antwort Letzte Antwort
                              0
                              • F forelleblau

                                Hallo
                                Nur zum Script. Das ist für den js Adapter, ein js Script. Nur dort reinkopieren, ip setzen und bei var Data = den gewünschten Datensatz eintragen

                                H Offline
                                H Offline
                                hmanfred
                                schrieb am zuletzt editiert von hmanfred
                                #32

                                @forelleblau sagte in [Projekt] ioBroker Solarlog Adapter:

                                Hallo
                                Nur zum Script. Das ist für den js Adapter, ein js Script. Nur dort reinkopieren, ip setzen und bei var Data = den gewünschten Datensatz eintragen

                                Und wie starte ich das Script dann?

                                Mit Blockly würde ich eine HM-Taste oder Cron als Trigger einbauen. Aber direkt in JS? :thinking_face:

                                Edit: hab's hinbekommen. Weiteres per PN.

                                Edit2: bin wohl zu doof, hier im Forum die Funktion für PN zu finden. :white_frowning_face:

                                1 Antwort Letzte Antwort
                                0
                                • F Offline
                                  F Offline
                                  forelleblau
                                  schrieb am zuletzt editiert von
                                  #33

                                  Beim PN-Suchen habe ich auch nur eine Chat-Funktion gefunden. Wenn du im ioBroker auf die Adapter-Seite gehst und beim solarlog-Adapter mit dem ? die Readme aufrufts da den Lizenz-Tab öffnest, steht da sonst meine Mailadresse - wär auch PN.
                                  Gruss forelleblau

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    Stoni
                                    schrieb am zuletzt editiert von Stoni
                                    #34

                                    Hallo, hab den Adapter gestern installiert und konnte diverse Werte von meinem Solarlog abgreifen. Die Werte werden in wh ausgegeben. Kann man das für VIS in kWh umrechnen?
                                    Gruß

                                    sigi234S H 2 Antworten Letzte Antwort
                                    0
                                    • S Stoni

                                      Hallo, hab den Adapter gestern installiert und konnte diverse Werte von meinem Solarlog abgreifen. Die Werte werden in wh ausgegeben. Kann man das für VIS in kWh umrechnen?
                                      Gruß

                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #35

                                      @Stoni

                                      https://forum.iobroker.net/topic/17187/neuer-adapter-beta-0-2-275-sourceanalytix-verbrauch-protokollierung-von-strom-gas-flüssigkeiten

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Stoni

                                        Hallo, hab den Adapter gestern installiert und konnte diverse Werte von meinem Solarlog abgreifen. Die Werte werden in wh ausgegeben. Kann man das für VIS in kWh umrechnen?
                                        Gruß

                                        H Offline
                                        H Offline
                                        hmanfred
                                        schrieb am zuletzt editiert von hmanfred
                                        #36

                                        so wie man g in kg oder mm in m umrechnet.

                                        Außerdem gibt es Widgets, die das direkt machen. Basic Numbers z.b. wenn ich mich nicht irre.

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • H hmanfred

                                          so wie man g in kg oder mm in m umrechnet.

                                          Außerdem gibt es Widgets, die das direkt machen. Basic Numbers z.b. wenn ich mich nicht irre.

                                          S Offline
                                          S Offline
                                          Stoni
                                          schrieb am zuletzt editiert von Stoni
                                          #37

                                          @hmanfred sagte in [Projekt] ioBroker Solarlog Adapter:

                                          so wie man g in kg oder mm in m umrechnet.

                                          Außerdem gibt es Widgets, die das direkt machen. Basic Numbers z.b. wenn ich mich nicht irre.

                                          Mit 0,001 multiplizieren ist schon klar. Dass das in manchen Widgets geht, weiß ich auch. Habe ich aber bislang nicht gefunden. Ich nutze das Basic-String Widget.

                                          EDIT:
                                          Jupp beim number geht es. Hab's hinbekommen. THX

                                          H 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          803

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe