NEWS
[Neuer Adapter] BYD HVS
-
@tueftler17 Hallo, ich nutze mit Erfolg deinen Adapter mit einer HVS 10.2.
Nur eine kurze Frage bzw. Anmerkung: Wäre es möglich, den SOC auch unter "Diagnosis" mit aufzunehmen?
Weil dort ist er 1/10 % aufgelöst, sonst nur 1%.
Das wär Klasse!
LG Robert -
@jb_sullivan sag mal den SOC hast du auch nur mit der 1% Auflösung, ja?
Könnt ja sein, dass ich irgendwas übersehen hab...:)
LG Robert -
Der SoC ist doch bei "State" mit drin. Warum soll der bei Diagnosis noch mal rein?
Bezgl. der Nachkommastellen, hatte ich mir von einem Entwickler, bei irgend einem Adapter mal die Reduzierung der Nachkommastellen gewünscht. Wenn das dieser Adapter war, wäre das reversibel - aber ehrlich gesagt weiß ich nicht mehr ob es der BYD Adapter war - hatte auf jeden Fall was mit der ganzen PV Geschichte zu tun.
Wenn du auch einen Fronius WR am Start hast, bekommst du den SoC von dort mit einer Nachkommastelle
fronius.0.powerflow.inverter1.SOC
Bzgl. deiner Tabelle - ist die Geheim, oder kannst du mal einen Screenshot davon posten? Nur so rein Interesse halber.
-
@torosa2000 Ich habe mir gerade einmal die Rohdaten angesehen. Es kommen zwei Bytes an, da steht bei mir im Augenblick bei mir 00 62. Das ist "nur" 98, ich bekomme keine genaueren Daten. Insofern: Das kann ich leider nicht ändern.
-
@tueftler17 OK aber woher nimmt denn dann BE connect die zehntel Prozente beim SOC unter Diagnosis?
-
@jb_sullivan Ja ich hab mir da jetzt auch so beholfen, den SOC über Modbus vom Fronius zu holen.
Zur Tabelle:
Hm, na an sich bin ich da ja nicht so der Geheimniskrämer, aber ein Screenshot würde dann doch zu viel Informationen preisgeben, denn die Werte müssen in der Excel natürlich an bestimmten Stellen stehen usw.
Aber wenn du was bestimmtes wissen möchtest, also Zellspannungsgrenzwerte etc. geb ich dir gern die Infos. -
@torosa2000 Das muss dann aus einer anderen Stelle kommen als die aus der ich es jetzt auslese. (OK, das war fast albern). Ist auf jeden Fall eine interessante Aufgabe die ich mir gerne auf die todo-Liste packe. Die Zahl ist sicher nicht interessant "in der Mitte", also ob der Speicher zu 50 oder zu 50,5% voll ist. ABER: Bei fast voll und bei fast leer ist dann schon etwas anderes.
Es gibt noch diverse Bytes in den Antworten vom Speicher die ich bisher nicht verstanden habe.
Der erste Versuch war jedenfalls nicht erfolgreich, meine 8.4% die ich zur Sekunde habe finde ich nicht in den Bytes vom Speicher. Ich schau aber noch mal mit anderen Füllständen.
Schönen Sonntag!
VIele Grüße, Tueftler17 -
@tueftler17 Habs gefunden, scheinen zwei Bytes zu sein in dem der SOC mit einer Dezimalstelle und mit 10 mulitpliziert übertragen wird. Also: Statt 8,4 --> 84 und statt 11.6 --> 116.
Ich mache mich an eine neue Version ran in der das enthalten ist
-
@torosa2000 Neue Version ist erstellt, war auch nur Kleinkrams nachdem ich die Position in den Daten gefunden habe.
Kann jemand von Euch bitte einmal testen ob der Adapter auch bei Euch funktioniert?
Die neue Version ist erst einmal nur bei github zu finden, also von dort installieren. Eine neue Versionsnummer habe ich noch nicht vergeben - und warum das Änderungsprotokoll nicht im ioBroker angezeigt wird kann ich gerade noch nicht nachvollziehen. Bei mir sieht es jetzt wie folgt aus:
Den Value SOC gibt es jetzt also zwei Mal, einmal unter State und einmal bei Diagnosedaten. Dort könnte ich es bei Bedarf noch total easy umbenennen, diejenigen die sich den Adapter von github installieren können auch noch ein Objekt löschen, nur wenn die Version draußen ist möchte ich da nicht mehr ran. Also: Gerne Kommentare dazu.
Sonnigen Sonntag! -
@tueftler17 Wow! Super, hab ihn bei mir gerade installiert - and works perfect!
Lieben Dank! Ging ja echt fix! Bin sehr begeistert.
Ja das Ding ist ich brauche es nämlich in Zehnteln, weil ich damit auch die SOC calibration überwache bzw. gerade anpasse.
Ich hab nur bei mir lokal in der main.js die Minimalgrenzwerte der Auslesehäufigkeit runtergesetzt, weil ich gerade den SOC in Zehnteln jetzt mal minütlich sehen möchte...:)
Nochmal vielen Dank,!!! -
Funktioniert auch bei mir - mit den Einheiten (unit "%") stehst du aber auf Kriegsfuss oder ?
Gibt es einen Grund dafür, das du den DP bei State nicht auch geändert hast? So hätte man über Influxdb den gleichen alten DP weiter in die Tabelle schreiben lassen können und würde im Diagramm, Stand heute, halt einen feinere Differenzierung bekommen.
Wenn man diese feinere Differenzierung in Grafana haben will, muss man nun alles auf den neuen Datenpunkt umschreiben Ist zwar nicht viel Arbeit, aber dann hat man zwei Datentabellen für die gleichen Daten (historisch betrachtet)
...... und ich habe gerade noch etwas gesehen - die Diagnose Daten werden ja nur in den Aktualsierungsraten abgeholt, die man in der Instanz eingestellt hat - bei mir z.B. 100
Somit ist eine kontinuierliche Überwachung des Wertes aus der Diagnosis heraus gar nicht aussagekräftig, da der State Wert kontinuierlich getrackt wird, der Digagnosis Wert (also der feinere) nur so oft wie es in der Instanz eingestellt ist - ist das Sinnvoll?
-
@jb_sullivan
Mit den Einheiten stehe ich offensichtlich wirklich auf Kriegsfuß, habe aber erst mal das aktuelle Scharmützel gewonnen. Im Github ist eine neue Version mit der Einheit. Kann nur leider sein das für das automatische Eintragen der neue Datenpunkt gelöscht werden muss, ohne dem hat es bei mir nicht geklappt. Für die wenigen unter uns die aus dem Github installiert haben und schon Logik angeschlossen haben geht sicher sonst auch ein manuelles Ändern.
Zu Deiner anderen Anmerkungen (doppelter Eintrag einmal bei State und einmal bei Diagnose). Klar könnte ich das ändern - wenn ich denn nur wüsste was das Richtige ist.
Bei der Analyse der Kommunikation zwischen der beConnect App und dem Speicher ist mir aufgefallen, das offensichtlich einige Sekunden Zeit vergehen müssen zwischen dem Senden der ersten Anfrage nach den Diagnosdaten bis zur Antwort. Wenn ich mich richtig erinnere waren es rund 3 Sekunden, daher habe ich im Adapter einfach mal 4 Sekunden festgelegt - diese Zeit wird gewartet. Ich hab damals gedacht (und tue es auch immer noch), dass in dieser Zeit eine Messung des Speichers stattfindet und wollte die Messung nicht so häufig starten. Aus diesem Grund existiert die Einstellmöglichkeit alle wie viele Lesezyklen auch die Diagnosedaten abgeholt werden sollen - ist also rein zur Vorsicht. Und: Den genaueren SOC-Wert gibt es leider nur zusammen mit den Diagnosedaten, nicht mit den Daten die man jederzeit aus dem Speicher ohne Messtrigger (?) abrufen kann.
Weiß jemand ob man das alle Minuten tun kann? Macht das etwas am Speicher kaputt?
Jedenfalls habe ich wegen dieser Gedanken die Objekte getrennt, dann gibt es die genaueren Daten nur alle n Messungen und man kann beides so wie man es möchte verwenden. Mutige stellen eine "1" bei Batterie Details - alle .. Lesezyklen ein und ja, so wie es jetzt ist müsste dann die Datenquelle bei Grafana angepasst werden.
Ich bin da guten Vorschlägen sehr zugänglich und würde auch gerne die Logik anpassen.
-
@tueftler17 Also zur Auslesehäufigkeit, ich hab es bei mir jetzt schon den ganzen Tag lang so:
generelles Ausleseintervell = 60 Sekunden, Details auslesen alle "1" Messungen, also auch jede Minute.
(Ich hab wie gesagt in der Quelldatei das Limit dafür von 10 auf 1 herabgesetzt)
Funktioniert bisher ohne Probleme und es wird auch immer alles ausgelesen.
LG Robert -
@torosa2000 Soll ich das Limit entfernen?
Dann müsste ich vielleicht noch eine Konfigurationsoption schaffen so dass man auswählen kann wo der SOC hingespeichert werden soll. Aber: Brauchen das wirklich viele Anwender? -
Kurze Frage an Euch - habt ihr ggf. auch hin und wieder diese Meldung im WR?
Kann es sein, das hier unter bestimmten Umständen, die Wechselrichter Abfrage des Speicher, mit der Abfrage des ioB Adapter (Diagnosis) kollidiert?
Wenn das so sein sollte, würde ja eine Verringerung des Diagnose Ausleseintervall zu häufigeren Meldungen führen. Wie gesagt, ist nur eine Vermutung. Bei mir ist das steht der Aktualisierungsintervall auf 100.
Wie gesagt, habt ihr auch solche Meldungen (sieht man wohl nur wenn man am WR mit Technican angemeldet ist)
253 BYD2-46 InverterCommErr
-
@tueftler17 Hallo,
ja ich denke das Limit könnte raus.
Verbunden vielleicht mit dem Hinweis, dass etwaige "Side- Effects" vielleicht nicht ganz ausgeschlossen sind bzw. kleine Werte "erperimental" sind.
Es ist halt schon echt geil, alle Werte minütlich zu haben
Ich hab alle 128 Zellen in einem Grafana- Graphen und gerade das häufige Auslesen gibt immens Aufschluss über das wirkliche Verhalten der Batterie(zellen), gerade auch hinsichtlich Lastspitzen usw.
Und es gibt ein gutes Fundament, wenn man sich bei Problemen an den Support wenden kann.
Ich hab ja erst durch das Zell- Logging erfahren, dass meine Batterie- Aufstock- Aktion von 2 auf 4 Batteriepacks nicht so gut lief, weil eben 30% SOC nicht gleich 30% SOC sind. Das müsste demnach im Handbuch auch ganz anders erklärt sein.
Ich hab es jetzt quasi nochmal gemacht, nicht SOC-, sondern zellspannungsbasiert
Klar, die meisten werden das häufige Logging nicht, oder nur mal vielleicht für einen begrenzten Zeitraum brauchen.
LG Robert -
@jb_sullivan Ich hab gerade mal geschaut, mein Fronius (Technician- Login) meldet mir diesen Fehler nicht, allerdings läuft es bei mir mit der minütlichen Auslesung auch erst seit 6.6. mittags...
LG Robert -
Hallo zusammen !
Der Adapter klappte auf Anhieb an meinem HVM22,1 (8 Module). Saubere Arbeit. Vielen Dank Tueftler17 !
Ist es richtig, dass die Datenpunkte bei Celltemp bis 60 und bei CellVolt bis 128 gehen ?
Besten Gruß,
Sebastian -
@qwertz @Torosa2000
OK, ich nehme das Limit heraus. Ist gerade ins github gepusht. Bis ich eine neue Version erstelle würde ich das Thema von qwertz gerne mit abarbeiten.Die Datenpunkte sind so beschränkt wie Du (qwertz) es beschrieben hast. Das liegt aber daran das ich nicht mehr plausible Daten in den übertragenen Paketen gefunden habe. Wie ist es denn bei Dir mit der beconnect App? Zeigt die mehr an?
-
@tueftler17
Danke für die schnelle Rückmeldung !
In der BYD App gehen Temp bis 64 und Volt bis 128. S.Foto