-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support für JK Inverter BMS #118
Comments
You can use the new ones over RS485 first port. |
Translated by Deepl: Evtl hilft das, zumindest für die Kommunikation über Kabel? |
Wenn das für das JK Inverter BMS ist, dann schaut es auf den ersten Blick brauchbar aus. |
Es gibt ja einen Fork vom esphome-jk-bms wo die Unterstützung für das JK Inverter BMS via RS485 und BT schon funktioniert. |
Ich bin dabei, das ganze nach dem Protokoll zu implementieren. Das ist mir immer lieber, als es irgendwo abzuschreiben. |
Sehe ich das richtig, dass das BMS Modbus RTU spricht? Zumindest laut dem Übersetzen Dokument oben wird von Holding Registern und Function Codes gesprochen. Woher nimmst du deine Infos zum Implementieren? Hast du da weitere Dokumente? |
@shining-man do you have new jk-bms hardware to test this on? I could send you one if needed |
@MeisterQ Im Dokument steht eigentlich alles drin. Mehr Infos brauche ich nicht. @tanelvakker Thanks for the offer. I don't have one, but I don't rent equipment anymore. If something breaks, that's a big problem. |
Welches Dokument genau? |
@MeisterQ Das oben angehängte: #118 (comment) |
@shining-man Ich habe mal einen Terminal Mitschnitt laufen lassen wenn man mit dem JK BMS Monitor die Livedaten abfragt: Vom Tool wird gesendet: 0x01 0x10 0x16 0x20 0x00 0x01 0x02 0x00 0x00 0xD6 0xF1 Als Antwort kommt: 55 AA EB 90 02 05 FF 0C 01 0D 03 0D FF 0C FA 0C 04 0D 03 0D 05 0D 01 0D 06 0D 03 0D 00 0D 05 0D 03 0D 00 0D 03 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Nur passt das nicht zum Protokoll Blatt oben. Vielleicht hilft das auch noch. Hast du schon ein File online wo das Auslesen drin ist? |
@MeisterQ Danke für den Mittschnitt. Ist das das einzige Telegramm, dass die Software zum BMS sendet? Die Antwort die zurück kommt, schaut für mich nicht nach einer Modbus Antwort aus. |
Ja das ist wenn man auf der "Livedaten" Seite vom BMS ist. Ich denke das ist das "Standard GPS Protokoll" was man am BMS für den 485 Port auswählen kann. Für Modbus muss man Protokoll 1 (Modbus V1.0) Auswählen. Das habe ich mal mit qmodmaster versucht auszulesen. Das ist das Ergebnis: Das ist ganz brauchbar. Da kommt alles zurück was auch im Protokoll Dokument steht. Man ließt ab 0x1200 123 Register aus und kann dann von 0 - 123 alle Daten abfragen. |
Hier wäre eine erste Testversion zum prinzipiellen Funktionstest: |
Ich kann es leider nicht testen, da meine Hardware nicht zu den Pins vom BSC passt. |
@MeisterQ Welchen Port vom JK hast du für die Kommunikation genutzt, und was hast du dazu im BMS eingestellt? |
Hab die Firmware getestet. Aber nun erhalte ich gar keine Daten mehr vom BMS (JK Inverter BMS). |
Auf dem Kommunikationsboard ganz rechts die 2 RS485 Ports sind dafür da. Zusätzlich muss das BMS auf ID 1 stehen, also der erste Dip Schalter auf Ein, ODER je nach BMS was du auslesen willst, die Modbus UID auf die Zahl stellen, worauf das BMS mit den DIP konfiguriert ist. |
The change/extension is included in version 0.7.0. |
Hallo,
ich habe das aktuelle (V0.6.0) auf einen ESP32 geflasht und soweit konfiguriert.
Die JK Inverter BMS (JK-PB2A16S20P) wurden auf der Bluetoothseite erkannt und die Adresse per Copy übernommen.
Gerätetyp JK-BMS [TEST] wurde für BT Device 0 und BT Device 1 ausgewählt.
Allerdings erhalte ich auch nach einem Reboot keine Daten, jedoch quittiert das BMS auch mit einem Beep die Verbindung, ich bin hier nicht sicher, ob es beide BMS gleichzeitig sind, oder nur eines, welches den Beep ausgibt.
Das Logfile sieht für mich i.O. aus. (Bluetooth Adressen wurden hier anonymisiert):
I (1970-01-01 00:00:01) LOG: Free Space total=836081, used=42168, logSize=0
I (1970-01-01 00:00:01) MAIN: BSC V0.6.0
I (1970-01-01 00:00:01) MAIN: bootCounter=1
I (1970-01-01 00:00:01) MAIN: HW: 0
I (1970-01-01 00:00:01) MAIN: Free Heap: 197056
I (1970-01-01 00:00:01) WEB_SETTINGS: Free flash entries: 560
I (1970-01-01 00:00:01) WEB_SETTINGS: Kein Parameterfile vorhanden
I (1970-01-01 00:00:01) WEB_SETTINGS: writeConfig(): file not exist
I (1970-01-01 00:00:07) MAIN: Free Heap: 188808
I (1970-01-01 00:00:07) MAIN: Hostname: bsc
I (1970-01-01 00:00:07) MAIN: Init WLAN...
I (1970-01-01 00:00:07) MAIN: Init BLE...
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=0, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=1, funktionsTyp=0
I (1970-01-01 00:00:07) MAIN: Open Wifi AP
I (1970-01-01 00:00:07) Inverter: Load inverter settings(): dataSrc=0, dataSrcAdd=0
I (1970-01-01 00:00:07) Canbus: TWAI START: ESP_OK
I (1970-01-01 00:00:07) I2C: Display not found (2)
I (1970-01-01 00:00:07) I2C: Slave 0 (Adr=16) not found (2)
I (1970-01-01 00:00:07) I2C: Slave 1 (Adr=17) not found (2)
I (1970-01-01 00:00:07) I2C: Serial Ext. not found (2)
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=2, funktionsTyp=0
I (1970-01-01 00:00:07) MAIN: Free Heap: 136060
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=3, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=4, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=5, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=6, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=7, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=8, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=9, funktionsTyp=0
I (1970-01-01 00:00:07) BSC_SERIAL: initSerial SerialNr=10, funktionsTyp=0
I (1970-01-01 00:00:07) MAIN: WIFI ready (0)
I (1970-01-01 00:00:07) MAIN: WIFI AP start (10)
I (1970-01-01 00:00:07) MAIN: WIFI AP stop (11)
I (1970-01-01 00:00:07) MAIN: WIFI AP start (10)
I (1970-01-01 00:00:07) MAIN: Init BLE...ok
I (1970-01-01 00:00:26) MAIN: WIFI event: 12
I (1970-01-01 00:00:28) MAIN: WIFI event: 14
I (1970-01-01 00:04:10) ALARM: Trigger 1, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 2, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 3, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 4, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 5, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 6, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 7, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 8, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 9, value 0 -
I (1970-01-01 00:04:10) ALARM: Trigger 10, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 1, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 2, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 3, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 4, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 5, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 6, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 7, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 8, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 9, value 0 -
I (1970-01-01 00:04:21) ALARM: Trigger 10, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 1, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 2, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 3, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 4, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 5, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 6, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 7, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 8, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 9, value 0 -
I (1970-01-01 00:08:13) ALARM: Trigger 10, value 0 -
I (1970-01-01 00:08:19) BLE_HANDLER: onConnect() c8:47:80:0d:xx:xx
I (1970-01-01 00:08:20) BLE_HANDLER: Device connected; dev=0
I (1970-01-01 00:08:25) ALARM: Trigger 1, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 2, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 3, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 4, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 5, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 6, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 7, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 8, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 9, value 0 -
I (1970-01-01 00:08:25) ALARM: Trigger 10, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 1, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 2, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 3, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 4, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 5, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 6, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 7, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 8, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 9, value 0 -
I (1970-01-01 00:08:27) ALARM: Trigger 10, value 0 -
I (1970-01-01 00:00:00) LOG: Free Space total=836081, used=61746, logSize=4994
I (1970-01-01 00:00:00) MAIN: BSC V0.6.0
I (1970-01-01 00:00:00) MAIN: bootCounter=1
I (1970-01-01 00:00:00) MAIN: HW: 0
I (1970-01-01 00:00:00) MAIN: Free Heap: 195768
I (1970-01-01 00:00:00) WEB_SETTINGS: Free flash entries: 199
I (1970-01-01 00:00:00) WEB_SETTINGS: Settings ok
I (1970-01-01 00:00:02) MAIN: Free Heap: 188976
I (1970-01-01 00:00:02) MAIN: Hostname: bsc
I (1970-01-01 00:00:02) MQTT: MQTT: ip=192.168.19.7, port=1883
I (1970-01-01 00:00:02) MAIN: Init WLAN...
I (1970-01-01 00:00:02) MAIN: Init BLE...
I (1970-01-01 00:00:02) MAIN: Verbindung zu NoSignal
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=0, funktionsTyp=0
I (1970-01-01 00:00:02) Inverter: Load inverter settings(): dataSrc=0, dataSrcAdd=0
I (1970-01-01 00:00:02) Canbus: TWAI START: ESP_OK
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=1, funktionsTyp=0
I (1970-01-01 00:00:02) I2C: Display not found (2)
I (1970-01-01 00:00:02) I2C: Slave 0 (Adr=16) not found (2)
I (1970-01-01 00:00:02) I2C: Slave 1 (Adr=17) not found (2)
I (1970-01-01 00:00:02) I2C: Serial Ext. not found (2)
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=2, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=3, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=4, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=5, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=6, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=7, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=8, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=9, funktionsTyp=0
I (1970-01-01 00:00:02) BSC_SERIAL: initSerial SerialNr=10, funktionsTyp=0
I (1970-01-01 00:00:02) MAIN: Free Heap: 145252
I (1970-01-01 00:00:02) MAIN: WIFI ready (0)
I (1970-01-01 00:00:03) MAIN: WIFI STA start (2)
I (1970-01-01 00:00:03) MAIN: Init BLE...ok
I (1970-01-01 00:00:05) MAIN: WIFI STA connected (4)
I (1970-01-01 00:00:06) MAIN: WIFI STA got IP (7)
I (1970-01-01 00:00:07) MAIN: IP-Adresse = 192.168.19.98
I (1970-01-01 00:00:09) TIME: Init NTP (NAME): server=pool.ntp.org
I (2024-05-31 14:24:33) MAIN: Time: 2024-05-31 14:24:33
I (2024-05-31 14:24:38) BLE_HANDLER: onConnect() c8:47:80:0d:xx:xx
I (2024-05-31 14:24:39) BLE_HANDLER: Device connected; dev=0
I (2024-05-31 14:24:40) BLE_HANDLER: onConnect() c8:47:80:0d:xx:xx
I (2024-05-31 14:24:42) BLE_HANDLER: Device connected; dev=1
I (2024-05-31 14:24:44) MQTT: Daten von allen BMS's vorhanden. Das Senden kann starten.
I (2024-05-31 14:24:46) MQTT: MQTT Broker connected
I (2024-05-31 14:29:00) ALARM: Trigger 1, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 2, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 3, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 4, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 5, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 6, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 7, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 8, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 9, value 0 -
I (2024-05-31 14:29:00) ALARM: Trigger 10, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 1, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 2, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 3, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 4, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 5, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 6, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 7, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 8, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 9, value 0 -
I (2024-05-31 14:29:04) ALARM: Trigger 10, value 0 -
I (2024-05-31 14:30:44) Inverter: Load inverter settings(): dataSrc=0, dataSrcAdd=0
I (2024-05-31 14:30:46) Inverter: Load inverter settings(): dataSrc=0, dataSrcAdd=0
I (2024-05-31 14:30:48) Inverter: Load inverter settings(): dataSrc=0, dataSrcAdd=0
Habe ich etwas übersehen? Das JK Inverter Model unterscheidet sich evtl. auch vom Protokoll, da es nicht unter den supporteten Devices gelistet ist. Kann ich hier evtl. etwas beitragen?
The text was updated successfully, but these errors were encountered: