NEWS
EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker
-
@samson71 sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Ich bin nur hier, um den TE bei seinem Problem EPEVER-ELFIN-ModBus zu helfen.
Sorry, das habe ich dann irgendwie quer bekommen, bzw. falsch aufgefasst.
Null Problemo, man ließt meist auch nicht mehr den Thread von Anfang an, man möchte ja nur helfen
...um dann mal wieder auf das Eingangsproblem zu kommen: ich bekomme mittels Elfin <-> ModBus keine stabile Kommunikation zum EPEVER. Der bricht immer wieder ab und spamt dann das ioB-Log voll.
Scheint da aber am Adapter zu liegen, denn der EPEVER kann sehr wohl mit dem Elfin. Hier mal mittels NodeRED ausgelesen, klappt wunderbar und stabil (nur ein 12V LiFePo4-Akku zum testen dran, kein Load, kein Panel):
-
Hallo, bin aus dem Urlaub zurück und habe die anschließende Erkältung halbwegs überstanden. Zeit sich wieder einmal dem Projekt zu widmen und die notwendigen Teile zu bestellen... Gibt es denn bei euch schon Fortschritte?
@marc-bunge sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
plane ein YouTube Video wo ich meine Lösung vorstelle und da hat er auch nichts dagegen.
was macht das Video?
Gruß Bernhard
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Scheint da aber am Adapter zu liegen, denn der EPEVER kann sehr wohl mit dem Elfin. Hier mal mittels NodeRED ausgelesen, klappt wunderbar und stabil (nur ein 12V LiFePo4-Akku zum testen dran, kein Load, kein Panel):
Wie kann ich denn die Daten des ELFIN mittels NodeRed einlesen und benutzen?
Gruß Bernhard
-
@bernhard59 Ich habe zuerst die ModBus-Node installiert. Dann bei der Node "ModBus-Get" als Server den Elfin (mit Standardeinstellungen) konfiguriert und ein Register (12570? für SoC) eingetragen, Debug-Node dran gehängt, schon kam nach dem Deploy der SoC vom EPEVER zurück.
Nix gegen programmieren, aber ich bin doch eher faul und jetzt alle HEX-Register umrechnen und da eintragen? Nö, eher nicht, da gübbet es doch bestimmt auch was von ratiopharm, äähhh, Tante Google... Hat sich doch bestimmt schon wer die Arbeit gemacht...
https://github.com/AdamWelchUK/NodeRedEPEverDashboard
Nach dem Import muss man nur seinen Elfin als Server anlegen und, glaube es waren drei, ModBus-Get-Nodes auf den eigenen Elfin-Server umstellen. Fertig. Der Flow kann auch eine CSV schreiben, erzeugt eine JSON, schreibt auf Wunsch direkt in eine Influx, erzeugt das Dashboard. Hat keine 5 Minuten gedauert.
Man müsste nun nur noch ggf. die JSON an den ioB schicken....und mein Container-Schiff ist angelandet, die Zellen stehen beim Zoll
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
...und mein Container-Schiff ist angelandet, die Zellen stehen beim Zoll
Na dann geht's ja vorwärts...
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Danke für die schnelle Antwort, aber irgendwie streikt mein altes Elektrikergehirn...
Ich habe laut Installationsanweisungen im Pallettenmanager von Node-RED folgendes installiert: Node-Red-Dashboard, node-red-contrib-modbus, node-red-contrib-influxdb und Node-Red-Contrib-Moment.Komme aber hier nicht weiter...
Nach dem Import muss man nur seinen Elfin als Server anlegen und, glaube es waren drei, ModBus-Get-Nodes auf den eigenen Elfin-Server umstellen. Fertig. Der Flow kann auch eine CSV schreiben, erzeugt eine JSON, schreibt auf Wunsch direkt in eine Influx, erzeugt das Dashboard. Hat keine 5 Minuten gedauert.
Man müsste nun nur noch ggf. die JSON an den ioB schicken.Vielleicht könnt ihr mir dabei etwas unter die Arme greifen...
-
@bernhard59 sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Vielleicht könnt ihr mir dabei etwas unter die Arme greifen..
Auch da immer gerne, dauert bei mir nur augenblicklich ev. etwas, bin meist nur einmal täglich hier
Hast du beim Pallettenmanager eine Fehlermeldung bekommen? Bei mir lief es nicht korrekt, da sich die Installationsroutine geändert hat und "unser" NodeRED ja schon etwas älter ist als ein aktuelles Release.
Hat du jetzt zumindest "ModBus-Nodes" zur Auswahl? Falls nicht müssen wir es über die Konsole installieren.
Erster Test:
- eine ModBus-Read Node
- eine Debug Node
(hier läuft das Ganze bereits und ließt alle 10 Sekunden den "SoC" aus)Konfiguration "Read"
dann den Server noch konfigurieren
beim Elfin alles als Default lassen bzw. wie im Video zu sehen.
Dann sollten nach dem Deploy alle 10 Sekunden (oder welches Intervall du eingestellt hast) der SoC kommen. Wenn das soweit funktioniert können wir dann den kpl. Flow importieren/konfigurieren -
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Auch da immer gerne, dauert bei mir nur augenblicklich ev. etwas, bin meist nur einmal täglich hier
Hallo und danke, wieder einmal, für die schnelle und perfekte Hilfe !!!
Ich habe bei der Installation im Pallettenmanager keine Fehlermeldung bekommen und ich habe "ModBus-Nodes" zur Auswahl. Jetzt habe ich auch schon den ersten Test von dir ausgeführt und alles funktioniert... es kann weiter gehen
-
@bernhard59 sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
es kann weiter gehen
Leider etwas abwesend, bin aber wieder da
Ok, dass sieht dann richtig gut aus.
Dann kannst du jetzt unter https://github.com/AdamWelchUK/NodeRedEPEverDashboard/blob/master/EPEverDashboardv0.2.json die Flows aufrufen und dort mittels Button rechts oben Copy Raw File kopieren. Nun in NodeRED im Burger-Menu Import und dort die Zwischenablage einfügen.Sieht dann etwas wild aus (bei mir gestrichelt da ich den Flow aktuell deaktiviert habe):
aber du musst eigentlich nur bei den drei "ModBus-Get"-Nodes deinen Server (den sollte er noch von deinem Test gespeichert haben) auswählen/ändern. Deploy und das Dashboard sollte dann schon mal Werte liefern
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Leider etwas abwesend, bin aber wieder da
Kein Problem...
Ich habe die Flows importiert und bei den "ModBus-Get"-Nodes meinen Server ausgewählt.
Die "ModBus-Get"-Nodes sind auch aktiv und mein Elfin ist mit meinem Mini PC verbunden...Dann habe ich folgendes ausgeführt: "Um auf die Statistiken zuzugreifen und Einstellungen anzupassen, müssen Sie auf http://Your.IP.Add.ress:1880/ui zugreifen". Ich sehe jetzt auch das "EPEver Dashboard", leider aber ohne Werte... muss ich da noch irgendetwas einstellen???
-
Hallo, ich hab mal noch ein bisschen rumprobiert und jetzt die Anschlüsse Rx und Tx am Stecker des Elfin für den RJ45 getauscht... und siehe da... ich habe Werte in meinem Dashboard
Jetzt muss ich nur noch herausfinden, wie ich einzelne Werte davon in meinem Node RED Flow benutzen kann...
-
Erstaunlich das er da beim Test den SoC auslesen konnte. Eigentlich ist bei ModBus egal ob A<->A und B<->B angeschlossen ist oder vertauscht wurde. Gerade das macht ModBus so störunanfällig. Aber bei A an B und umgekehrt wird aus der logischen "0" eine "1" und umgekehrt, was dann beim auslesen von Werten sehr wohl einen Unterschied macht
Die Daten direkt in die Influx schreiben ist IMO nicht der richtige Weg, außer man will nur per Grafana visualisieren.
Mangels Equipment mach ich gerade nichts dran, aber ich würde mich an den CSV-Zweig mit anhängen.
Wenn man da die Werte anstelle eines CSV-Builds an eine ioB-Out Node hängt, landen die Werte auch im ioB. Einfacher wäre allerdings hier ein JSON zu bauen, da man dann immer nur einen DP schreiben muss.
-
Ja, aber so im nachhinein... sah das beim Testauslesen des SoC irgendwie anders aus. Jetzt gibt der Debug Node jedenfalls auch dort einen richtigen Zahlenwert aus z.B.:
" 26.10.2023, 14:20:31node: debug 4 SOC : msg.payload : array[1] [ 62 ] "Leider weiß ich nicht, wie der SoC ermittelt wird und die angezeigten Werte schwanken, je nach Stromabnahme und Ladespannung an der Batterie, sehr. Ist ja wahrscheinlich auch logisch, da sich der SoC der Batterie eigentlich auch nur ohne angeschlossene Verbraucher usw. ermitteln lässt, oder?
Trotzdem habe ich dazu noch eine Frage... Kann man eventuell, so wie beim Testauslesen des SoC, auch andere einzelne Werte auslesen? Von Interesse wäre da z.B. die Temperatur der Batterie, da sie ja unter 0° C nicht geladen werden darf... Gibt es da eine Übersicht, mit welcher Adresse man welche Werte auslesen kann?Ansonsten wäre noch interessant, ob man die Daten auch in die sql.0 Datenbank einlesen kann, denn influxdb funktioniert auch meinem Mini PC mit Windows 11 sowieso irgendwie nicht...
-
Eigentlich kann nur das BMS des Akkus den SoC korrekt ermitteln, außer ev. du nutzt noch den "Load" vom EPEVER als Ausgang. Andernfalls hast du ja keinen messbaren Stromfluss des Akkus (nur den Ladestrom), da kann der SoC nur anhand der Spannung und des Ladestromes geschätzt werden.
Pauschal kannst du alles auslesen was der EPEVER hergibt. Die Temperatur wird sogar schon ausgelesen (also der externe Sensor des EPEVERs). Die möglichen Register habe ich aus einer PDF: https://www.img4.cz/i4wifi/attach/StoItem/7124/MODBUS-Protocol-v25.pdf
Wenn du da den SoC suchst kommst du auf HEX 0311A was dann Dezimal den bekannten 12570 entspricht...und für SQL brauchst du dann nur eine SQL-Node anstelle der Influx-Node, oder du schreibst die Werte mittels "ioB Out"-Node in passende Datenpunkte in den ioB und loggst sie dann darüber in die Datenbank.
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Eigentlich kann nur das BMS des Akkus den SoC korrekt ermitteln...
Ja, da ich den SoC aber nicht am BMS meines Akkus auslesen kann, werde ich weiter mit der Batteriespannung von der DTU arbeiten. Das klappt bisher ganz gut.
Das mit dem Auslesen des EPEVER klappt auch hervorragend, wenn man die Tabelle mit den möglichen Registern hat... Danke dafür...
Nur mit dem Schreiben der Werte in meine SQL DB klappt es noch nicht. Ich habe eine SQL-Node anstelle der Influx-Node in den Flow eingesetzt. Sie hat die gleichen Einstellungen wie die Influx-Node, heißt nur anders. Wie bekomme ich nun aber die Werte in meine SQL Datenbank bzw. was mache ich falsch?
-
@bernhard59 sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
Wie bekomme ich nun aber die Werte in meine SQL Datenbank bzw. was mache ich falsch?
Was du nicht lesen willst: da muss ich leider passen. Ich nutze keine SQL-Datenbank, die ist für zeitbasierte, lineare Ereignisse einfach nicht die ideale Datenbank (ich weiß, du musst...). Da ist Influx um Längen besser...
Bliebe nur der Weg per ioB-Out-Node die Werte (oder ein JSON) in den ioBroker zu schreiben. Dann kannst du die DPs ja wieder in die SQL loggen.
btw: bin gerade am testen meiner Zellen (sind am Montag gekommen). 12h pro Zelle, das wird jetzt erst mal 14 Tage dauern. Dann ca. 14 Tage für das Top-Balancing...
Gehäuse steht auch schon im DPD-Auslieferungslager, wäre heute gekommen wenn nicht Allerheiligen wäre. Aber ich brauche eh noch 4 Wochen bis ich mit den Zellen fertig bin. -
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
bin gerade am testen meiner Zellen ...
Freut mich, daß deine Zellen angekommen sind. Es dauert aber, bis man es dann endlich zusammen bauen kann. Bei mir kommt bei diesem Wetter zur Zeit knapp 1 kWh am Tag von den Solarpanelen und die verbrauche ich dann relativ schnell gleich wieder. Also lohnt sich wahrscheinlich die Erweiterung meines Akkus nicht.
Ich hatte an meinem Raspberry auch die influxDB mit Grafana benutzt, aber an meinem jetzigen Mini PC mit Windows 11 habe ich das aber leider nicht zum Laufen bekommen. Deshalb benutze ich zur Zeit halt SQL und ECharts... vielleicht hat ja jemand ein paar Tipps dazu...
-
@bernhard59
Gehäuse ist mittlerweile auch da. Irgendwie habe ich mir das kleiner vorgestellt (allerdings als ich die 16 Zellen dann in echt sah, war mir auch klar, dass das größer wird. Man liest dann immer BTH x y z cm, hat aber keine wirkliche Vorstellung der Ausmaße). Naja, notfalls kann Meister Lampe nebst seiner Großfamilie darin einziehen...Ich weiß nicht ob der Flow an der Stelle wirklich funktioniert, ich habe nix in die Influx direkt geschrieben.
Ich würde mal eine einfache Inject-Node mit der SQL-Node verbinden und so testen, ob du bspw. die aktuelle Uhrzeit in die SQL schreiben kannst. Ev. ist ja auch die SQL-Node noch irgendwie falsch konfiguriert.Ich liege aktuell bei etwa 1.3kWh pro Tag. Ist noch kein ganzes Jahr, aber aktuell erzeugt 0,85MWh. Würde mit den beiden neuen Modulen bei gleicher Leistung (obwohl sie ja besser sind, muss sich aber noch zeigen wie viel besser) bei meinem aktuellen Stromtarif eine Ersparnis von rund 550,- € pro Jahr ergeben. Dann könnte es sich sogar in 5-6 Jahren amortisieren.
-
@sborg sagte in EPEVER XTRA4415 mit Elfin EW11 u. Modbus Adapter in iobroker:
@bernhard59
Gehäuse ist mittlerweile auch da...Hallo, na wie läuft's bei dir?
Ich habe gestern, bevor es in meiner Garage richtig kalt wird, meine Batterie isoliert. Dazu musste ich alles ausschalten und ein paar Kabel umverlegen. Nach dem Einschalten funktionierte auch alles wieder einwandfrei, aber irgendwann am Abend hat meine DTU ihre Daten im ioBroker nicht mehr aktualisiert. Naja, ich habe alles neu gestartet und dann ging es wieder, aber über Nacht war das gleiche Problem. Ich vermute, dass der Funkkontakt zum Wechselrichter irgendwie schlecht war, denn ich habe ja die ganze Technik in einem Schaltschrank aus Stahlblech montiert. Naja... heute habe ich die DTU im Schaltschrank an einer anderen Stelle angebracht, damit sie sowohl mit dem Wechselrichter im Schaltschrank, als auch mit meinem Wlan in der Garage funken kann. Es lief auch den ganzen Tag problemlos, bis am Nachmittag kurz die Sonne rauskam und der Wechselrichter eingeschalten wurde... wieder keine Daten aktualisiert. Jetzt hab ich erst mal alles aus, ist ja eh keine Sonne... na mal sehen.So kann man sich auch beschäftigen... man hat ja sonst nichts zu tun, im Vorruhestand bei dem Wetter
-
So, ich habe den Fehler gefunden... Man kann in der Software der DTU die NRF24 Sendeleistung in Stufen einstellen. Das hatte ich bisher immer auf der kleinsten Stufe, da die DTU und der Wechselrichter ja ziemlich dicht zusammen sind. Das habe ich erhöht, weil ich dachte, dass die Verbindung dann stabiler ist... FALSCH... wenn die Leistung erhöht wird, wird auch mehr Leistung vom Netzteil verlangt. Da habe ich aber "nur" ein kleines USB Netzteil mit 1A und das reicht dann nicht mehr. Jetzt habe ich die Sendeleistung wieder auf der kleinsten Stufe und alles funktioniert einwandfrei...