NEWS
E3DC Hauskraftwerk steuern
-
@arnod sagte in E3DC Hauskraftwerk steuern:
Wenn ich nur mehr Zeit hätte, könnte mich schon wieder stundenlang damit beschäftigen
Ja das trifft es.. Hab mir ne ganze Nacht um die Ohren gehauen.
Hab die anleitung noch aktualisiert. Lasse es jetzt mal über nacht im Testsystem laufen. Mal sehen wie es rennt. 604 neue aktive States , hab mal alles ausgewählt..Das tool musste ich ein paar mal starten bis es richtig lief. So richtig stabil lässt es sich nicht konfigurieren. Wenn es mal läuft läufts..
Interessant sind vo allem diese Daten...Wenn hier ne Batterie anfängt zicken zu machen sieht man es hier an der Zellenspannung am ehesten.. Aber SOH ist ja auch schon aussagekräftig... Gibt ne mächtige view wenn das stabil läuft...
-
@ArnoD
Die Anleitung ist jetzt Wasserdicht. Habe es im life System.. Das Tool läuft unter linux nun viel stabieler als unter Windows und absolut schnell. -
@smartboart
Ok super, dann werde ich heute Nachmittag mal versuchen es auf meiner Synology NAS in einem Debian Docker Image zu installieren.
Wenn Python 2.7 und 3.7 nicht installiert ist muss ich das vorher noch machen oder ?? -
Wer kann mir helfen??
Ich möchte zwei Datenpunkte auslesen und in einen dritten Datenpunkt als Summe speichern. Hintergrund, die E3DC hat neben dem S10 einen zusätzlichen Wechselrichter SW12 und in der VIS möchte ich die Summe der erzeugten Solarenergie anzeigen lassen (FLOT-Diagramm)
Mit folgendem Javasript erhalte ich zwar keine Fehlermeldungen aber auch keinen Summenwert.
Wo liegt mein Gedankenfehler?
-
@goelectric sagte in E3DC Hauskraftwerk steuern:
Wo liegt mein Gedankenfehler?
+ fügt nur zusammen... so klappts a*1 + b*1
-
@arnod ja ist notwendig...
Arno ich hatte heute Probleme beim Abruf mit folgender Meldung im Log.
2021-03-19 13:54:53.715 - error: javascript.1 (711) script.js.common.PVAnlage.E3DCS10EPro: E3DC Control: Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200
Erstmal nicht ungewöhnlich, aber problematisch war, dass ich wegen dieser Meldung keine Programmvorwahl manuell anwählen konnte.
Kannst du mal versuchen ob du das nachstellen kannst? Kein Internet und nach der Meldung versuchen ein Programm manuell vorzuwählen. Also z.B von Sonne auf Bewölkt alles laden umstellen.
Den Fehler sollten wir irgendwie abfangen, damit dadurch nicht das Script blockiert wird..
-
@smartboart
Du findest aber auch jeden Fehler
OK habe ich korrigiert, Danke.Neue Version 0.2.22 hochgeladen.
Version: 0.2.22 Fehler manuelles Umschalten der Einstellungen ohne Internetverbindung nicht möglich korrigiert -
@goelectric
Deine Berechnung ist schon richtig, nur modbus.0.holdingRegisters.40076 ist immer ein negativer Wert und du musst
das erst mit Math.abs() in einen positiven Wert umwandeln.var summe = a + Math.abs(b);
-
@smartboart
Ok bei der Synology NAS mit Docker funktioniert das so nicht.
Ich kann aber ein Paket Virtual Maschine installieren und Ubuntu Desktop laufen lassen.
Ich weiss nur nicht wie ich dann RSCPGui da installieren kann.
Aber erst mal eins nach dem anderen, muss erst mal Ubuntu zum laufen bekommen. -
-
-
@smartboart
Jetzt übertreibst du aber
Das macht natürlich was her, da kann man nur neidisch werden.
Ist das ein 15.6" HDMI LCD Touch Screen ? -
@smartboart sagte in E3DC Hauskraftwerk steuern:
@arnod per vnc in den Desktop rein... Und dann dort in der ssh console in den Ordner rein navigieren und mit python3 main.py starten. . . Müsste doch gehen oder..
Werde ich mal versuchen.
Das mit der Virtual Maschine geht auch nicht, da meine NAS zu wenig Speicher hat. -
@arnod sagte in E3DC Hauskraftwerk steuern:
@smartboart
Jetzt übertreibst du aber
Das macht natürlich was her, da kann man nur neidisch werden.
Ist das ein 15.6" HDMI LCD Touch Screen ?Nein leider nicht ist nur ein 7 Zoll Touch.. Hatte ich mal fuer mein vis gedacht. Unten rechts habe ich 2 raspi 4 mit 8gb. Einer fuer iobroker der Andere als Server mit Touch. Auf dem läuft sql, vpn, und jetzt auch rscp. Über den beiden raspi habe ich noch ne DC ups 12v. Da hängen die raspis und die fritte dran. Und noch nen Lüfter in der tuer... 20 min Autonomie UNTERBRECHUNGSFREI. Bis die notstromfunktion von e3dc da ist langt das dicke...
-
@arnod sagte in E3DC Hauskraftwerk steuern:
@smartboart sagte in E3DC Hauskraftwerk steuern:
@arnod per vnc in den Desktop rein... Und dann dort in der ssh console in den Ordner rein navigieren und mit python3 main.py starten. . . Müsste doch gehen oder..
Werde ich mal versuchen.
Das mit der Virtual Maschine geht auch nicht, da meine NAS zu wenig Speicher hat.Schade... extra ein separates Teil wuerde ich jetzt auch nicht extra laufen lassen dafür. .. fuer den Anfang werde ich erstmal die vis mit den states aufbohren.. Bis ich denke das es stabil genug läuft lasse ich die andrenen adapter aktiv. ..
-
Hi Arno oder in die Runde...
Ich bin auf der Suche nach einer Möglichkeit im Script 45 States ( Zellenspannungen von 3 Batterien ) mittels Enum Funktion (Zellenspannung zugeordnet ) zu vergleichen und bei Abweichung einer Zelle > 0.1V zu allen anderen entsprechen zu triggern. bzw. eine Log Meldung auszugeben... Vlt. hat sowas ähnliches schon mal jemand gemacht? Ansosnten werde ich mich wohl mit tryand error durchwursteln müssen..
Esgeht um die Werte im rot markierten Bereich siehe Bild.. -
Ok,
hab es hinbekommen..
falls noch jemand die Zellenspannung überwachen möchte, hier das Script dazu...Natürlich ist dazu folgendes nötig..https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/800?_=1616613261044
var logging = true; var debug = true; var tolleranz = 0.1// Tolleranz Abweichung der Zelle in Volt zum Durchschnitt var cacheSelector = $('(functions=Zellenspannung)'); /* const rm = $('(functions=Zellenspannung)'); rm.each(function(id, i) { log('test ' + id); }); */ var status = null; var anzahlZellen = 0; var durchschnittZellenspannung = 0; var summenspannung = 0; function countBat() { summenspannung = 0; anzahlZellen = 0; if (logging)log('E3DC Batterie Zellenüberwachung: Funktionsstart countBat'); cacheSelector.each(function (id, i) { ++anzahlZellen; summenspannung = summenspannung + getState(id).val; if (debug)log('E3DC Batterie Zellenüberwachung: Zelle: '+anzahlZellen+ ' Zellenspannung ' +getState(id).val+ ' V Summe ' +summenspannung ); }); } function checkBat() { var spannung = 0; if (logging)log('E3DC Batterie Zellenüberwachung: Funktionsstart checkBat'); cacheSelector.each(function (id, i) { var name = getObject(id).common.name; spannung = getState(id).val; var devicename = name.replace(/( |<([^>]+)>)|(_)|(0)|(:)/ig, " "); if (spannung > durchschnittZellenspannung*1+tolleranz*1 || spannung < durchschnittZellenspannung*1-tolleranz*1 ){ if(logging)log ('E3DC Batterie Zellenüberwachung: Batteriezelle Tolleranzüberschreitung ' + devicename + ' Zellenspannung beträgt ' + spannung + ' V, der Durchschnitt liegt bei ' + durchschnittZellenspannung + ' V'); sendTo("telegram.0", "send", {text: ('E3DC Batterie Zellenüberwachung: Batteriezelle Tolleranzüberschreitung ' + devicename + ' Zellenspannung beträgt ' + spannung + ' V, der Durchschnitt liegt bei ' + durchschnittZellenspannung + ' V')}); } }); } // Trigger schedule("'37 */3 * * *'", function () { if (debug) log('E3DC Batterie Zellenüberwachung: Abfragetrigger aktiv.'); countBat(); setTimeout(function(){ durchschnittZellenspannung = summenspannung / anzahlZellen; if (debug)log('E3DC Batterie Zellenüberwachung: Anzahl Zellen : ' +anzahlZellen + ' Addierte Spannung : '+ summenspannung+ 'Durchschnitt beträgt : ' + durchschnittZellenspannung); },2000); setTimeout(function(){ checkBat(); },4000); }); //Scriptstart if (debug) log('E3DC Batterie Zellenüberwachung: Auslöser Skriptstart'); countBat(); setTimeout(function(){ durchschnittZellenspannung = summenspannung / anzahlZellen; if (debug)log('E3DC Batterie Zellenüberwachung: Anzahl Zellen : ' +anzahlZellen + ' Addierte Spannung : '+ summenspannung+ ' V Durchschnitt beträgt : ' + durchschnittZellenspannung + ' V'); },2000); setTimeout(function(){ checkBat(); },4000);
-
@smartboart
Sorry das ich erst jetzt antworte, aber ich hätte da auch keine fertige Lösung gehabt.
Warum willst du eigentlich die Zellenspannungen überwachen ? -
@arnod sagte in E3DC Hauskraftwerk steuern:
@smartboart
Sorry das ich erst jetzt antworte, aber ich hätte da auch keine fertige Lösung gehabt.
Warum willst du eigentlich die Zellenspannungen überwachen ?Hi kein Problem.. . Hatte ja schon ne idee wie ich es umsetze.
Die Zellenspannung ist der Indikator fuer eine gesunde Batterie... es gehen meistens einzelne Zellen kaputt. Es altern zwar alle gleichzeitig, aber bei fertigungsfehlern oder spontane defekte bzw. qualitaetsproblemen sind meistens nur einzelne Zellen betroffen.. Gehen einzelne Zellen kaputt, Faellt das dem Betreiber in der Regel nicht auf. Erst wenn mehrere nicht mehr tun was sie sollen merkt man es an der Kapazität wenn man glück hat noch rechtzeitig ... Fuer frühzeitige Reklamationen innerhalb der Gewährleistung und den zustand der Batterie zu kennen finde ich es spannend das zu überwachen. Ausserdem war ich einige Zeit Projektleiter in der notstrom Branche und bei usv Anlagen ist es eine nachgefragte Option... -
@smartboart Laufen die Werte von bzw. überhaupt vorhandene einzelne kaputte Zellen nicht auch in den SoH rein? Keine Ahnung, was für Sensoren und Formeln hinter der Berechnung der schnöden einen Prozentzahl liegen...