NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
Welche Version vom Modbusadapter verwendest du? Hab eine instanz mit nem RS485 Modbus laufen an welcher ein Solar Log Meßgerät eingelesen wird...halt kein TCP IP und läuft seit Monaten Fehlerfrei...
-
Version 3.0.0, direkt von Github installiert.
Solar Log hängt per Kabel an deinem IoBroker PC ?
-
@Wiednitz ja an meinem Raspberry pi / Multihost Slave
Denke das Problem ist auch, wenn der Modbus nix mehr sendet weil keine Sonne und Wechselrichter aus....Deshalb wäre mir bei der Anwendung MQTT lieber.
-
Na die Fehler kommen aber auch wenn der Inverter an ist ???
-
@Wiednitz ja stimmt, hab gerade im Log nachgeschaut....vlt.liegt es doch am Wlan...Ist ein paar meter weg im Garten der Wechselrichter...
-
@smartboart sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
vlt.liegt es doch am Wlan
-82db wifi RSSI was hast du? weist das zufällig?
-
Nein nicht auf Anhieb, ist ja jetzt nicht erreichbar...
-
Vielleicht ist der Sketch auch für einen esp8266 mit max485 TTL Konverter gedacht !? Es gibt auch Growatt Inverter mit Rs485 Ausgang !?
-
-77 db steht bei der esp-link Software für die Fritzbox drinnen...
-
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Vielleicht ist der Sketch auch für einen esp8266 mit max485 TTL Konverter gedacht !? Es gibt auch Growatt Inverter mit Rs485 Ausgang !?
könnte sein, das habe ich noch nicht überprüft. Man müsste halt wissen welchen Inverter der Entwickler des Sketch hatte....Ich habe ein ein issue auf Github offen, mal sehen ob er da antwortet. Ansosnten mal ne Nachricht schreiben.
Dank deinem Hinweis, dass es bei dir Fehlerfrei läuft ohne Growatt Stick, habe ich mal bei mir weiter gesucht. Ich hatte den Zuätzlichen Wemo mit ESP-link über den 5V Ausgang eines anderen Wemo versorgt. Das hat wohl nicht ausgereicht. Der hat jetzt seine Versorgung direkt und verhält sich nun auch gleich stabiler. Auch die LED zeigen nun deutlicher den Traffic an. Die Wlan Verbindung ist nun auch merklich stabiler und die Meldungen im Log haben sich reduziert.
Mit dem richtigen _Setup wirds bestimmt gut... -
Hab mit der Laufzeit mal etwas rumgerechnet high und low...aber ich komme auch auf keinen vernünftigen Wert. Das gilt es noch irgendwie zu lösen...
Auf die Fehlermedungen und der Einspeisesicherung / Sicherungsfall reagiere ich schon mit nem Script. Die Laufzeit würde ich auch noch gerne verarbeiten...
Aber wie ich auch rechne mit den beiden Werten, komme nicht auf die Gesamtlaufzeit...
-
Ha mit der Laufzeit wollte ich Dich auch schon fragen, ob du dir erklären kannst, wie die Chinesen auf folgenden Faktor kommen. Habe auch ewig gerechnet und vor zwei Wochen endlich gelöst.
Der Work Time Total Low Wert sind die aktuellen Sekunden, zählt fortwährend hoch. Diesen Wert also /60 Sekunden /60 Minuten ergibt die Stunden hh,min. Dieser Wert erreicht sein Maximum bei 32765 Sekunden (18,203x60x60/2).
Der Work Time Total High Wert erhöht sich um 0,5 , wenn die oben genannten 32765 Sekunden erreicht sind. Diesen Wert also x18,203=hh,min
Werte von gestern Abend:
Shine App zeigt 1000,1 h an.
Low Wert: 28818 s
High Wert: 54,528818/60/60=8,005 h
54,5x18,203=992,064 h
8,005+992,064=1000,069 hDie Betriebsstunden sind die Zeit, wenn der Inverter Strom erzeugt, wenn er auf die Nötige Spannung wartet, wird nix gezählt.
Wie kommen die Chinesen auf diese 18,203 ??????
-
Schön das es besser wird. Was meinst du mit dem richtigen Setup ?
-
@Wiednitz
super vielen Dank für die Formel, werde mir gleich ein script basteln um mir das in Vis anzuzeigen. Keine Ahnung wie die chinesen darauf kommen. Ich bin aber in einem growatt Sammelthread Forum angemeldet, wo sich auch deren support rumdrückt. da kann ich ja mal fragen...mit setup meine ich die Einstellungen im Modbusadapter. evtl. lässt sich im esp-link auch noch was herausfinden/optimieren .da habe ich was von 531> sleep enable,type: 2 im log gesehen. Das gibt es bei Tasmota auch. um strom zu sparen. vlt. kann man das irgendwo deaktiviern.
-
Naja durch die ständige Aktivität an rx und tx wird er sich wohl nicht schlafen legen !? Normal war diese Software gar nicht für unsere Zwecke gedacht, sondern die soll Microprozessoren flashen !?
-
@Wiednitz ja kann sein das es nichts bringt....Hab mal MQTT in esp link deaktiviert, ändert aber auch nix....über MQTT frage ich hier nur die Verbindung ab....
Falls du interesse hast hier mal ein Script für die Berechnung gesamtzeit und Ersparnis... Sowie eins zur Überwachung der Anlage
/* 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"}); //Variablen var logging = true; // true = log aktivieren / false = log deaktivieren var Ersparnis = 0.31; //Strompreis für kw/h in € hier 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'; //Funktion Laufzeit berechnen function BerechnenLaufzeit() { if(logging)log("Gesamtlaufzeit Wechselrichter berechnet"); var High = getState(idLaufzeitHigh).val; var Low = getState(idLaufzeitLow).val; var Lafzeit = getState(idLaufzeit).val setState(idLaufzeit,High*18.203+Low/3600) } //Funktion Ertrag in € heute berechnen function BerechnenHeute() { if(logging)log("Tagesstrom Ertrag berechnet"); var ErtragHeute = getState(idErtragHeute).val; if(ErtragHeute>0)setState(idErsparnisHeute,ErtragHeute*Ersparnis,true); } // Funktion Ertrag in € Gesamt berechnen function BerechnenTotal(){ if(logging)log(" Gesamtstrom Ertrag berechnet "); var ErtragGesamt = getState(idErtragGesamt).val; setState(idErsparnisGesamt,ErtragGesamt*Ersparnis,true); } // Scriptstart BerechnenHeute(); BerechnenTotal(); BerechnenLaufzeit(); // Trigger Berechnen Ertrag in € heute on(idErtragHeute, function(obj) { if(logging)log(" Trigger Ertrag Heute Ersparnis berchnen "); BerechnenHeute(); }); // Trigger Berechnen Ertrag in € Gesamt on(idErtragGesamt, function(obj) { if(logging)log(" Trigger Ertrag Gesamt Ersparnis berchnen "); BerechnenTotal(); }); // 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(); });
// Telegramm schickt Pushnachricht bei Sicherungsfall PV Einspeisung oder Inverterstörung Gartenhuette var logging = true; // log aktivieren deaktivieren // Konstanten const id1 = 'sonoff.0.Wemo_Huette.POWER6'/*Sicherung PV Einspeisung*/; const id2 = 'modbus.1.inputRegisters.30001Inverter_Status'/*Inverter Status*/ const id3 = 'javascript.0.Vis.Stoermeldung_PV_Huette'/*Störung PV Anlage Huette Status*/; // Funktion Auslösen der Einspeisesicherung function FuseAlarm(){ sendTo("telegram.0", "send", {text: 'Achtung: Störung PV Anlage Gartenhuette, Einspeisesicherung hat ausgelöst '}); setState('fullybrowser.0.192_168_1_53.Commands.textToSpeech'/*textToSpeech*/, 'Achtung Sicherungsfall Wechselrichter Gartenhuette '); if (logging) log ('Sicherungsfall Wechselrichter Garten Hütte'); setState(id3,true); } // Funktion Inverter Alarm function InverterAlarm(){ sendTo("telegram.0", "send", {text: 'Achtung: Störung PV Anlage Gartenhuette, Inverter Störung '}); setState('fullybrowser.0.192_168_1_53.Commands.textToSpeech'/*textToSpeech*/, 'Achtung Wechselrichter Gartenhuette Stoerung '); if (logging) log ('Wechselrichter Gartenhuette Störung '); setState(id3,true); } // Funktion Alarm Reset wenn Fehler behoben function StoerungReset(){ var Stoerung = getState (id3).val; var Fuse = getState(id1).val; var Inverter = getState (id2).val; if(Stoerung && Fuse && Inverter <3){ sendTo("telegram.0", "send", {text: ' Störung PV Anlage Gartenhuette zurück gesetzt '}); setState (id3,false); if (logging) log ('Störung PV Anlage Gartenhütte zurück gesetzt'); } } //Skriptstart setState (id3,false); //Trigger on({id:id1,val:false,change:'ne'},function(dp){ FuseAlarm(); }); on({id:id2,val:3,change:'ne'},function(dp){ InverterAlarm(); }); on({id:id1,val:true,change:'ne'},function(dp){ StoerungReset(); }); on({id:id2,val:0,change:'ne'},function(dp){ StoerungReset(); }); on({id:id2,val:1,change:'ne'},function(dp){ StoerungReset(); });
-
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 ?