Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. JK-BMS über RS485 mit ESPHome auslesen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    JK-BMS über RS485 mit ESPHome auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • syssi
      syssi @saugimanni last edited by

      @saugimanni Cool! Das ging flott!

      S 1 Reply Last reply Reply Quote 0
      • S
        saugimanni @syssi last edited by

        @syssi

        so , habe heute nun auch die anderen beiden Akkus an den Start bekommen und habe somit genaue Werte zu weiteren Berechnungen zur Verfügung .
        21c1f260-6375-4fde-a16c-3364f7274152-image.png

        Nochmal vielen Dank an alle, speziell an Syssi für den entscheidenden Tip .

        Wenn Du etwas Zeit hast, vielleicht kannst Du mir noch mitteilen, was ich zu tun habe , wenn ich auf den "RS485" Anschluss der BMS umstellen möchte, denn ich denke , die BLE-Abfrage wird wahrscheinlich nicht so stabil sein, wie der Kabelanschluss . Ich werde es jedoch in den nächsten Wochen erst mal testen, da ich beruflich wieder länger abwesend sein werde .

        Also nochmals Danke und ein frohes Osterfest für Euch alle .....

        syssi 1 Reply Last reply Reply Quote 0
        • syssi
          syssi @saugimanni last edited by

          @saugimanni Die Anbindung über Kabel statt BLE sollte nun ein Kinderspiel für dich sein. Es ist wichtig zu wissen, dass der Steckplatz am BMS zwar mit dem Label "RS485" versehen ist, hier jedoch serielle Daten mit 115k2 herausfallen, wenn man ein sog. Status-Frame anfordert. Etwas schade ist, dass sich das BMS nicht übers Kabel schreiben/konfigurieren lässt. Man kann somit nur periodisch das Status-Frame anfordern und es in Sensorwerte zerlegen. Inhaltlich ist es leider auch etwas schwächer bestückt als im BLE-Verkehr. Es fehlt z.B. der Balancer-Strom im Payload.

          So wuerdest du vorgehen:

          1. Beim ESP32 bleiben, weil dieser 3 Hardware-UARTs besitzt
          2. Anstatt mit der esp32-ble-example.yaml würdest du mit der esp32-example.yaml starten bzw. esp32-example-multiple-devices.yaml. Jene erweiterst du bis sie 3 UARTs & 3 BMSe umfasst.
          3. Zwischen BMS (RX, TX, GND) und ESP werden Leitungen zu den jeweiligen GPIOs/Pinnen gezogen.

          Das sollte es schon gewesen sein. Die Komponente pollt in der Frequenz des update_interval das BMS und fordert das Status-Frame an. Viel Erfolg!

          N 1 Reply Last reply Reply Quote 0
          • N
            nettworker @syssi last edited by nettworker

            @syssi

            ich muss das Thema noch mal aufgreifen. Ich versuche auch gerade einen ESP32 zu flashen bzw. die *.bin zu erzeugen und bekomme nach dem Entfernen der Kommentarzeichen im Bereich MQTT folgenden Fehler:

            INFO ESPHome 2023.7.0
            INFO Reading configuration jkbms2.yaml...
            INFO Updating https://github.com/syssi/esphome-jk-bms.git@main
            Failed config

            api: [source jkbms2.yaml:39]

            [mqtt] is an invalid option for [api]. Please check the indentation.
            mqtt:
            broker: xxx.xxx.xxx.xxx
            username: ''
            password: ''
            id: jkbms
            port: 1884

            Woran kann das liegen?

            Verwendet habe ich die esp32-ble-example.yaml

            syssi 1 Reply Last reply Reply Quote 0
            • syssi
              syssi @nettworker last edited by

              @nettworker Bitte alle Leerzeichen vor dem Wort "api:" entfernen. Sowohl die Zeile "mqtt:" als auch "api:" dürfen keine führenden Leerzeichen besitzen, da es sich um Abschnitte handelt die auf der gleichen Hierarchie-Ebene liegen.

              1 Reply Last reply Reply Quote 0
              • E
                ed.fischer @saugimanni last edited by

                @saugimanni Hi, eine dumme Frage. Wie finde ich die MAC Add von meinem JK BMS B1A20S15P?
                Danke und gruss
                ED

                E 1 Reply Last reply Reply Quote 0
                • E
                  ed.fischer @ed.fischer last edited by

                  @ed-fischer said in JK-BMS über RS485 mit ESPHome auslesen:

                  MAC

                  Wenn ich ESP debug protokoll lese, finde ich genau die 2 Geräte:

                  1. Victron Smartsolar
                    address: 222986639317806
                    rssi: -81
                    address_type: 1
                    data: "\002\001\006\027\377\341\002\020\002X\240\001\340\340M_\0301\276\353\252krg\013)s\027\tSmartSolar HQ2302ZF4NC"

                  2. JK BMS
                    address: 220209632571241
                    rssi: -76
                    data: "\002\001\006\005\002\340\377\347\376\013\377e\013\210\240\310G\214\354\357i\r\tJK_B1A20S15P"

                  Die MAC adresse sollte doch anders sein oder?
                  Gruss
                  Ed

                  E 1 Reply Last reply Reply Quote 0
                  • E
                    ed.fischer @ed.fischer last edited by

                    @ed-fischer Habe gefunden "Diagnose Info herunterladen"

                    syssi 1 Reply Last reply Reply Quote 0
                    • syssi
                      syssi @ed.fischer last edited by

                      Alternativ kannst du noch ins Logbuch der ESPHome Node schauen. Die Standard-Konfiguration enthält diesen Abschnitt:

                      esp32_ble_tracker:
                        on_ble_advertise:
                          then:
                            - lambda: |-
                                if (x.get_name().rfind("JK-", 0) == 0) {
                                  ESP_LOGI("ble_adv", "New JK-BMS found");
                                  ESP_LOGI("ble_adv", "  Name: %s", x.get_name().c_str());
                                  ESP_LOGI("ble_adv", "  MAC address: %s", x.address_str().c_str());
                                  ESP_LOGD("ble_adv", "  Advertised service UUIDs:");
                                  for (auto uuid : x.get_service_uuids()) {
                                    ESP_LOGD("ble_adv", "    - %s", uuid.to_string().c_str());
                                  }
                                }
                      

                      Dieser sorgt dafür, dass immer wenn der ESP eine BLE-Ankündigung empfängt und sie mit dem Gerätenamen "JK-" beginnt ein paar Meldungen ins Log schreibt. Die Zeile "MAC address: ..." enthaelt die MAC-Adresse des BMS. Alternativ kannst du dir eine beliebige Android App schnappen, welche in der Lage ist BLE-Geräte in der Luft aufzulisten. Sehr beliebt ist die App "nRF Connect for Mobile". Viel Erfolg!

                      1 Reply Last reply Reply Quote 1
                      • H
                        home3131 last edited by

                        Hallo zusammen, ich lese dieses Thema mit Interesse. Aber ich habe eine Frage. Mein BMS ist JK-BMS B2A8S20P. Nach allen Informationen, die ich anderswo gefunden habe, kommen die RS485-Daten vom GPS-Port. Dieser Typ ist in der Liste der getesteten BMS aufgeführt. Der Anschluss ist so klein, dass ich ihn nirgends im Internet finden kann. Wie habt ihr das gemacht?

                        syssi 1 Reply Last reply Reply Quote 0
                        • syssi
                          syssi @home3131 last edited by

                          @home3131 Der Stecker trägt den Namen "4 Pin, JST 1.25mm".

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @syssi last edited by Homoran

                            @syssi sagte in JK-BMS über RS485 mit ESPHome auslesen:

                            @home3131 Der Stecker trägt den Namen "4 Pin, JST 1.25mm".

                            JST haben üblicherweise noch eine weitere Bezeichnung.
                            z.B. XH, PH oder GH.
                            möglich, dass das Rastermaß von 1.25 reicht um es einzugrenzen, aber auch die Führungen könnten unterschiedlich sein

                            syssi 1 Reply Last reply Reply Quote 0
                            • syssi
                              syssi @Homoran last edited by

                              Grenzt "Micro JST 1.25mm 4 Pin" es besser ein? Soweit mir bekannt hat diese Ausprägung des Steckers keinen zusätzlichen Identifikator.

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @syssi last edited by

                                @syssi sagte in JK-BMS über RS485 mit ESPHome auslesen:

                                Grenzt "Micro JST 1.25mm 4 Pin" es besser ein? Soweit mir bekannt hat diese Ausprägung des Steckers keinen zusätzlichen Identifikator.

                                dürfte der GH sein.
                                der XH hat 2.5mm und der RH 2 oder 1.8, bin mir da aber nicht sicher.

                                Ich kenne den Kram noch aus dem Modellbau

                                syssi 1 Reply Last reply Reply Quote 0
                                • syssi
                                  syssi @Homoran last edited by

                                  @homoran Ist definitiv kein GH, weil keine Arretierung.

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @syssi last edited by

                                    @syssi sagte in JK-BMS über RS485 mit ESPHome auslesen:

                                    @homoran Ist definitiv kein GH, weil keine Arretierung.

                                    da tue ich mich jetzt echt schwer

                                    PH
                                    Screenshot_20231108-151223_Firefox.jpg

                                    und
                                    XH
                                    Screenshot_20231108-151131_Firefox.jpg

                                    haben größeres Rastermaß

                                    mit 1.25 hab ich auf die Schnelle das hier
                                    Screenshot_20231108-151403_Firefox.jpg

                                    gefunden.
                                    Das kannte ich bisher nicht

                                    syssi 1 Reply Last reply Reply Quote 0
                                    • syssi
                                      syssi @Homoran last edited by

                                      So sollte der Stecker aussehen: https://raw.githubusercontent.com/syssi/esphome-jk-bms/main/images/circuit.jpg

                                      1 Reply Last reply Reply Quote 1
                                      • M
                                        Marco 3 @saugimanni last edited by

                                        Hallo alle zusammen.

                                        aktuell lese ich mein JKBMS mittels der ersten verlinken Version aus. Also Über Arduino flashen....
                                        Dieses Sysem höngt sich aber regelmäßig auf und sendet keine daten mehr.

                                        Ich möchte gern den ESP32 mittels ESPhome zum Kommunizieren mit dem IO Broker bekommen.

                                        Nun meine Verständnis Fragen:
                                        ESPhome ist für die Home Assistent Umgebung geschrieben? --> muss ich also Home Assistent installieren, um dann ESPhome als addon installieren, um dann diesen zu flashen?

                                        Mein IOBroker läuft auf einer Ubuntu VM auf einem Windows mit VMworkstation. (hat sich so entwickelt, da ich früher die Windows Umgebung benötigt hatte um die Pylontech auszulesen, aber das ist Vergangenheit, Selbstbau Akku mit JKBMS) --> der Umzug zu Proxmox ist noch nicht angegangen 🙂

                                        am Ende möchte ich nur die JKBMS Werte in den IObroker bekommen.

                                        Ich danke schon jetzt mal für die Antwort(en).
                                        Grüsse

                                        syssi 1 Reply Last reply Reply Quote 0
                                        • M
                                          Marco 3 @syssi last edited by

                                          @syssi

                                          da du diese Fragen schon gesellt hattest.

                                          Hat dein ESP32-Board eine USB-Buchse / USB-zu-TTL-Wandler auf der Platine, so dass man es direkt per USB-Kabel beschreiben kann? --> ja ich habe eine ESP32 mit den Pfostenleisten und USB Anschluss

                                          Welches Betriebsystem hat dein Rechner? Steht dir ein Rechner mit z.B. Ubuntu zur Verfuegung? --> Eigentlich Windows 11, Ubuntu könnte ich auf einer VM eröffnen.

                                          Kennst du die MAC-Adresse deines BMS? Kannst du sie bereits z.B. am Smartphone per "nRF Toolbox" in Erfahrung bringen? --> ja mit der nRF Toolbox in Erfahrung gebracht

                                          Betreibst du bereits einen MQTT-Server, welchen man mit den Daten aus der ESPHome-Node / dem BMS befüttern kann? --> den MQTT-Server vom iOBroker

                                          Wäre sehr schön, wenn wir den JKBMS (bald sind es 2) zum fliegen bekommen, ich würde auch sehr gern meinen Weg hier als einen Beitrag posten, als Hilfe für andere Leser.

                                          Danke und Grüsse

                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @Marco 3 last edited by Homoran

                                            @marco-3 sagte in JK-BMS über RS485 mit ESPHome auslesen:

                                            Wäre sehr schön, wenn wir den JKBMS (bald sind es 2) zum fliegen bekommen,

                                            ich auch
                                            https://forum.iobroker.net/post/1082344

                                            und da ist noch einer
                                            https://forum.iobroker.net/post/1095743
                                            mit einer etwas anderen Konstellation

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            899
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            arduino esphome iobroker jk-bms
                                            11
                                            94
                                            11451
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo