NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
ist dein log auch Fehlerfrei wenn der Wechselrichter aus ist?
-
Log von eben gerade wenn Aus, Modbusadapter ist ja ohne Strom, da Inverter Strom für den Adapter liefert.
modbus.0 2019-11-30 20:07:52.573 debug Closing client on purpose. modbus.0 2019-11-30 20:07:51.561 debug Cleaning up request fifo. modbus.0 2019-11-30 20:07:51.561 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:07:51.560 debug Socket closed with error modbus.0 2019-11-30 20:07:51.560 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:07:51.560 error Client in error state. modbus.0 2019-11-30 20:07:51.560 error Socket Error modbus.0 2019-11-30 20:07:43.169 debug system.adapter.admin.0: logging true modbus.0 2019-11-30 20:06:48.079 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:48.079 info List of port: [] modbus.0 2019-11-30 20:06:47.054 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:47.053 info List of port: [] modbus.0 2019-11-30 20:06:46.037 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:46.037 info List of port: [] modbus.0 2019-11-30 20:06:45.014 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:45.014 info List of port: [] modbus.0 2019-11-30 20:06:43.983 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:43.982 info List of port: [] modbus.0 2019-11-30 20:06:42.949 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:42.948 info List of port: [] modbus.0 2019-11-30 20:06:41.918 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:41.918 info List of port: [] modbus.0 2019-11-30 20:06:40.901 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:40.901 info List of port: [] modbus.0 2019-11-30 20:06:39.886 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:39.886 info List of port: [] modbus.0 2019-11-30 20:06:38.611 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:38.610 info List of port: [] modbus.0 2019-11-30 20:06:30.536 debug Closing client on purpose. modbus.0 2019-11-30 20:06:29.523 debug Cleaning up request fifo. modbus.0 2019-11-30 20:06:29.522 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:06:29.522 debug Socket closed with error modbus.0 2019-11-30 20:06:29.522 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:06:29.522 error Client in error state. modbus.0 2019-11-30 20:06:29.522 error Socket Error modbus.0 2019-11-30 20:05:08.492 debug Closing client on purpose. modbus.0 2019-11-30 20:05:07.481 debug Cleaning up request fifo. modbus.0 2019-11-30 20:05:07.480 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:05:07.480 debug Socket closed with error modbus.0 2019-11-30 20:05:07.479 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:05:07.479 error Client in error state. modbus.0 2019-11-30 20:05:07.479 error Socket Error modbus.0 2019-11-30 20:03:46.445 debug Closing client on purpose. modbus.0 2019-11-30 20:03:45.445 debug Cleaning up request fifo. modbus.0 2019-11-30 20:03:45.445 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:03:45.445 debug Socket closed with error modbus.0 2019-11-30 20:03:45.444 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:03:45.444 error Client in error state. modbus.0 2019-11-30 20:03:45.443 error Socket Error
Mit den Zeiten hat es heute Navhmittag funktioniert...
Wie oft kommen die Fehler ?
-
Stimmt du versorgst den Wemoja mit der Inverterschnittstellen Spannung....Meiner hängt an ner Batterie...Die Fehler kommen jede Minute mit den Einstellungen die du als erstes ganz oben geteilt hast...Werde mal die von eben probieren...
-
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 !?