Benachrichtigungen
Alles löschen

JK BMS und Victron VenusOS via Bluetooth

37 Beiträge
16 Benutzer
6 Likes
2,981 Ansichten
Björn
(@bjoernh)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 8
Themenstarter  

Der Entwickler hinter dbus-serialbattery ist weiterhin fleißig am entwickeln und mittlerweile ist es möglich das JK BMS mittels Bluetooth mit dem Venus OS zu verbinden. Das Feature ist noch Beta und sollte aktuell nur verwendet werden, wenn noch keine funktionierende Hardwareverbindung mittels RS485, UART TTL oder ähnlichem besteht. Die Kabelgebundene Verbindung ist vorzuziehen!

Um das ganze einzurichten folgt man der Anleitung unter https://louisvdw.github.io/dbus-serialbattery/general/install#install-over-ssh-nightly-versionbeta-test  und nutzt die Methode Install over SSH: nightly version/beta test. Dazu ist eine SSH Verbindung nötig und am Ende werden noch ein paar händische Schritte die zu erledigen sind auf der Konsole ausgegeben.

Zu beachten ist noch, das der Treiber in der default Konfiguration die Lade- (50A) und Entladeströme (60A) begrenzt. Dies kann in der Config wie in der Anleitung beschrieben geändert werden.

 

Die Installation gibt bei mir heute, mit einem Cerbo GX und einem Multiplus II, problemlos.


   
grumpy_badger, claus1968, SSonder and 2 people reacted
Zitat
(@launacorp)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 6
 

Hab das seit ein paar Tagen im Betrieb, da ich noch n bissl was Umbauen muss und Bluetooth ohne noch weitere Kabel ganz gut schien. Allerdings steigt hier und da mal das VenusOS aus, da es laut dmesg Probleme mit dem BT-Stack hat. Hab das VenusOS allerdings auch vor ein paar Tagen frisch aufgesetzt (aktuell 2.94, da mit 3.0+ BT über serialbattery noch nicht läuft).

 

Evtl ist das auch nur ein Problem mit der Spannungsversorgung vom Raspi, welcher aus der Not heraus aktuell ein 3A ist.


   
AntwortZitat
(@solax)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 85
 

Moin zusammen , 

funktioniert das mittlerweile über bluetooth ??


   
AntwortZitat
McFarlan
(@mcfarlan)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 82
 

Bei mir seit mehreren Wochen stabil (Raspi 4, VenusOS 3.0)

installierte PV: Fronius Symo 8.2-3-M + 38xJAM5(R)-72-210 (7,98kWp)


   
Solax reacted
AntwortZitat
(@solax)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 85
 

danke

 


   
AntwortZitat
(@dv2000)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 44
 

ich verwende den multiplus gx. Benötige ich dann einen bluetooth Stick (usb) ?  schön wenn man den victron bluetooth port verwenden könnte.


   
AntwortZitat
(@derrudi)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 59
 

Danke für den Tip

Diese r Beitrag wurde geändert Vor 9 Monaten von DerRudi

   
AntwortZitat
(@dv2000)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Jahren
Beiträge: 44
 

kann mir jemand dabei helfen?  Z.B. wird bei mir der ble logpfad (von dem wird geschriben - der sei auszulesen) überhaupt nicht erstellt. Wo wird den entschieden ob Daten per seriellem Kabel oder über bluetooth gelesen werden. Ich blick das nicht. 


   
AntwortZitat
McFarlan
(@mcfarlan)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 82
 

eigentlich scannt der Treiber selbständig nach einem BMS, und sollte dann zwei finden, einmal per Kabel und dann per Bluetooth. Ich würde erstmal per

Kabel in Betrieb nehmen. Wenn es dann rennt, dann mal Bluetooth versuchen.

installierte PV: Fronius Symo 8.2-3-M + 38xJAM5(R)-72-210 (7,98kWp)


   
AntwortZitat
 ponx
(@ponx)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 13
 

@dv2000 hast du in deiner config.ini die Zeile mit BLUETOOTH_BMS = Jkbms_Ble [Adresse] hinzugefügt? Danach musste ich nochmal 'sh reinstall-local.sh' aufrufen, damit er die entsprechenden Services ausführt. Dann nochmal rebooten, dann gingen bei mir immerhin die Services.
Ich hab allerdings auch mit Problemen zu kämpfen. Erst hatte alles geklappt, aber ein Service startet ständig neu. :/

 


   
AntwortZitat
(@restej)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 16
 

Hallo,

ich blick da nicht ganz durch. In der Anleitung steht das man trotzdem eine serielle Verbindung haben muss oder ist das falsch?

 

Kann ich meinen Akku nur mit Bluetooth an den Cerbo GX koppeln? Wenn ja hat jemand die Schritte parat?

Wie sieht es nach einem Update des Cerbos aus?

 


   
AntwortZitat
(@andi_pad)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 19
 

Ich habe für mein JK BMS entsprechend den Cerbo Raspi mit der Bluetooth Funktionalität erweitert. Anleitung ist ja wie folgt:

