@netty ? alles auf jeden Fall richtig, da es in der App richtig anzeigt und funktioniert ![]()
-leer-
Moin,
ich kann jedem nur raten, der sich hier abkämpft, nehmt die Version von ESP Home.
esphome-jk-bms
Die läuft auch ohne Home Assistant und sendet einfach an MQTT.
Da sind alle JKBMS drin, es muss nichts abgeändert werden, es funktioniert out of the box.
Ich habe vorher Stunden verbraten, durch dieses Arduino Skript durchzusteigen, mit dem ESPHome Ding habe ich das innerhalb von 30min am Laufen gehabt. Auch wenn ich nur die Hälfte verstanden habe, was ich auf dem Weg dahin getan habe.
Hier ein keines howto:
Als Erstes braucht es Python, einfach herunterladen und installieren. Kein Hexenwerk, ich nehme für sowas gerne immer irgendeinen Windowsclient der frisch installiert ist, dann gibt es keine Merkwürdigkeiten und man kann ihn danach wieder platt machen.
Nun geht auf Commandline weiter. Also CMD
dort folgendes eingeben:
python -m venv esphome-venv .\esphome-venv\Scripts\activate
sollte dann so aussehen.
als nächstes:
pip3 install wheel pip3 install esphome
Nun sind alle Vorbereitungen abgeschlossen und man kann die FW bauen.
Hierfür braucht es eine yaml Datei, die bekommt man aus dem oben genannten GIT.
Ich habe die Bluethooth Variante genommen. esp32-ble-example.yaml
In der Datei müssen ein paar Kleinigkeiten angepasst werden:
- MAC Adresse des Bluetooth des BMS
- ggf. Protokoll Version anpassen, je nach Hardware version des BMS
- vor der Zeile api: eine Raute eintragen
- die Rauten vor mqtt und den folgenden mqtt Details entfernen.
Das wars!
Nun muss noch eine Datei erstellt werden mit dem Namen secrets.yaml, dort kommen die Daten zu WLAN / MQTT rein.
mqtt_host: 192.168.x.x mqtt_username: user mqtt_password: password wifi_ssid: ssid wifi_password: Password
Beide Dateien müssen nun in das Verzeichnis, welches man in der CMD geöffnet hat.
Dann wird kompiliert, in meinem Fall:
esphome run esp32-ble-example.yaml
Nun folgt fliegen unzählige Zeilen durch die Kommandline, dauert auch teils recht lang.
Ich habe den MS Defender deaktiviert, da wurde es deutlich schneller.
Zum Abschluss wird die fertige FW noch netterweise gleich auf den ESP geschoben, wenn dieses angeschlossen ist.
Fertig!
Lief auf Anhieb und ich habe mal wieder hinnehmen müssen nicht alles zu verstehen^^
Keiner was funktionierendes am Laufen? Keiner der Entwickler hier? {green}:tears:
@netty
nimm das ESP-Home Ding.
Das hatte ich innerhalb von 30min. am Start und macht was es soll
Statt Windows und Python kann man auch einfach docker + docker-compose verwenden wie in der offiziellen Doku:
Kommt natürlich drauf an, was man einfacher findet. ![]()
-leer-
Hallo an die Community,
ich habe versucht mein ESP32 zu flashen leider bekomme ich immer eine Fehlermeldung und meine Kenntnisse sind begrenzt, kann mir jemand weiter Helfen?
Der Sketch verwendet 1538625 Bytes (78%) des Programmspeicherplatzes. Das Maximum sind 1966080 Bytes.
Globale Variablen verwenden 60916 Bytes (18%) des dynamischen Speichers, 266764 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
usage: esptool write_flash [-h] [--erase-all]
[--flash_freq {keep,80m,60m,48m,40m,30m,26m,24m,20m,16m,15m,12m}]
[--flash_mode {keep,qio,qout,dio,dout}]
[--flash_size {detect,keep,256KB,512KB,1MB,2MB,2MB-c1,4MB,4MB-c1,8MB,16MB,32MB,64MB,128MB}]
[--spi-connection SPI_CONNECTION] [--no-progress]
[--verify] [--encrypt]
[--encrypt-files <address> <filename> [<address> <filename> ...]]
[--ignore-flash-encryption-efuse-setting] [--force]
[--compress | --no-compress]
<address> <filename> [<address> <filename> ...]
esptool write_flash: error: argument <address> <filename>: [Errno 2] No such file or directory: 'C:\Users\admin\AppData\Local\Temp\arduino\sketches\92537F1C7EBC26E5582EFF2430A87719 Link entfernt '
Fehlgeschlagenes Hochladen: Hochladefehler: exit status 2
-leer-
@peff Eine Version hab ich mal erstellt von dem ESP Home, hat mir die ganze MQTT Struktur durcheinander geworfen und alles zugemüllt.
Hallo zusammen,
mein ESP32 liest ja jetzt seit ein paar Wochen recht zuverlässig das JKBMS aus.
Leider gibt es aber ein Problem mit den Mqqt Eintragungen im ioBroker, dort werden zuviele Einträge mit falschen Namen getätigt.
Es werden zuviele Verzeichnisse angelegt, aber auch innerhalb der Verzeichnisse gibt es Schreibfehler ...
Wie kann man das abstellen ?
Andreas
@MO
Ich glaub die wichtigen Informationen stehen nicht in der BLE_client.ino sondern in der BLE-Data-Analyse.ino, ich kann es auch gar nicht compilen. Aber inzwischen hab ich mein altes JK BMS für den neuen Akku genutzt. Vielleicht probiere ich tatsächlich die ESP-Home-Version, obwohl das wirklich einiges komplizierter ist.
also bei mir schreibt er das alles brav rein.
Das Ding hat ja auch Web Interface.
Wenn das genügt, kannst ja MQTT weglassen.
Also ich bin voll und Ganz damit zufrieden.
Lediglich der ESPHome Eintrag im MQTT ist zusätzlich.
Den HomeAssi Eintrag kann man deaktivieren, und dann löschen
Klar wäre es mir auch lieber, wenn es mit Arduino ginge, denn bei Python und ESPHome verstehe ich nur Bahnhof.
Aber es rennt out of the Box.
Vielleicht bekomme ich die Schalter (balancer/charging/discharging) sogar noch in den ioBroker, dann wäre es perfekt.
-leer-
ah OK, hab ich wohl überlesen, aber ja jetzt hat das Compilen geklappt, aber das Endresultat funktioniert trotzdem nicht, na dann wohl Pech gehabt, trotzdem Danke
Wir haben die gleiche Hardware-Version und mein 17S hat auch 24 Anschlüsse wie deine, daher bin ich davon ausgegangen dass es funktioniert.
-leer-
@peff
Danke für die Info hatte vorher auch die Version von hier leider wird diese nicht mehr gut gepflegt.
Aber die Version vom ESPHome ist gut wenn man den debugg ausstellt und sich die werte nur übertragen lässt die man braucht läuft es super mit dem mqtt
Also sorry, aber die hier vorgestellte Arduino Version läuft bei mir seit vielen Wochen zufrieden stellend und war einfach zu verstehen.
Ich habe jetzt 90 Minuten versucht nach deiner Anleitung die ESPHome Version zu kompilen. Komplette Zeitverschwendung für mich.
In deiner Anleitung fehlen viel zu viele Schritte.
Insbesondere die secrets.yaml war ESP Home nie recht. Und das man Git für Windows installieren muss hast du auch nicht geschrieben.
Außerdem ist es mir rätselhaft, wie man die MAC Adresse eines verbauten BMS herausfinden soll.
Grüße
YG
Bei mir läuft seit 9 Monten die Version über ESPHOME v2022.12.1 und MQQT zum IOBrocker.
Seit heute Nacht liefert der ESP nur noch Spannungen von der Batterie.
Ladestrom, Temperatur vom akku usw. alles Null werte. Ich habe auch mal das Debuging angemacht. Die Werte werden auch mit "0" übermittelt.
Ich habe nichts geändert. Die JK-BMS App zeigt alle Werte an.
Ist das ein bekanntes Problem? Gibt es daüfr eine Lösung?
gelöst
Ich habe nun einen neuen ESP mit der aktuellen ESPHOME 1.5.0 version geflasht.
Leider tritt das Problem weiterhin auf. Spannungen werden übermittelt, der Rest mit "0.0000"
So sieht es im Debug Log aus.
Wert wird mit "0.0000" übermittelt
stateChange mqtt.0.jk-bms.debug: {"val":"\u001b[0;36m[D][sensor:094]: 'jk-bms temperature sensor 1': Sending state 0.00000 °C with 1 decimals of accuracy\u001b[0m","ack":true,"ts":1694013869968,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1694013869968}
stateChange mqtt.0.jk-bms.debug: {"val":"\u001b[0;36m[D][sensor:094]: 'jk-bms discharging power': Sending state 0.00000 W with 2 decimals of accuracy\u001b[0m","ack":true,"ts":1694013869968,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1694013869968}
Die Spannungen werden übermittelt:
stateChange mqtt.0.jk-bms.debug: {"val":"\u001b[0;36m[D][sensor:094]: 'jk-bms cell voltage 1': Sending state 3.35100 V with 3 decimals of accuracy\u001b[0m","ack":true,"ts":1694013869451,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1694013869451}
Nachtrag das Problem ist gelöst. Mit neuer Version und richtiger protocol_version klappt es nun wie gewohnt.
Please use "JK02_32S" if you own a new JK-BMS >= hardware version 11.0 (f.e. JK-B2A8S20P hw 11.XW, sw 11.26)
protocol_version: JK02_32S




