Bluetooth BMS auslesen Daly, JBD, Ective,renogy,jk und mehr

Hallo

Mal ein Zwischenstand. Ich hatte vor 2 Wochen mal den BT Adapter aus dem Shop eingesteckt. Zunächst geschah nichts. Und plötzlich war das BMS da. Alle Werte wurden angezeigt.

Da war die Freude zunächst groß. Aber 4 Tage später war alles wieder weg. Auf der UI wird zwar das Feld für das BMS angezeigt, es kommen aber keine Werte mehr.

Kann das irgendwie an dem Adapter liegen? Wie bekommt man das denn hin, das der Core den Adapter benutzt. Bei mir wird immer hci0 angezeigt, obwohl der Adapter eingesteckt ist.

Ist das in der Doku ein Fehler. Da´steht, das jedes mal hci0 angezeigt wird - egal was eingesteckt ist. Oder muss da in der unteren Zeile vielleicht hco1 stehen?

Grüße

Dirk

Das hat mir Vincent dazu geschrieben.

Vincent Team

8 d

@ahtdf

Das passiert automatisch, aus dem Changelog:

Abhängig von der Anzahl der HCI-Geräte (Bluetooth-Adapter) wird das interne Bluetooth deaktiviert oder aktiviert:

  • 0 HCI-Geräte: Internes Bluetooth wird aktiviert

  • 1 HCI-Gerät: Keine Änderung

  • 2 HCI-Geräte: Externer Bluetooth-Dongle erkannt → Internes Bluetooth wird deaktiviert

Die Überprüfung erfolgt 10 Sekunden nach dem Start von Node-RED.

Wenn Änderungen an /boot/firmware/config.txt vorgenommen werden, wird automatisch ein Neustart durchgeführt.

Die Funktion findest du wenn du nach der Node check hci0/1 in NR suchst.

wo siehst du das 0 HCI denn???

Hallo Arno

Bei System im untersten Punkt, Debug. Da kannst du sehen ob hci0 oder 1 benutzt wird.

Das bedeutet wenn ich mehrer BT Geräte benutze wird der BT Dongle benutzt? Dann müßte doch dann hci1 zu finden sein, da ich ja den BT Shunt, die LTE Bridge und das Daly BT benutze.

Grüße

Dirk

Kann es sein dass das Daly in den Sleep geht u undamit nicht mehr gefunden wird.
Ändern mal mit der Daly App die Standby zeit auf 65535 das ist die für ein 4s also 12,8 Volt.
Bei einem 8S ist diese wohl anders. Das sollte Verhindert dass das BMS Bluetooth ausschaltet.

Wenn du noch andere BLE geräte drin hast, kann es auch sein, das der Core die Ganze Zeit die Skripte neustartet , weil ruuvitag oder anders nicht gefunden wird.

Gruß Wulle

PS: Den 20 min Neustart vom BLE hab ich auf einem System deaktiviert, da wieso alle 4 Minuten gecheckt wird ob alles da ist.

@WulleOnTour

Hallo Wulle

Das mit dem Sleepmodus und den 65535 hatte ich auch schon gelesen und entsprechend geändert.

Kurioserweise läuft es nun wieder.

Ich habe zunächstmal am Flow nichts geändert, nur beim Type auf Daly ohne daly_ble.

Wenn ich einen BT Scan mache wird die MAC Adresse vom DalyBMS angezeigt. Somit scheint der Core ja prinzipiell das BMS zu erkennen.

Wenn ich die entsprechenden DALY APP auf dem iphone mit dem BMS verbinde werden dort alle Werte angezeigt. Es scheint auch Versionen mit einem Schalter zu geben, die habe ich aber nicht.

Dann habe ich mal im MQTT Explorer nachgeschaut. Dort kamen keine Werte an.

Nun stellte sich mir die Frage warum sendet das BMS alle Werte an mein Handy aber nicht an den Core?

Ich habe dann versucht neu zu koppeln - nichts. Dann habe ich das BT Modul aus dem Daly mal ausgesteckt und wieder eingesteckt. Und siehe da - im DEBUG Feld liefen auf einmal jede Menge Meldungen auf, im MQTT Explorer erschien das blebms und in der UI und in der pekawayapp erschienen alle Werte.

Kann es sein, das das Daly BMS zum Core hin einschlafen kann und zur DalyAPP hin wach bleibt. Es schläft sozusagen nur mit einem Auge……..

Ich werde jetzt mal schauen, wielange das so funktioniert. Das letzte mal lief es ca. 3 Tage, dann waren die Daten weg.

Grüße

Dirk

Moin,

das Skript braucht teilweise etwas Zeit, um zu erkennen, welcher Typ vom Daly BMS genau verbaut ist. Wenn du parallel mit dem Handy per Bluetooth verbunden bist, kann das Skript keine eigene Verbindung zum BMS aufbauen.

Der Ablauf ist im Prinzip so:
Es wird eine BLE-Verbindung aufgebaut (Core/Skript → Daly BMS).
Das Skript stellt eine Anfrage.
Es wartet auf eine Antwort und probiert verschiedene Varianten durch, bis entweder eine passende Antwort kommt oder alle Möglichkeiten durch sind.

Wenn das Daly auf eine „falsche“ Anfrage nicht sauber reagiert, kann es passieren, dass es das Skript immer wieder rauswirft. Dann dauert der ganze Prozess entsprechend länger. Es kann auch sein, dass der Daly-Dongle die BLE-Anfragen zeitweise blockiert und erst nach einer gewissen Zeit wieder zulässt.

Wenn du aber grundsätzlich schon Werte bekommst, dann lass es einfach mal laufen.
Eventuell kannst du im Original-Flow von Pekaway auch den 20-Minuten-Bluetooth-Neustart deaktivieren. Das habe ich bei mir ebenfalls gemacht, weil ohnehin alle 4 Minuten geprüft wird, ob die Verbindungen noch stehen.

Gruß
Wulle

@WulleOnTour

Hallo Wulle

Bis jetzt läuft es. Mal sehen wie lange. Wenn es nochmal ausfällt würde ich mich wieder melden.

Grüße

Dirk