Nutzt jemand den dbus-serialbattery mit einem Daly BMS? Vielleicht kann man sich ja austauschen.
Jo,ich. Mit dem original Daly RS485 Kabel gibt es bei mir keine Verbindungsprobleme. Ob das aber Sinn macht den Anschluß überhaupt zu machen, bin ich mir nicht so sicher. Das BMS meldet dem Venus OS SOC Werte die so daneben liegen, das die ESS Funktion praktisch ausgehebelt wird. Ich habe in den Einstellungen die Batteriemessung des MP2 als zu benutzen aktiviert, um das zu umgehen.
Schau mal in der utils.py ob du die Werte für Capacity richtig eingestellt hast. Außerdem schau mal dort ob du die maximale Lade- und Entladestromstärke nicht erhöhen kannst. Ich hab zusätzlich noch die Stromstärke zum Ende hin erhöht auf 10% des maximalen Ladestroms.
Geht aber leider nach einem Update verloren. Das ist noch nicht so schön gelöst. Bei mir passt der SOC etwa.
Schau mal in der utils.py ob du die Werte für Capacity richtig eingestellt hast
Ich habe keine Einstellung für Capacity:
# Constants - Need to dynamically get them in future
DRIVER_VERSION = 0.10
DRIVER_SUBVERSION = ''
zero_char = chr(48)
degree_sign = u'N{DEGREE SIGN}'
# Cell min/max voltages - used with the cell count to get the min/max battery voltage
MIN_CELL_VOLTAGE = 3.1
MAX_CELL_VOLTAGE = 3.45
# battery Current limits
MAX_BATTERY_CURRENT = 50.0
MAX_BATTERY_DISCHARGE_CURRENT = 60.0
# Invert Battery Current. Default non-inverted. Set to -1 to invert
INVERT_CURRENT_MEASUREMENT = -1
Bei der Gelegenheit aber bemerkt das warum auch immer die Einstellung auf Lion und nicht mehr auf LiFePo stand.
Also bei mir funktioniert das irgendwie nicht... log zeigt den Fehler
@4000000062e25543208bb01c INFO:SerialBattery:Starting dbus-serialbattery
@4000000062e2554320989cb4 INFO:SerialBattery:dbus-serialbattery v0.12
@4000000062e2554320bf81bc INFO:SerialBattery:Testing LltJbd
@4000000062e255432404fc44 INFO:SerialBattery:Connection established to LltJbd
@4000000062e255432a4893cc INFO:SerialBattery:DeviceInstance = 1
@4000000062e255432a551ebc INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@4000000062e255432dd56024 Traceback (most recent call last):
@4000000062e255432dd58b1c File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 115, in <module>
@4000000062e255432dd59abc main()
@4000000062e255432dd59ea4 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 100, in main
@4000000062e255432dd5ae44 if not helper.setup_vedbus():
@4000000062e255432dd5b614 File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 76, in setup_vedbus
@4000000062e255432dd5c5b4 self._dbusservice.add_path('/Info/BatteryLowVoltage', self.battery.min_battery_voltage, writeable=True)
@4000000062e255432dd80004 AttributeError: 'LltJbd' object has no attribute 'min_battery_voltage'
Die Fehler scheinen hier nicht richtig abgefangen zu werden und dadurch kann er die Geräte nicht durchsuchen, aber auch wenn ich alle außer DalyBMS deaktiviere, funktioniert es nicht so richtig:
@4000000062e255f80a3b1a3c INFO:SerialBattery:Starting dbus-serialbattery
@4000000062e255f80a403ea4 INFO:SerialBattery:dbus-serialbattery v0.12
@4000000062e255f80a562fd4 INFO:SerialBattery:Testing Daly
@4000000062e255f8121c44c4 INFO:SerialBattery:DalyBMS 0 cells
@4000000062e255f81287ef44 INFO:SerialBattery:Connection established to Daly
@4000000062e255f8157e308c INFO:SerialBattery:DeviceInstance = 1
@4000000062e255f8158a946c INFO:SerialBattery:com.victronenergy.battery.ttyUSB0
@4000000062e255f816833cac INFO:SerialBattery:Battery connected to dbus from /dev/ttyUSB0
@4000000062e255f921d8063c WARNING:SerialBattery:read_soc_data - triesValid 2
@4000000062e255f928df4b84 WARNING:SerialBattery:read_soc_data - triesValid 1
@4000000062e255f92991e244 Traceback (most recent call last):
@4000000062e255f92992056c File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 176, in publish_battery
@4000000062e255f92992150c self.publish_dbus()
@4000000062e255f929921cdc File "/opt/victronenergy/dbus-serialbattery/dbushelper.py", line 186, in publish_dbus
@4000000062e255f929922894 self._dbusservice['/Soc'] = round(self.battery.soc, 2)
@4000000062e255f92992344c TypeError: type NoneType doesn't define __round__ method
Hat noch jemand nen tip?
Kannst du mit 2x USB-TTL Intefaces (nur Rx-Leitungen) die Kommunikation abfangen und am PC mitloggen? Vielleicht zeigt sich dann das Problem.
Soc mit 2 Nachkommastellen?
Soc'] = None if (self.battery.soc == None) else round(self.battery.soc, 2)
oder richtiger so:
Soc'] = self.battery.soc
denn für das Anzeigeformat in Venus gibt es das Callback bei der Definition von _dbusservice['/Soc'], oder es könnte/sollte da eins geben.
..,-
Schau mal in der utils.py ob du die Werte für Capacity richtig eingestellt hast
Ich habe keine Einstellung für Capacity:
# Constants - Need to dynamically get them in future
DRIVER_VERSION = 0.10
DRIVER_SUBVERSION = ''
zero_char = chr(48)
degree_sign = u'N{DEGREE SIGN}'
# Cell min/max voltages - used with the cell count to get the min/max battery voltage
MIN_CELL_VOLTAGE = 3.1
MAX_CELL_VOLTAGE = 3.45
# battery Current limits
MAX_BATTERY_CURRENT = 50.0
MAX_BATTERY_DISCHARGE_CURRENT = 60.0
# Invert Battery Current. Default non-inverted. Set to -1 to invert
INVERT_CURRENT_MEASUREMENT = -1
Bei der Gelegenheit aber bemerkt das warum auch immer die Einstellung auf Lion und nicht mehr auf LiFePo stand.
Aktualisier mal auf die aktuelle Version 0.12, da kannst du die Capacity einstellen. Steht im Default auf 50Ah.
Kannst du mit 2x USB-TTL Intefaces (nur Rx-Leitungen) die Kommunikation abfangen und am PC mitloggen? Vielleicht zeigt sich dann das Problem.
Hab ich auch aber ist mir erstmal zu umständlich. Muss wohl irgendwie am USB Adapter oder der Verkabelung liegen. Konnte ihn inzwischen wenigstens dazu bewegen, dass er bei einer der Daly Varianten das ganze als 16 Zellensystem erkennt, aber danach Timeout... Werde mal andere Adapter probieren. Zur not hab ich auch noch TTL<->RS232 Wandler, dann könnte ich auch direkt an VE.Bus.
Bei mir funktioniert es mit Daly über RS485
Das rumgezappel des Entladestroms konnte ich durch ein Firmwareupdate am Daly beheben
Ist es richtig das sich dbus-serialbattery bei jedem reboot neu installiert?
Es wirft mir dann jedes Mal die Einträge für meine MQTT-Adapter aus der rc.local
Wie habt Ihr das gelöst?
Mich wundert auch das man nach Parameteränderungen jedes mal neu installieren muss?
Ich weiss aber noch nicht ob ich die Software weiter nutze - in meinen Augen macht bei einem Speicher die Abschaltung über die Zellspannung mehr Sinn als über den SOC
Bei kontinuirlicher Nutzung des Akkus von z.B. zwischen 20 und 80% passt irgendwann der SOC nicht mehr
mein Speicher: BMW G05 45e
Zur not hab ich auch noch TTL<->RS232 Wandler, dann könnte ich auch direkt an VE.Bus.
Entweder du meinst einen andere Schnittstelle oder du meinst einen TTL<->RS485. VE.Bus scheint ja RS485 zu sein.
Ah ist das so? RS485 Anschluss hat mein Daly BMS auch, dann kann ich den direkt an die VE.Direct Schnittstelle anschließen? Dachte VE.Direct ist RS232 mit 12V Level.
Ah ist das so? RS485 Anschluss hat mein Daly BMS auch, dann kann ich den direkt an die VE.Direct Schnittstelle anschließen? Dachte VE.Direct ist RS232 mit 12V Level.
Nein. Nicht durcheinanderbringen:
https://www.victronenergy.de/upload/documents/Technical-Information-Data-communication-with-Victron-Energy-products_DE.pdf
VE.Direct: Irgendetwas RS232 artiges mit TTL Spannungslevel.
VE.Bus: Irgendwas RS485 artiges mit entsprechenden Spannungslevel
Ja da steht VE.Direct ist RS232... Also müsste man doch mit einem RS232-TTL Converter auch auf das Daly BMS kommen, oder nicht?
Das Daly hat ja einen UART Port für BT und einen RS485/CAN Port der nicht bei allen Geräten Bestückt ist.
Soweit ich das Verstanden habe, nimmt man normalerweise einen FTDI Adapter oder ähnlich mit TTL und verbindet ihn mit dem UART Port.
Naja ich versuch jetzt erstmal mit der PC-App draufzukommen, um Verbindungsprobleme auszuschließen und dann kuck ich weiter.
So wie du es oben beschrieben hattest, dacht ich du willst mit dem VE.Direct auf den RS485 vom Daly. Das geht halt nicht.
Der UART Port spricht wahrscheinlich ein anderes Protokoll als der RS485 Port, dass von der Lib nicht unterstützt wird? Brauchst ein RS485 Interface auf USB.
Ah ist das so? RS485 Anschluss hat mein Daly BMS auch, dann kann ich den direkt an die VE.Direct Schnittstelle anschließen? Dachte VE.Direct ist RS232 mit 12V Level.
Der MP 2 hat doch gar keine VE.Direct-Schnittstelle?
VE.Bus ist RS485-ähnlich, aber sicher ein komplett anderes Kommunikationsformat als Daly-Rs485, das kannst nicht verbinden
Du musst über USB zum Daly
Ich mache das mit einem Wandler USB-UART, danach ein Wandler UART-RS485
mein Speicher: BMW G05 45e
In der Theorie müsste so einer gehen:
https://www.amazon.de/WINGONEER-USB-485-Konverter-Adapter-Window-1/dp/B016IG6X7I