BLUETOOTH battery connection: There are a few more steps to complete installation.

 

1. Please add the Bluetooth BMS to the config file "/data/etc/dbus-serialbattery/config.ini" by adding "BLUETOOTH_BMS":

Example with 1 BMS: BLUETOOTH_BMS = Jkbms_Ble C8:47:8C:00:00:00

Example with 3 BMS: BLUETOOTH_BMS = Jkbms_Ble C8:47:8C:00:00:00,

Jkbms_Ble C8:47:8C:00:00:11, Jkbms_Ble C8:47:8C:00:00:22

If your Bluetooth BMS are nearby you can show the MAC address with "bluetoothctl devices".

 

2. Make sure to disable Settings -> Bluetooth in the remote console/GUI to prevent reconnects every minute.

 

3. Re-run "/data/etc/dbus-serialbattery/reinstall-local.sh", if the Bluetooth BMS were not added to the "config.ini " before.

Die Mac Adresse habe ich in der config.ini ergänzt und das Script nochmals laufen lassen.

root@raspberrypi2:~# /data/etc/dbus-serialbattery/reinstall-local.sh

Found 1 Bluetooth BMS in the config file!

 

Installing required packages...

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/all/Packages.gz.

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/Packages.gz.

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/raspberrypi2/Packages.gz.

Collected errors:

* opkg_download_backend: Failed to download https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/all/Packages.gz, wget returned 4.

* opkg_download_backend: Failed to download https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/Packages.gz, wget returned 4.

* opkg_download_backend: Failed to download https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/raspberrypi2/Packages.gz, wget returned 4.

Collected errors:

* opkg_prepare_url_for_install: Couldn't find anything to satisfy 'python3-misc'.

/data/etc/dbus-serialbattery/reinstall-local.sh: line 163: pip3: command not found

grep: /var/spool/cron/root: No such file or directory

Packages installed.

In der GUI wird aber leider das BMS nicht angezeigt, ein Test brachte folgenden Fehler:

 

https://github.com/Louisvdw/dbus-serialbattery/issues/13

 

root@raspberrypi2:~# tail -F -n 100 /data/log/dbus-blebattery.*/current | tai64nlocal

2023-08-04 17:06:52.523899500 ModuleNotFoundError: No module named 'bleak'

2023-08-04 17:06:52.721230500 Missing device address argument

2023-08-04 17:06:53.869522500 INFO:SerialBattery:Starting dbus-serialbattery

2023-08-04 17:06:53.870435500 INFO:SerialBattery:dbus-serialbattery v1.0.20230531

2023-08-04 17:06:54.089166500

2023-08-04 17:06:54.092230500 Traceback (most recent call last):

2023-08-04 17:06:54.092236500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 163, in <module>

2023-08-04 17:06:54.092242500 main()

2023-08-04 17:06:54.092243500 File "/opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py", line 120, in main

2023-08-04 17:06:54.092248500 from bms.jkbms_ble import Jkbms_Ble # noqa: F401

2023-08-04 17:06:54.092252500 File "/opt/victronenergy/dbus-serialbattery/bms/jkbms_ble.py", line 4, in <module>

2023-08-04 17:06:54.092315500 from bms.jkbms_brn import Jkbms_Brn

2023-08-04 17:06:54.092319500 File "/opt/victronenergy/dbus-serialbattery/bms/jkbms_brn.py", line 2, in <module>

2023-08-04 17:06:54.092324500 from bleak import BleakScanner, BleakClient

2023-08-04 17:06:54.092327500 ModuleNotFoundError: No module named 'bleak'

2023-08-04 17:06:54.278746500 Missing device address argument

2023-08-04 17:06:55.329222500 INFO:SerialBattery:Starting dbus-serialbattery

Offensichtlich scheint das Python Modul Bleak zu fehlen.

Ich habe hier eine Lösungsmöglichkeit gefunden:

https://github.com/Louisvdw/dbus-serialbattery/issues/13

 

Bevor ich anfange, alle Befehle einzugeben wollte ich mal fragen, ob ihr schon diesen Fehler hattet?

Leider ist die serielle Schnittstelle vom JKBMS defekt, drum bin ich auf Bluetooth angewiesen


   
AntwortZitat
McFarlan
(@mcfarlan)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 82
 

"pip3 install bleak" sollte den Fehler beheben.

installierte PV: Fronius Symo 8.2-3-M + 38xJAM5(R)-72-210 (7,98kWp)


   
AntwortZitat
(@andi_pad)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 19
 

habe es probiert, es kommt aber zu einem Fehler, wer kann helfen????

