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.
    • 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
                                • syssi
                                  syssi @Marco 3 last edited by syssi

                                  @marco-3 Man benötigt kein Home Assistant um eine ESPHome Node zu bauen & zu flashen. Eigentlich ist ESPHome ein Kommandozeilen-Tool, in welches man eine YAML-Datei hinein füttert, welche dann zu C++-Code umgewandelt, compiliert und auf den nächstbesten (im ersten Schritt am USB-Port steckenden) ESP geflasht wird.

                                  Versuche dich mal an dieser Schritt-für-Schritt-Anleitung entlang zu hangeln. Es kann sein, dass es sich nicht um die perfekte Anleitung handelt, wenn man aus dem ioBroker-Universum kommt aber ich weiß es nicht besser. 😉

                                  1. Schnapp dir eine aktuelle Ubuntu-VM
                                  2. Installiere den Python-Paketmanager "pipx": sudo apt-get install pipx
                                  3. Nutze den Paketmanager (als normaler User) um das aktuellste ESPHome-Release zu installieren pipx install esphome. Die Installation legt hier eine ausführbare Datei hin: ~/.local/bin/esphome

                                  Nun hast du bereits alle Werkzeuge beisammen. Per

                                  ~/.local/bin/esphome run example.yaml
                                  

                                  könntest du deine erste YAML-Datei (example.yaml) interpretieren, compilieren und flashen. Im letzten Schritt der Operation run listet das Tool alle verfügbaren Wege einen ESP zu flashen. Für den Anfang muss der ESP per USB-Kabel angesteckt sein, dann wird er gefunden und zur Auswahl gestellt.

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

                                    @syssi
                                    danke, dass gehe ich mit an...

                                    Ubuntu ist in der VM drauf ubuntu-22.04.3-desktop-amd64 --> esphome ist laut deinen Schritten installiert.
                                    ABER:

                                    ubuntu@ubuntu-virtual-machine:~/Schreibtisch$ ~/.local/bin/esphome run example.yaml
                                    INFO ESPHome 2023.12.5
                                    INFO Reading configuration example.yaml...
                                    ERROR Error while reading config: Invalid YAML syntax:
                                    
                                    Error reading file example.yaml: [Errno 2] No such file or directory: 'example.yaml'
                                    ubuntu@ubuntu-virtual-machine:~/Schreibtisch$ 
                                    
                                    

                                    Ich brech hier mal kurz ab. Ich habe gerade von HOMEassitent in VM für VMware gefunden und versuche dies nun über die VMware bis zum ESPhome zu treiben, um eine Grafische Oberfläche zu haben.
                                    in der reinen Kommandozeilenwelt, ist bei mir, doch die Fehlerquote sehr hoch....

                                    Auch der Versuch scheitert bei mir, ich leg es erst mal auf Eis.

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

                                      @marco-3 Nur die Ruhe. Wir haben uns lediglich falsch verstanden. "example.yaml" ist der Dateiname einer beliebigen Konfiguration, welche erstmal (in deinem Fall) auf dem Schreibtisch/Desktop liegen muss bevor sie verarbeitet werden kann.

                                      Ist meine Annahme richtig, dass du eine JK-BMS per Bluetooth auslesen willst? In diesem Fall schnappst du dir diese Datei:

                                      https://github.com/syssi/esphome-jk-bms/blob/main/esp32-ble-example.yaml

                                      Zum Beispiel als RAW-Download:

                                      https://raw.githubusercontent.com/syssi/esphome-jk-bms/main/esp32-ble-example.yaml

                                      Dann musst du einmal im Kopf die Variable mac_address auf die MAC-Adresse deines Gerätes aktualisieren. Danach suchst du dir deinen Weg, wie diese Datei auf deinen Schreibtisch/Desktop in die VM kommt. Nun startest du den Vorgang:

                                       ~/.local/bin/esphome run esp32-ble-example.yaml
                                      

                                      Im besten Fall stellst du vorher noch sicher, dass der ESP sauber per USB an die VM durchgereicht ist.

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

                                        @syssi
                                        Danke für die fixe Antwort.

                                        Mein aktueller Fortschritt:
                                        Diese Anleitung habe ich genommen.
                                        https://www.youtube.com/watch?v=KEkkUogxt60

                                        1. https://www.virtualbox.org/wiki/Downloads --> auf den Win10 Rechner installiert
                                        2. https://www.home-assistant.io/installation/windows --> das .vdi eingepflegt
                                        3. die USB Ports alle durchgeleitet in Virtual Box
                                        4. den ESP32 erfolgreich mit der W-Lan Verbindung verbunden. -> jetzt sollte OTA-Flashen funktionieren.
                                        5. https://github.com/syssi/esphome-jk-bms/blob/main/esp32-ble-example.yaml und die MAC angepast --> er verbindet und es kommen Daten.
                                        6. jetzt noch die MQTT Adressen anpassen --> ongoing
                                        syssi 1 Reply Last reply Reply Quote 0
                                        • syssi
                                          syssi @Marco 3 last edited by

                                          Super! Ich hatte in der Vergangenheit den ein oder anderen ioBroker-User, bei welchen die Einstellungen des MQTT-Adapters zu einem Absturz des ESPs geführt haben. Es gibt bei ioBroker die Option, dass der neue MQTT-User erstmal mit Nachrichten geflutet werden soll. Dies überfordert den ESP und er crasht. Schaltet man die Option aus, läuft der Betrieb in der Regel stabil. Du scheinst nicht über diesen Punkt gestolpert zu sein.

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

                                            @syssi
                                            noch nicht.... bin noch nicht weiter gekommen, ich glaub da ist was mit den Leerzeichen..... bringt Fehler bei der IP Zeile und Passwort usw..... kann an das auch in die Secret Zeile irgend wie einpflegen?

                                            mach dann in ca. 2h weiter...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            878
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            arduino esphome iobroker jk-bms
                                            11
                                            94
                                            11481
                                            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