NEWS
[Neuer Adapter] BYD HVS
-
Hallo zusammen!
Nachdem ich eine Weile im Forum eher passiv mit lese hier mein erster Versuch eines Adapters.
https://github.com/christianh17/ioBroker.bydhvs
Mit dem Adapter können die Batteriedaten eines BYD HVS Solarspeichers ausgelesen werden. Ähnlich wie bei der beConnect App gibt es sowohl die "normalen" Daten als auch die "Diagnose-Daten". Die Diagnose-Daten sind aber bisher nur Systeme mit 2 und 4 Batterie-Packs getestet. Ich gehe davon aus, dass sie auch problemlos bei 3 Packs funktionieren werden bei 5 eher nicht: Die Daten passen nicht in die von mir gefundenen Strukturen, dazu bräuchte ich dann Beispieldaten um dieses auch noch einzubauen.
Wichtiger Hinweis: Die Diagnose-Daten müssen offensichtlich separat aus den Modulen gelesen werden. Nach dem Anstoßen des Lesevorganges muss ca. 3 Sekunden gewartet werden bis die Daten auch abrufbar sind. Daher ist der Adapter primär so eingestellt das die Diagnosedaten nicht bei jedem Poll mitgelesen werden und die Konfiguration so voreingestellt, dass dieses nur bei jedem 60. Lesevorgang geschieht. Ob der Speicher Schaden durch zu häufiges Auslesen nimmt kann ich nicht beurteilen.
Konfiguration:
- Intervall: Alle n Sekunden werden die Daten aus der Batterie gelesen
- IP-Adresse: Sollte klar sein
- Diagnose-Daten: Wenn das Feld angeklickt ist werden auch die Diagnose-Daten (Also Spannungen pro Zelle, Temperaturen pro Zelle, Zellnummer mit der höchsten / niedrigsten Spannung etc.) gelesen.
- Testmodus: Wenn angeklickt werden die gelesenen Hex-Daten direkt als Fehler ausgegeben, das reduziert das Logfile wenn gewünscht. Ansonsten gibt es ohnehin bei "silly" jede Menge output.
- Batterie-Details: Hier bitte einstellen alle wie viele Lesezyklen die Diagnosedaten mit ausgelesen werden.
Ich persönlich nutze den Adapter ausschließlich dafür um die Ladung / Entladung am Ende der Vorgänge zu verlangsamen damit der Speicher vernünftig balancen kann. Wenn jemand weiß welche Spannungen für die Zellen günstig sind, so dass die Lebensdauer verlängert wird: Bitte einen Tipp zu mir. Im Augenblick habe ich die Spannungsgrenze nach oben bei 3,4 Volt (dann nur noch 100 Watt Laden), 3,45 Volt - (nur noch 50 Watt laden) und 3,5 Volt (nicht mehr Laden) eingestellt. Damit laufen die Zellspannungen nur sehr wenig auseinander.
Dieses ist aber keine Funktion des Adapters sondern extra einzubauen, ich nutze dafür den modbus-Adapter am Plenticore 8.5 und ein wenig JS, es gibt aber sicher noch diverse andere Kombinationen mit anderen Wechselrichtern.Damit Ihr auch seht wie das am Ende aussieht, hier ein Screensot von meinen aktuellen Daten.
Ich würde mich freuen wenn Ihr diesen Adapter bei Interesse ausprobieren würdet und mir ein Feedback geben könntet.
Viele Grüße
Tueftler -
Der Adapter ist jetzt auch bei npm hochgeladen, also bei Interesse:
Installation über
npmi i iobroker.bydhvs
Auch über eine Info darüber das es funktioniert wäre ich dankbar, dann wäre mein nächstes Ziel den Adapter in die Liste der Standard-Adapter aufnehmen zu lassen
. -
@tueftler17
Hallo Tueftler17, warum hast du deinen Adapter BYD HVS genannt ? Ich habe einen BYD HVM mit 4 Modulen (11KW) und dein adapter funktioniert wunderbar. -
hast du dir mal meinen Adapter angeschaut ?? den gibts schon länger
https://github.com/arteck/iobroker.bydbatt
währe es da nicht besser deinen in meinen zu intergrieren ?? wenn die Daten passen sollten natürlich
-
@arteck
für welchen Speicher ist dein Adapter ?
HVM/HVS oder noch der alte HV-Plus ?
mit deinem Adapter komme ich nicht auf meine Batterie. -
@arteck Dein Adapter basiert darauf das der Speicher ein Webinterface onBoard hat. Das gibt es beim HVS / HVM Speicher nicht mehr.
Da muss man sich mit einem Trick auf den Speicher aufwählen. Ich stecke vermutlich nicht so tief in der Materie wie tueftler17, aber ich denke das könnte ein etwas schwieriges Unterfangen werden beide Login Wege für die neuen HVS/HVM und die alten Speicher in einem Adapter zu etablieren. -
@mike97714 sagte in [Neuer Adapter] BYD HVS:
@tueftler17
Hallo Tueftler17, warum hast du deinen Adapter BYD HVS genannt ? Ich habe einen BYD HVM mit 4 Modulen (11KW) und dein adapter funktioniert wunderbar.Das wusste ich einfach nicht, aber prima zu hören. Ich habe nur einen HVS und war nicht davon ausgegangen das die beiden Speicher die gleiche "Sprache" sprechen. Zur Sicherheit würde ich gerne noch von jemandem mit einem HVM Speicher einen Wireshark-Mitschnitt der Kommunikation mit der beConnect App haben, dann könnte ich genau schauen ob alles gleich ist. Mit der Wartung bei Problemen wäre es schwieriger wenn ich den Adapter auch dafür "bezeichnen" würde. Letztlich ginge das nur wenn ich einen "Buddy" im Forum hätte der den HVM hat, neue Versionen anschaut und auch bereit ist den einen oder anderen Test mit mir zu machen.
Dann sehr gerne!
Also: Freiwillige vor
Viele Grüße
Tueftler -
@arteck sagte in [Neuer Adapter] BYD HVS:
hast du dir mal meinen Adapter angeschaut ?? den gibts schon länger
https://github.com/arteck/iobroker.bydbatt
währe es da nicht besser deinen in meinen zu intergrieren ?? wenn die Daten passen sollten natürlich
Hi!
@JB_Sullivan hat das Problem beschrieben. Zwei vollständig andere Wege in einem Adapter stelle ich mir schwer vor.Was aber vielleicht eine coole Idee wäre wenn wir beide unsere Objekt-Namen synchronisieren würden. Ich denke mein Adapter hat noch nicht die große Verbreitung gefunden, daher könnte ich das ggfs. noch anpassen. Was meinst Du?
@arteck : Ich habe einen BYD HVS, da funktioniert er, beim BYD HVM scheint es auch zu klappen. Was hast Du denn für eine Batterie?
-
@tueftler17 gar keine .. ich habe den Adapter für Kollegen geschrieben
die Idee mit den gleichen Datenpunkten find ich gut..
-
@tueftler17 byd HV
-
-
--------------------------- Betrifft neue Adapter Version 1.1.0. -----------------------------------------
Muss man die Version auch über "die Katze" (GIT) installieren? Im ioB Admin wird sie noch nicht vorgeschlagen.
Haben sich gravierende Dinge in den Datenpunkten geändert? Also wäre es besser die Objekt vor einem Update zu löschen und dann einen Instanz Neustart mit der geupdateten Version durchzuführen?
-
Hi!
Es gibt eine neue Version des Adapters (1.1.0). Folgende Neuigkeiten habe ich eingebaut:1.1.0 (2021-04-22)
- HVS-Versionen: Es scheint zwei Speicherbänke zu geben und in beiden Bänken sind verschiedene Versionen enthalten. Das A und B zeigt nur die aktive Bank an. Ich habe das entsprechend eingebaut. Ich hoffe es ist so richtig.
- Alle States bei denen es sinnvoll erscheint haben jetzt Einheiten
- Es gibt zwei neue States: Power_Consumption und Power_Delivery for summarizing
- Systeme mit 5 Module: Die Zell-Temperaturen sollten jetzt komplett ankommen, die Spannungen leider nur für die ersten 128 Zellen. (s.u.)
- Umbenannt: State.ErrorNum in System.ErrorNum. Wenn jemand weiß wie ich aus dem Adapter heraus den alten State löschen kann: Bitte Infos zu mir.
- kleine Fehler behoben
Details zu den Batterie-Größen: Der Adapter funktioniert auch für Zelltemperaturen und ZellSpannungen bei 2,3 und 4 Batterie-Modulen. Bei einem System mit 5 Modulen werden nur die Zellspannungen der ersten 128 Zellen angezeigt. Für die Zellen 129 bis 160 ist mir nicht bekannt wo die Daten gespeichert werden. Ich würde das gerne mit in den Adapter einbauen, benötige aber dafür einen Wireshark-Mittschnitt der Kommunikation zwischen der beConnect App und dem Speicher. Ich helfe auch gerne wenn jemand nicht weiß wie man den Mittschnitt machen kann, entweder per Teamviewer oder per Postings im Forum. Offensichtlich funktioniert die Kommunikation für die 5. Einheit anders als bei den ersten 4 Einheiten.
Ich bin auf Euer Feedback gespannt!
Viele Grüße
Tueftler17 -
@jb_sullivan In der offiziellen Adapter-Liste bin ich noch nicht drin. Da sind noch eine Hürden im Code zu überpringen, das bin ich bisher noch nicht angegangen.
Daher gibt es den Adapter im Augenblick entweder über die Katze oder per npm:npm i iobroker.bydhvs
Bei den Datenpunkten habe ich mich um maximale Kompatibilität bemüht. Wenn Du State.ErrorNum manuell löscht bist Du up to date. Das Löschen per Code habe ich aufgegeben, nach 2h habe ich keine Lust mehr gehabt weiterzusuchen.
Ich wollte für die Leute die schon den History-Adapter drauf los gelassen haben einen Umstieg einfach zu machen, daher ist alles bis auf die Einheiten und ein paar zusätzliche Datenpunkte gleich geblieben. -
Hi,
habe die neue Version gerade installiert und kurz drüber geschaut. Sieht soweit ganz gut aus und auch die Version der BMU stimmt jetzt auch.
Das BMU steht ja für die Batterie Management Unit, aber wieso die 2 Bänke hat ist mir noch nicht ganz klar
Ansonsten super Arbeit!
-
@qqolli Danke für die Blumen!
Das mit den zwei Bänken habe ich mir zusammengereimt. Als Hersteller würde ich versuchen immer eine bootfähige Version zu behalten. Also: Eine aktive Bank, dann die inaktive Bank neu flashen, prüfen ob das flashen erfolgreich war (Checksum) und erst danach für den Reboot ein Flag setzen das jetzt von der anderen Bank gebootet werden soll. So wäre es für mich plausibel. Jedenfalls passt es so mit allen Testdaten zusammen die mir freundliche Mitnutzer geschickt haben. -
Ja, das würde allerdings Sinn machen. Danke für die Erklärung.
-
Das mit der json Tabelle bzgl. der ganzen Temp/Volte Werte war noch nicht möglich? Ist doch auch für dich bestimmt jede Menge Fleißarbeit bei sooooo vielen Einzelwerten?
Gibt es für ErrorNum auch eine Auflistung, welche Nummern kommen können und was die Nummern ggf. bedeuten? Dann könnte man das auch in der VIS einsetzen, so wie das bei den div. Meldungen des Saugroboters auch passiert.
Ansonsten VIELEN Dank für deinen Einsatz
AH - noch einen kleinen Fehler entdeckt - wenn ich bydhvs.0.State.ErrorNum lösche und die Instanz neu starte, wird der DP wieder angelegt
-
@jb_sullivan Danke für den Hinweis mit dem Neuanlegen des Datenpunktes. Das ändere ich noch. Diese Kombi hatte ich nicht ausprobiert :-(.
Zu den Temperaturen und Spannungen: Ich kann das sehr gerne machen, das ist auch nicht viel Aufwand.
Aber: Ich habe wirklich noch nicht genau verstanden was ich tun soll. Ist denn ein Datenpunkt mit dem Namen "VoltDetails" und Inhalt JSON-Formatiert das Richtige? Ich hatte das in dem anderen Thread schon angesprochen, bin aber aus den Antworten nicht ganz schlau geworden.Daher: Wenn mir jemand verrät was ich genau (!) machen soll, am Besten ein fiktives Beispiel, dann baue ich das gerne ein. Ist ja sowieso noch eine weitere Version fällig.
-
@jb_sullivan Arghhh: Einen Teil der Antwort vergessen. Ich habe die Bits von Errornum einzeln im Test gesetzt und über die beConnect App herausgesucht.
Es gibt folgende Fehler:
- High Temperature Charging (Cells)
- Low Temperature Charging (Cells)
- Over Current Discharging
- Over Current Charging
- Main circuit Failure
- Short Current Alarm
- Cells Imbalance
- Current Sensor Failure
- Battery Over Voltage
- Battery Under Voltage
- Cell Over Voltage
- Cell Under Voltage
- Voltage Sensor Failure
- Temperature Sensor Failure
- High Temperature Discharging (Cells)
- Low Temperature Discharging (Cells)
die alle zumindestens theoretisch kombiniert werden können. Sie tauchen dann bei "Bedarf" bei ErrorString auf. OK?