root@raspberrypi2:~# python3 --version
Python 3.8.13
root@raspberrypi2:~# pip3 install bleak
Collecting bleak
Downloading bleak-0.20.2-py3-none-any.whl (135 kB)
|████████████████████████████████| 135 kB 1.2 MB/s
Collecting dbus-fast<2.0.0,>=1.83.0; platform_system == "Linux"
Downloading dbus_fast-1.90.2.tar.gz (66 kB)
|████████████████████████████████| 66 kB 494 kB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 186, in _main
status = self.run(options, args)
File "/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 331, in run
resolver.resolve(requirement_set)
File "/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 177, in resolve
discovered_reqs.extend(self._resolve_one(requirement_set, req))
File "/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 333, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 282, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(req)
File "/usr/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 515, in prepare_linked_requirement
abstract_dist = _get_prepared_distribution(
File "/usr/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 95, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
File "/usr/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py", line 38, in prepare_distribution_metadata
self._setup_isolation(finder)
File "/usr/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py", line 96, in _setup_isolation
reqs = backend.get_requires_for_build_wheel()
File "/usr/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 151, in get_requires_for_build_wheel
return self._call_hook('get_requires_for_build_wheel', {
File "/usr/lib/python3.8/site-packages/pip/_vendor/pep517/wrappers.py", line 255, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 63, in _build_backend
obj = import_module(mod_path)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 843, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/var/volatile/tmp/pip-build-env-nm3raf3o/overlay/lib/python3.8/site-packages/poetry/core/masonry/api.py", line 11, in <module>
from poetry.core.factory import Factory
File "/var/volatile/tmp/pip-build-env-nm3raf3o/overlay/lib/python3.8/site-packages/poetry/core/factory.py", line 15, in <module>
from poetry.core.utils.helpers import combine_unicode
File "/var/volatile/tmp/pip-build-env-nm3raf3o/overlay/lib/python3.8/site-packages/poetry/core/utils/helpers.py", line 20, in <module>
from poetry.core.version.pep440 import PEP440Version
File "/var/volatile/tmp/pip-build-env-nm3raf3o/overlay/lib/python3.8/site-packages/poetry/core/version/pep440/__init__.py", line 3, in <module>
from poetry.core.version.pep440.segments import LocalSegmentType
File "/var/volatile/tmp/pip-build-env-nm3raf3o/overlay/lib/python3.8/site-packages/poetry/core/version/pep440/segments.py", line 3, in <module>
import dataclasses
ModuleNotFoundError: No module named 'dataclasses'

vorher musste ich noch python3-pip installieren, sonst hätte obiger Befehl pip3 install bleak nicht funktioniert.

root@raspberrypi2:~# opkg install python3-pip
Installing python3-xmlrpc (3.8.13) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/python3-xmlrpc_3.8.13-r0_cortexa7hf-neon-vfpv4.ipk.
Installing libjitterentropy2 (2.2.0) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/libjitterentropy2_2.2.0-r0_cortexa7hf-neon-vfpv4.ipk.
Installing libsysfs2 (2.1.0) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/libsysfs2_2.1.0-r5_cortexa7hf-neon-vfpv4.ipk.
Installing python3-pip (20.0.2) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/python3-pip_20.0.2-r0_cortexa7hf-neon-vfpv4.ipk.
Installing rng-tools (6.9) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/rng-tools_6.9-r0_cortexa7hf-neon-vfpv4.ipk.
Configuring libjitterentropy2.
Configuring libsysfs2.
Configuring rng-tools.
Adding system startup for /etc/init.d/rng-tools.
Starting random number generator daemon.
Configuring python3-xmlrpc.
Configuring python3-pip.

versions check

root@raspberrypi2:~# python -m pip --version
pip 20.0.2 from /usr/lib/python3.8/site-packages/pip (python 3.8)
root@raspberrypi2:~# cat /opt/victronenergy/version
v3.01
Victron Energy
20230717162050

Diese r Beitrag wurde geändert Vor 9 Monaten von andi_pad

   
AntwortZitat
(@andi_pad)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 19
 

Das Installieren hat doch etwas gebracht:

root@raspberrypi2:~# /data/etc/dbus-serialbattery/reinstall-local.sh

Found 1 Bluetooth BMS in the config file!

 

Installing required packages...

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/all/Packages.gz.

Updated source 'all'.

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/cortexa7hf-neon-vfpv4/Packages.gz.

Updated source 'cortexa7hf-neon-vfpv4'.

Downloading https://updates.victronenergy.com/feeds/venus/release/packages/dunfell/raspberrypi2/Packages.gz.

Updated source 'raspberrypi2'.

No packages installed or removed.

Requirement already satisfied: bleak in /usr/lib/python3.8/site-packages (0.20.2)

Requirement already satisfied: dbus-fast<2.0.0,>=1.83.0; platform_system == "Linux" in /usr/lib/python3.8/site-packages (from bleak) (1.90.2)

Requirement already satisfied: async-timeout<5,>=3.0.0; python_version < "3.11" in /usr/lib/python3.8/site-packages (from bleak) (4.0.2)

Packages installed.

 

Installing Jkbms_Ble C8:47:XX:XX:BE:8B as dbus-blebattery.0

Stopping bluetooth: bluetoothd.

es funktioniert Smile


   
AntwortZitat
Seite 1 / 3
Teilen: