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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 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 @dremeier last edited by

      @dremeier Die GPIOs können für beliebige Zwecke zum Einsatz kommen. Durch die Konfiguration in der YAML wird definiert, ob sie zum Lauschen oder zum Sprechen zum Einsatz kommen sollen. Antwortet dein BMS nicht auf Anhieb, weil etwas "falsch" angeschlossen ist, dann verdrehst du entweder die Kabel oder vertauschst die GPIOs.

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

        @syssi vielen Dank!
        Ich war der Meinung die Pins seinen Hardware UART, wenn man sie so frei belegen kann um so besser!
        Bin gerade dabei eine kleine Platine mit DC/DC converter zu entwickeln, so dass die hohe Batteriespannung, die an dem UART-Stecker des BMS anliegt auf 3,3V geregelt wird. Zusätzlich wird die UART noch galvanisch entkoppelt. Hatte mir schon einige ESP zerschossen.
        Wenns fertig ist stell ich es hier gern vor.ADUM1201_UART_ESP32.jpg

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

          @dremeier Der ESP32 hat eine GPIO-Matrix und kann deshalb per Software einen der drei Hardware-UARTs auf nahezu beliebige Pins routen. Beim ESP8266 war das anders (festverdrahtet). Ich bin gespannt, ob dein Konverter funktioniert. Ich habe leider schon von vielen rauchenden Komponenten gehoert, sobald der ESP vom DC/DC-Wandler direkt von der Batterie gespeist wurde. Ich hoffe, dass die galvanische Trennung (auf allen Ebenen?) insb. auf der Masse-Leitung zwischen Batterie- und "ESP" bzw. DC/DC-Wandler. Ich habe hier leider zu wenig Ahnung von Schaltkreisen um hier guten Input zu geben.

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

            @syssi

            Hallo Sebastian

            bin gerade auch dabei per BLE einzubinden da ein anderer Weg aktuell wegen einem Herstellerbug eine Sackgasse ist.

            Nun holt mich aber wieder ESPHome mit vielen Fragen und Fehlermeldungen ein.

            Darf ich davon ausgehen, dass die angebotene Lösung nicht nur für HomeAssistant funktionieren soll sondern auch mit dem ESPHome Adapter der in IOBroker läuft?

            Wie verhält es sich dann mit der Zuordnung? Lt. Anleitung sieht man die fertige Kachel in HA. In IOBroker finde ich derzeit "nur" die Datenpunkt. Muß ich mir die Zuordnung wirklich selbst austüfteln?
            c7d12c02-2c39-4083-b37e-a6083638cd65-grafik.png

            Binde ich zusätzlich über Mqtt an sieht es etwas besser aus und ich finde Datenpunkte mit Beschreibung wie der durschnittlichen Zellspannung:

            160a6769-3022-4dd8-97b3-f4b5fc2dd3b2-grafik.png

            Was muß ich nun aber tun über hier Settings per Mqtt verändern zu können? Reicht es den Mqtt Datenpunkt in IOB zu ändern oder ist das per command DP zu nutzen?
            32534bea-debc-4778-a0f0-8fc5f3716a10-grafik.png

            Ergänzend die Frage, dass mir durch die Integration der Log voll läuft:

            esphome.0
            	2025-05-11 10:24:48.349	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:48.348	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:43.237	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:43.235	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:38.110	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:38.109	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:33.069	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:33.068	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:27.780	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:27.780	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:22.654	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:22.652	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:17.540	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:17.540	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:12.408	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:12.407	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:07.291	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:07.289	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:24:02.094	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:24:02.090	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:23:56.967	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            esphome.0
            	2025-05-11 10:23:56.966	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
            esphome.0
            	2025-05-11 10:23:51.938	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
            

            Bin noch auf der Suche was ID:25 ist.

            Besten Dank für Eure Tips!

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

              @dieter_p Hallo Dieter! Ich kann deine Annahmen nur bestätigen: Die Implementierung kann unabhängig oder auch ganze ohne eine Heimautomation genutzt werden. Man hat die Möglichkeit alle Messwerte über einen MQTT-Broker abzusetzen oder Schalter/Einstellungen über MQTT zu verändern. Die geposteten Logbuch-Zeilen scheinen ioBroker spezifisch zu sein und ich weiss nicht, was sie bedeuten.

              D 1 Reply Last reply Reply Quote 1
              • D
                Dieter_P @syssi last edited by

                @syssi

                Danke für Dein Feedback. Da ich mir nicht sicher war und einfach mal schauen wollte, hab ich den kleinen local Webserver mal aktiviert und frag mich nicht warum, aber nun sehe ich auch die Beschriftungen der Datenpunkt. Einstellungen verändern geht auch über die Webseite:

                df8864f4-8bf2-426f-a141-2db0229015a6-grafik.png

                Was mich noch wundert: Kann mich nicht erinnern irgendwo mein Settings-Kennwort eingetragen zu haben, trotzdem hat man Vollzugriff aufs BMS?

                Was mich stört: die Fehler im Log:

                esphome.0
                	2025-05-11 23:34:43.731	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
                esphome.0
                	2025-05-11 23:34:43.730	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
                esphome.0
                	2025-05-11 23:34:38.607	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
                esphome.0
                	2025-05-11 23:34:38.607	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
                esphome.0
                	2025-05-11 23:34:33.495	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
                esphome.0
                	2025-05-11 23:34:33.495	error	ESPHome client 192.168.7.76 Error: Failed find or parsed message type for Id: 25
                esphome.0
                	2025-05-11 23:34:28.372	error	ESPHome client 192.168.7.76 TypeError: Cannot set properties of undefined (setting 'length')
                
                syssi 1 Reply Last reply Reply Quote 0
                • syssi
                  syssi @Dieter_P last edited by

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

                  Was mich noch wundert: Kann mich nicht erinnern irgendwo mein Settings-Kennwort eingetragen zu haben, trotzdem hat man Vollzugriff aufs BMS?

                  Das Passwort in der Android App ist leider Augenwischerei. Wenn du es setzt, dann wird es zwar auf dem BMS gespeichert. Um es zu validieren, wird es in Plaintext per Bluetooth abgerufen und in der App gegen deine Eingabe verglichen. Stimmt das Passwort, dann bekommst du Zugritt zur jeweiligen View/Funktion (in der App). Per Blueooth akzeptiert das BMS immer jegliche Befehle und unterzieht sie keiner Passwortüberprüfung.

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

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

                    Per Blueooth akzeptiert das BMS immer jegliche Befehle und unterzieht sie keiner Passwortüberprüfung.

                    Puuh, heftiger Tobak. Damit kann man eigentlich das BMS nirgendwo installieren wo Fremde unbeaufsichtigt Zugang haben.
                    Ich frag mich wer so etwas konzipiert....unbegreiflich.

                    Bzgl. der Fehlermeldung mußte ich nun die API deaktivieren und Mqtt nutzen. Hilft ja nix.

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

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

                      Damit kann man eigentlich das BMS nirgendwo installieren wo Fremde unbeaufsichtigt Zugang haben.

                      Punkt 1:
                      Da muss jemand die Energie und das Können haben den BT Verkehr mitzuschneiden und das Kennwort auszulesen.

                      viel Wichtiger ist
                      Punkt 2:
                      Dann kann er den Ladezustand und die anderen Daten lesen

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

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

                        Punkt 1:
                        Da muss jemand die Energie und das Können haben den BT Verkehr mitzuschneiden und das Kennwort auszulesen.

                        Nö, wenn jemand weiß dass es ein JK BMS ist kann er ohne ein Passwort sämltliche Einstellungen nach Belieben verstellen.

                        Alles was er braucht ist die öffentlich bekannte MAC Adresse und den hier besprochenen Github-Inhalt auf einem ESP32.

                        Zum Glück lässt sich BLE ja im BMS deaktivieren und alles auch über UART-TTL Anbindung per Kabel nutzen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        926
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

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