NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
Ja den Ertrag in Euro wollte ich mir auch noch mal im VIS anzeigen lassen.
0,31 Cent/kWh bedeutet, dein Versorger kennt deine Anlage nicht ?Den Status vom Inverter lasse ich mir auch per Telegram mitteilen bei Änderung. Aber für mehr Überwachung hast du noch andere Komponenten verbaut !?
-
@Wiednitz ja ich habe eine Einspeisesicherung mit Überwachunskontakt. Wenn die Sicherung fällt bekomme ich das Drahtbruchsicher mit. Liegt auf nem GPIO als Input von nem Wemo.
-
@Wiednitz bastle noch an einem Amotisierungsscript...kommt dann noch ins 1. mit rein.
-
Ja das hatte ich ebenfalls vor, Investition minus Ertrag, die 0 dauert aber ein paar Jahre.
Eine Einspeisesicherung habe ich nicht, andererseits gibt der Shinestick über die App Bescheid, wenn was nicht läuft. Seit 21.08 aber noch keine Fehler gehabt.
Aus welcher Gegend kommst du eigentlich ?
-
Ja für mich war die Anlage eher ein Einstieg. Was zum Informieren...Beim Machen mal sehen worauf es ankommt. Als Meister Elektrotechnik darf ich sowas zwar bauen, arbeite aber in der Industrie eher im Bereich Maschinenbau Software Elektronik. Will einfach auf dem laufenden bleiben. War mal 5 Jahre Projektleiter in der hochverfügbaren Stromversorgungs Branche Rechenzentrum USV Notstromanlagen usw. Im Sommer bzw. wenn wieder gefördert wird will ich ne richtige Anlage mit Batterie bauen. Am Besten ganz ohne Anbindung ans Stromnetz...Die Kostenersparnis war dabei nicht relevant für mich... Komme aus Hessen....und du?
-
Jo bei mir ähnlich, einfach mal ausprobieren und wenn man selber installiert, ist das finanziell überschaubar, ich hab da keine Scheu, auch wenn ich nur Geselle im Handwerk bin. Hab das ganze Haus selbst saniert, war eine Ruine mit Stand Anfang des 20. Jahrhunderts.
Erweitern will ich aber eigentlich nicht, das rechnet sich dann irgendwie nicht, vielleicht ändert sich das aber noch. Habe derzeit 4x 310 Wp.Komme aus dem Nordosten Sachsens, südlich von Hoyerswerda.
-
@Wiednitz
ja ich habe damit meine beiden Gartenhütten Flachdach mit hässlich Bitumen zugepflastert, mir gings vermehrt auch darum dass dass nen Guck hat wenn ich aus dem Fenster schaue. Habe 6 Strings parallell mit jeweils 5 Panels. Komme auf das 5 fache der Wechselrichter Leistung. Wird aber nie der Fall sein weil Ausrichtung suboptimal und im Schatten. Wenn mal 1000Watt durchgehen würde mich das sehr wundern. -
6x5 Panels und du erwartest nur 1000 Watt in der Spitze ????
Im August und September hatte ich bei Sonne gut 1000 Watt, 7kwh Ernte am Tag, Ausrichtung SSW. Der Growatt arbeitet da an der Grenze. Habe aber beobachtet, das der Inverter an der Leistungsgrenze den besten Wirkungsgrad hat, etwa 97 Prozent. Bei 100 Watt sind es nur 90 Prozent.
-
@Wiednitz ja, aber meine panels liegen alle flach auf dem Flachdach und ersetzten quasi die Dachpappe. Beide Dächer sind voll verschattet und haben zu unterschiedlichen Tageszeiten nur Sonne . Keine Neigung. Nach Sonnenstandsberechnung ist immer nur ein drittel aktiv und das nur zu einem geringen Prozentsatz. Die Panels habe ich günstig von einem Solarpark erworben und haben auch nicht mehr volle Leistung... Wie gesagt it ein Lernprojekt. Habe alles berechnet und werde dann in der Praxis sehen ob die Berechnungen stimmen.
-
jeder Strang ist einzeln abgesichert und Sperrdioden verhindern Hotpots bzw. Rückstrom in verschattete Anlagenteile. Über Schütze können bei Bearf strings zu oder weggeschaltet werden. Deshalb die States in IO Broker.... Und die einzige Größe die einen Inverter grillt ist die Spannung. Was er kann zieht er halt an Leistung. Die zulässige Spannung wird nicht überschritten. Ist halt ne Studie....für die in zukunft geplante Anlage .
-
Aha flach und beschattet, da ist es verständlich. Meine kann ich manuell dem Sonnenstand nachführen. Und die richtige Anlage hat dann einen besseren Standort ?
Das nur die Spannung der Anlage schaden kann ist bekannt, allerdings wird der Inverter bei Volllast auch gut warm, an die 40 Grad. Da ist die Frage, wie die Komponenten altern. Sperrdioden sollen heutige Panels ja schon integriert haben, wie ich gelesen habe !?
-
@Wiednitz Bypassdioden haben die drinne....Sperrdioden? weiß ich nicht...meine jedenfalls nicht...sind aber auch schon Altere...
Nachführung it cool!
Ja die Richtige kommt auf Satteldach...Hat ne ideale Ausrichtung und Neigung...
-
Nagut kann sein, ich verwechsle die Diodenart. Hab mal bei Sonne mit der Hand so ein Feld auf einem Panel abgedeckt, da ist die Leistung 100 Watt abgefallen......
-
@Wiednitz Ja dafür sind die Bypassdioden, dass dann trotzdem noch was aus dem string kommt. Wären die nicht drinne, wäre der ganze String weg.
-
Naja bei 4 Panels hab ich ja nur einen String ^^
-
@Wiednitz dann brauchst auch keine sperrdiode...1 String ist bei dem inverter aber auch ideal, hat ja auch nur einen MPP Tracker.
-
Mal Off topic Growatt, du scheinst ja wesentlich mehr Ahnung zu haben, was Scripte angeht. Ich versuche meiner IPcam je nach Tageszeit verschiedene Positionen zuzuweisen. Das versuche ich per Astrozeit. Jedoch scheint das hinter "sonst" nicht ausgeführt zu werden. Wo ist der Fehler ? Hab mein Blockly mal als Javascript eingefügt....
var Intervall; Intervall = setInterval(function () { if (compareTime(getAstroDate("sunset", undefined, 0), getAstroDate("sunrise", undefined, 0), "not between", null)) { try { require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=0?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } } else { try { require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=5?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } } }, 60000);
-
@Wiednitz
Also von Blockly habe ich keine Ahnung. Was Javascript aus dem Blockly macht sieht für mich auch eher Merkwürdig aus. Ich bastle morgen morgen mal nen javascript zusammen wie ich es programmieren würde.
Die http Request an sich funktionieren aber oder? -
hab mal das Growatt Skript um die Amotisierung angepasst und kleine Änderungen eingebaut.
/* Skript berechnet Tagesersparnis / Ertrag , Gesamtersparnis / Ertrag sowie die Gesamtlaufzeit*/ // Anlegen der States für Vis createState('javascript.0.Messwerte.PV_Huette.Ertrag_Heute',{read: true,write: true,desc: "Errsparnis PV Anlage Heute",type: "number",def:0, unit: "EUR"}); createState('javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt',{read: true,write: true,desc: "Ersparnis PV Anlage Gesamt",type: "number",def:0, unit: "EUR"}); createState('javascript.0.Messwerte.PV_Huette.Laufzeit',{read: true,write: true,desc: "Betriebsstundenzähler",type: "number",def:0, unit: "h"}); createState('javascript.0.Messwerte.PV_Huette.Amotisierung',{read: true,write: true,desc: "Amotisierung Anschaffungskosten",type: "number",def:0, unit: "EUR"}); //Variablen var logging = false; // true = log aktivieren / false = log deaktivieren var Ersparnis = 0.31; //Strompreis für kw/h in € hier eintragen var Anschaffungskosten = 3,50; // hier Anschaffungskosten eintragen //Konstante const idErtragHeute = 'modbus.1.inputRegisters.30028Erzeugte_Leistung heute'/*Erzeugte Leistung heute*/; const idErtragGesamt = 'modbus.1.inputRegisters.30030Erzeugte_Leistung gesamt'/*Erzeugte Leistung gesamt*/; const idErsparnisHeute = 'javascript.0.Messwerte.PV_Huette.Ertrag_Heute'; const idErsparnisGesamt = 'javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt'; const idLaufzeitLow = 'modbus.1.inputRegisters.30032Laufzeit_low'/*Laufzeit gesamt*/; const idLaufzeitHigh = 'modbus.1.inputRegisters.30031Laufzeit_high'/*Laufzeit gesamt*/; const idLaufzeit = 'javascript.0.Messwerte.PV_Huette.Laufzeit'; const idRestkosten = 'javascript.0.Messwerte.PV_Huette.Amotisierung'; // Funktion Restkosten Berechnen function BerechnenRestkosten() { var Ersparnis = getState(idErsparnisGesamt).val; if(Ersparnis>0){ setState(idRestkosten,Anschaffungskosten-Ersparnis,true); if(logging)log("Restkosten Wechselrichter berechnet"); } } //Funktion Laufzeit berechnen function BerechnenLaufzeit() { var High = getState(idLaufzeitHigh).val; var Low = getState(idLaufzeitLow).val; if(Low>0 || High>0){ setState(idLaufzeit,High*18.203+Low/3600,true) if(logging)log("Gesamtlaufzeit Wechselrichter berechnet"); } } //Funktion Ertrag in € heute berechnen function BerechnenHeute() { var ErtragHeute = getState(idErtragHeute).val; if(ErtragHeute>0){ setState(idErsparnisHeute,ErtragHeute*Ersparnis,true); if(logging)log("Tagesstrom Ertrag berechnet"); } } // Funktion Ertrag in € Gesamt berechnen function BerechnenTotal(){ var ErtragGesamt = getState(idErtragGesamt).val; if(ErtragGesamt>0){ setState(idErsparnisGesamt,ErtragGesamt*Ersparnis,true); if(logging)log(" Gesamtstrom Ertrag berechnet "); } } // Scriptstart BerechnenHeute(); BerechnenTotal(); BerechnenLaufzeit(); BerechnenRestkosten(); // Trigger Berechnen Ertrag in € heute on(idErtragHeute, function(obj) { if(logging)log(" Trigger Ertrag Heute Ersparnis berchnen "); BerechnenHeute(); }); // Trigger Berechnen Ertrag in € Gesamt und Amotisierung on(idErtragGesamt, function(obj) { if(logging)log(" Trigger Ertrag Gesamt Ersparnis berchnen "); BerechnenTotal(); BerechnenRestkosten(); }); // Trigger High zum Berechnen Laufzeit gesamt on(idLaufzeitHigh, function(obj) { if(logging)log(" Trigger High Laufzeit berchnen "); BerechnenLaufzeit(); }); // Trigger Low zum Berechnen Laufzeit gesamt on(idLaufzeitLow, function(obj) { if(logging)log(" Trigger Low Laufzeit berchnen "); BerechnenLaufzeit(); });
-
ja die Steuerung per http Request funktioniert. Wenn ich die Position jetzt manuell verändere, wird bei Neustart des Scripts der erste Request ausgeführt. Eigentlich müsste ja der zweite Request ausgeführt werden....
Großen Danke im Voraus...