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

      Es läuft immer besser! Daten im 1s Takt kommen sehr zuverlässig.

      Und schon ist die nächste Frage da.
      Ich verwende w verschiedene ESP32 Boards. Ein normales und eine D1 Mini Version. Das normal hat eine Status LED, welche Blinkzeichen von sich gibt, sieht so aus, als ob es immer der MQTT Sendebefehl ist. Das D1 Board hat 2 Led, die erste ist für die Power ON. Bei der 2. Led steht ein L, diese gibt aber keine Status von sich. Kann man dies noch aktivieren, oder muss ich am Pinout noch eine irgend wo anbauen.

      17047067095591944740669806496167.jpg

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

        In der YAML ist keine Anweisung enthalten, dass die LED gesteuert werden soll. Die Erklärung wird vielmehr sein: Eines der Boards besitzt eine TX-LED, welche leuchtet sobald Daten auf der seriellen Schnittstelle (GPIO1?) rausgeschrieben werden. Wenn du das Board über das Kabel flashst sollte sie flackern. Da der logger von ESPHome periodisch die Nachrichten auf die serielle Schnittstelle schreibt, leuchtet die LED im gleichen Takt.

        Wir können die YAML-Konfiguration beliebig erweitern und mit einer Anweisung versehen, was mit der LED (an GPIO2 des D1 Mini ESP32) passieren soll.

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

          @syssi
          Danke, was wäre, die sinnvollste Lösung beim D1?

          Ich möchte eigentlich bei einem Blick drauf nur erkennen, daß es läuft und nicht fest gefahren ist.

          Oder kann man daß so weiter stricken...
          Kein W-Lan --> 2x blinken 5sec Pause
          Keine BT Verbindung --> 5x blinken 5sec Pause.

          Am Ende wäre es Klasse, wenn man mit einem Blick sieht ESP ist o.k. Fehler liegt bei Iobroker ...

          Durch die andere ESP Version für das JKBMS, hab es in 1-30Tagen Abständen Aufhänger des ESP. Wobei ich nicht gleich wusste was los war. Vermutung lang bei, fest gefahren.

          Daher hab ich mich hier für dies Lösung entschieden, weil diese weiter entwickelt wird. Und nun erst Recht, da die ganzen Tips und Vorschläge von dir, meine Probierfreude fördern und ich nicht gefrustet hinwerfe... Noch mal ganz großes Lob für die Hilfe und die JKBMS Implementierung auf esphome Basis hier.

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

            @marco-3 Für WiFi/MQTT kannst du diesen Schnippsel nutzen:

            status_led:
              pin:
                number: GPIO2
                inverted: true
            

            Hier findest du eine Beschreibung, was er tut: https://esphome.io/components/status_led.html

            Für Bluetooth solltest du dir einen Lötkolben schnappen und eine weitere LED an einen freien GPIO löten. Vorzugsweise eine Blaue. 😉 Daraufhin werde ich dir zeigen, wie man sich an den on_connect und on_disconnect-Callback des ble_client haengt, so dass man die LED an bzw. ausschaltet, sobald die Verbindung zum BMS steht/abbricht. (https://esphome.io/components/ble_client.html#on-connect)

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

              @syssi
              Moin, eigentlich schwebt mir GPIO0 vor, da er gleich neben GND liegt. Aber laut Legende soll dieser nicht benutz werden.

              Screenshot_20240108_160033_Chrome.jpg

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

                Gut erkannt. Bitte umschiffen. Wenn du GPIO0 versehentlich (permant) auf Masse ziehst, dann bootet der ESP in Zukunft nur noch in den "Schreibe jetzt bitte neue Software drauf"-Modus anstatt die Anwendung zu starten.

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

                  @syssi
                  GPIO27 wird es werden, passt auch super, GND gleich da und rechts oben, als BT Led gut geeignet....

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

                    Bitte den (bisher nicht erwähnten) Widerstand vergessen: https://techexplorations.com/guides/esp32/begin/digitalout/

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

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

                      @marco-3 Für WiFi/MQTT kannst du diesen Schnippsel nutzen:
                      Für Bluetooth solltest du dir einen Lötkolben schnappen und eine weitere LED an einen freien GPIO löten. Vorzugsweise eine Blaue. 😉 Daraufhin werde ich dir zeigen, wie man sich an den on_connect und on_disconnect-Callback des ble_client haengt, so dass man die LED an bzw. ausschaltet, sobald die Verbindung zum BMS steht/abbricht. (https://esphome.io/components/ble_client.html#on-connect)

                      Widerstand geht klar. Kann ich alles erst heut aben zusammen basteln... 🙂 Dann wird es interessant wie ich die Zustände auf GPIO27 Ausgebe.

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

                        Diesen Abschnitt:

                        ble_client:
                          - mac_address: ${mac_address}
                            id: client0
                        

                        bitte ersetzen durch diesen Abschnitt:

                        ble_client:
                          - mac_address: ${mac_address}
                            id: client0
                            on_connect:
                              then:
                                - output.turn_on: bluetoothled
                            on_disconnect:
                              then:
                                - output.turn_off: bluetoothled
                        
                        output:
                          - platform: gpio
                            pin: GPIO27
                            id: bluetoothled
                        
                        syssi 1 Reply Last reply Reply Quote 0
                        • syssi
                          syssi @syssi last edited by

                          Ggf. sollten wir die Bluetooth LED lieber an den Update-Event eines Sensors (z.B. total_voltage) hängen. Ich habe die Sorge, dass warum auch immer die BLE-Verbindung nicht zusammenbricht und trotzdem keine Daten vom BMS kommen. Über ein Blink per Sensor-Update hättest du einen besseren Herzschlag. Alternativ lötest du eine dritte LED an Board. 😉

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

                            @syssi
                            Klar warum nicht. Herzschlag klingt sogar besser...

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

                              So sieht das Schnippsel aus, wenn man am ersten Sensor (min_cell_voltage) lauscht und pro Update einmal die LED blinken lässt:

                              output:
                                - platform: gpio
                                  pin: GPIO27
                                  id: bluetoothled
                              
                              sensor:
                                - platform: jk_bms_ble
                                  jk_bms_ble_id: bms0
                                  min_cell_voltage:
                                    name: "${name} min cell voltage"
                                    on_value:
                                      then:
                                        - output.turn_on: bluetoothled
                                        - delay: 500ms
                                        - output.turn_off: bluetoothled
                                  max_cell_voltage:
                                    name: "${name} max cell voltage"
                                  min_voltage_cell:
                                    name: "${name} min voltage cell"
                                  max_voltage_cell:
                                    name: "${name} max voltage cell"
                                  # ...und die restlichen Sensoren...
                              
                              M 1 Reply Last reply Reply Quote 0
                              • M
                                Marco 3 @syssi last edited by Marco 3

                                @syssi
                                Ich bin Mega begeistert!!! Danke Danke Danke...

                                Bin aber einen ein klein wenig anderen Weg gegangen. Als Status LED, also GPIO02 war es net so dolle, ist immer an. Aber sie ist blau 🙂 also kann sie als BT Kontroll LED verwendet werden und dein Heartbeat Vorschlag ist einfach genial.

                                output:
                                 - platform: gpio
                                   pin: GPIO02
                                   id: bluetoothled
                                
                                sensor:
                                 - platform: jk_bms_ble
                                   jk_bms_ble_id: bms0
                                .....
                                   total_voltage:
                                     name: "${name} total voltage"
                                     on_value:
                                       then:
                                         - output.turn_on: bluetoothled
                                         - delay: 500ms
                                         - output.turn_off: bluetoothled
                                .....
                                
                                
                                

                                Die vorhandene blaue Status LED sagt mir nun ob Daten vom BT kommen. Ich habe auch die Gegenprüfung gemacht und den ESP abgesteckt, mit Handy auf das JK drauf verbunden..... ESP angesteckt und es geht keine blaue Status LED an! Handyverbindung zum JK abgebaut.... der ESP verbindet sich automatisch auf das JK BMS und die Blaue LED blinkt.
                                SUPER !!!

                                Ich habe aktuell das WEB interface aktiviert und den Update Intervall auf 1s gestellt
                                logging: steht auf INFO

                                
                                00:00:11	[I]	[jk_bms_ble:467]	
                                Cell info frame (version 2, 300 bytes) received
                                00:00:12	[W]	[component:214]	
                                Component esp32_ble took a long time for an operation (0.24 s).
                                00:00:12	[W]	[component:215]	
                                Components should block for at most 20-30ms.
                                00:00:13	[I]	[jk_bms_ble:467]	
                                
                                

                                Die Message kommt aber auch, wenn ich auf 5s den Abrufintervall stelle.

                                Anhand der gesehenen BMS uptime, werden aller 2s neue Sekunden gezählt, dies werde ich im io broker anzeigen lassen und weiß somit, daß es lebt.

                                Ich bin voll begeistert!

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

                                  @marco-3
                                  Dies ist meine aktuelle Installation: nur die Sensoren:
                                  -am ESP32 ist die blaue LED als BT Feedback --> erfolgreicher BT Datenabruf vom JKBM , aktiviert
                                  -web Interface ist mit den mir wichtigen Daten aktiviert

                                  substitutions:
                                    name: bms1
                                    device_description: "Monitor and control a JK-BMS via bluetooth"
                                    external_components_source: github://syssi/esphome-jk-bms@main
                                    mac_address: 11:22:33:44:AA:BB
                                    # Defaults to "JK02" (hardware version >= 6.0 and < 11.0)
                                    # 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)
                                    # Please use "JK04" if you have some old JK-BMS <= hardware version 3.0 (f.e. JK-B2A16S hw 3.0, sw. 3.3.0)
                                    protocol_version: JK02
                                  
                                  esphome:
                                    name: ${name}
                                    comment: ${device_description}
                                    project:
                                      name: "syssi.esphome-jk-bms"
                                      version: 1.5.0
                                  
                                  esp32:
                                    board: esp32dev
                                    framework:
                                      type: esp-idf
                                  
                                  external_components:
                                    - source: ${external_components_source}
                                      refresh: 0s
                                  
                                  wifi:
                                    ssid: !secret wifi_ssid
                                    password: !secret wifi_password
                                  
                                  ota:
                                  
                                  web_server:   # web server aktiviert  
                                  
                                  logger:
                                    level: INFO  # DEBUG geht auch
                                  
                                  # If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component!
                                  # api:
                                  
                                  mqtt:
                                    broker: !secret mqtt_host
                                    username: !secret mqtt_username
                                    password: !secret mqtt_password
                                    port: !secret mqtt_port
                                    discovery: false   # weniger Ordner im iobroker MQTT Ordner (esphome und homeassiant fehlen dann)
                                  
                                  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());
                                              }
                                            }
                                  
                                  ble_client:
                                    - mac_address: ${mac_address}
                                      id: client0
                                  
                                  jk_bms_ble:
                                    - ble_client_id: client0
                                      protocol_version: ${protocol_version}
                                      throttle: 1s # BMS BT Datensatz Auswertung aller ...Sekunden
                                      id: bms0
                                  
                                  output:       # BT soll auf die status LED gelegt werden
                                    - platform: gpio
                                      pin: GPIO2
                                      id: bluetoothled
                                  
                                  sensor:
                                    - platform: jk_bms_ble
                                      jk_bms_ble_id: bms0
                                      min_cell_voltage:
                                        name: "${name} min cell voltage"
                                      max_cell_voltage:
                                        name: "${name} max cell voltage"
                                      min_voltage_cell:
                                        name: "${name} min voltage cell"
                                      max_voltage_cell:
                                        name: "${name} max voltage cell"
                                      delta_cell_voltage:
                                        name: "${name} delta cell voltage"
                                      average_cell_voltage:
                                        name: "${name} average cell voltage"
                                      cell_voltage_1:
                                        name: "${name} cell voltage 1"
                                      cell_voltage_2:
                                        name: "${name} cell voltage 2"
                                      cell_voltage_3:
                                        name: "${name} cell voltage 3"
                                      cell_voltage_4:
                                        name: "${name} cell voltage 4"
                                      cell_voltage_5:
                                        name: "${name} cell voltage 5"
                                      cell_voltage_6:
                                        name: "${name} cell voltage 6"
                                      cell_voltage_7:
                                        name: "${name} cell voltage 7"
                                      cell_voltage_8:
                                        name: "${name} cell voltage 8"
                                      cell_voltage_9:
                                        name: "${name} cell voltage 9"
                                      cell_voltage_10:
                                        name: "${name} cell voltage 10"
                                      cell_voltage_11:
                                        name: "${name} cell voltage 11"
                                      cell_voltage_12:
                                        name: "${name} cell voltage 12"
                                      cell_voltage_13:
                                        name: "${name} cell voltage 13"
                                      cell_voltage_14:
                                        name: "${name} cell voltage 14"
                                      cell_voltage_15:
                                        name: "${name} cell voltage 15"
                                      cell_voltage_16:
                                        name: "${name} cell voltage 16"
                                      cell_resistance_1:
                                        name: "${name} cell resistance 1"
                                      cell_resistance_2:
                                        name: "${name} cell resistance 2"
                                      cell_resistance_3:
                                        name: "${name} cell resistance 3"
                                      cell_resistance_4:
                                        name: "${name} cell resistance 4"
                                      cell_resistance_5:
                                        name: "${name} cell resistance 5"
                                      cell_resistance_6:
                                        name: "${name} cell resistance 6"
                                      cell_resistance_7:
                                        name: "${name} cell resistance 7"
                                      cell_resistance_8:
                                        name: "${name} cell resistance 8"
                                      cell_resistance_9:
                                        name: "${name} cell resistance 9"
                                      cell_resistance_10:
                                        name: "${name} cell resistance 10"
                                      cell_resistance_11:
                                        name: "${name} cell resistance 11"
                                      cell_resistance_12:
                                        name: "${name} cell resistance 12"
                                      cell_resistance_13:
                                        name: "${name} cell resistance 13"
                                      cell_resistance_14:
                                        name: "${name} cell resistance 14"
                                      cell_resistance_15:
                                        name: "${name} cell resistance 15"
                                      cell_resistance_16:
                                        name: "${name} cell resistance 16"
                                      total_voltage:
                                        name: "${name} total voltage"
                                        on_value:
                                          then:
                                            - output.turn_on: bluetoothled
                                            - delay: 500ms
                                            - output.turn_off: bluetoothled
                                      current:
                                        name: "${name} current"
                                      power:
                                        name: "${name} power"
                                      charging_power:
                                        name: "${name} charging power"
                                      discharging_power:
                                        name: "${name} discharging power"
                                      temperature_sensor_1:
                                        name: "${name} temperature sensor 1"
                                      temperature_sensor_2:
                                        name: "${name} temperature sensor 2"
                                      power_tube_temperature:
                                        name: "${name} power tube temperature"
                                      state_of_charge:
                                        name: "${name} state of charge"
                                      capacity_remaining:
                                        name: "${name} capacity remaining"
                                      total_battery_capacity_setting:
                                        name: "${name} total battery capacity setting"
                                      charging_cycles:
                                        name: "${name} charging cycles"
                                      total_charging_cycle_capacity:
                                        name: "${name} total charging cycle capacity"
                                      total_runtime:
                                        name: "${name} total runtime"
                                      balancing_current:
                                        name: "${name} balancing current"
                                      errors_bitmask:
                                        name: "${name} errors bitmask"
                                  
                                  text_sensor:
                                    - platform: jk_bms_ble
                                      errors:
                                        name: "${name} errors"
                                      total_runtime_formatted:
                                        name: "${name} total runtime formatted"
                                  
                                  # status_led:     # status LED On-Board 
                                  #  pin:
                                  #    number: GPIO2
                                  #    inverted: true
                                  

                                  die mit

                                  !secret
                                  

                                  versehenen Daten müsst ihr im Secrets Ordner pflegen

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

                                    Und wieder eine Frage.
                                    Wie kann ich die Struktur der MQTT Daten anpassen, so daß diese nicht in einzelnen Ordnern einlaufen.
                                    so hätte ich es gern:

                                    7ab52e38-4a70-45fa-8583-eb451b90ed85-image.png

                                    so ist es aktuell:
                                    080428fb-907f-4c5e-a24d-db62874247a2-image.png

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

                                      Sowas habe ich noch nie gemacht. Ich befürchte, dass es die YAML sehr unleserlich macht. Du wirst pro Sensor/Entität sog. Overrides der entsprechenden Eigenschaften ergänzen müssen. Hier die Dokumentation: https://esphome.io/components/mqtt.html#mqtt-component-base-configuration

                                      Hier eine Vermutung, wie es dann pro Sensor aussehen würde (ungetestet!):

                                      sensor:
                                        - platform: jk_bms_ble
                                          jk_bms_ble_id: bms0
                                          min_cell_voltage:
                                            name: "${name} min cell voltage"
                                            state_topic: bms1_min_cell_voltage
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Marco 3 last edited by Marco 3

                                        Ich möchte euch hier meine Umsetzung veröffentlichen.
                                        Vielen vielen Dank an syssi !!! ohne dich wäre das alles nix geworden.

                                        Ich hab das web Interface aktiviert um alles zu sehen was geht... letztlich werden dann bei mir durch # alles über das Web Interface verstellbaren Buttons etc. deaktiiviert.

                                        aber so sieht es aus wenn alles "scharf" ist
                                        8e074011-8493-403a-9dd1-29f67b9a72c0-image.png

                                        yaml File, dafür solltet ihr im HomeAssistand den Secrets Ordner pflegen.

                                        wifi:
                                          ssid: !secret wifi_ssid
                                          password: !secret wifi_password
                                        
                                        mqtt:
                                          broker: !secret mqtt_host
                                          username: !secret mqtt_username
                                          password: !secret mqtt_password
                                          port: !secret mqtt_port
                                          discovery: false   # weniger Ordner im iobroker MQTT Ordner (esphome und homeassiant fehlen dann)
                                        

                                        d654da35-3d0e-4b7d-9a46-19ad9a376d34-image.png

                                        iobroker Typisch

                                        # Your Wi-Fi SSID and password
                                        wifi_ssid: "deine Daten"
                                        wifi_password: "deine Daten"
                                        mqtt_host: "deine IP"
                                        mqtt_username: "mqttuser"
                                        mqtt_password: "deine Daten"
                                        mqtt_port: "1883"
                                        

                                        Kleiner Tip, um Kompilierungsfehler Fehler zu vermeiden, "clean Build Files" löst sehr oft die Felhler, vor allem, wenn man mit # erst Teile nach der ersten Kompilierung deaktiviert.

                                        meine Konfiguration (nicht deaktivierte Button, usw.) aber für den ESP32 D1 Mini die aktivierte LED mit dem Blinkfeedback für BT Daten

                                        substitutions:
                                          name: bms1
                                          device_description: "Monitor and control a JK-BMS via bluetooth"
                                          external_components_source: github://syssi/esphome-jk-bms@main
                                          mac_address: aa:bb:cc:dd:ee:ff
                                          # Defaults to "JK02" (hardware version >= 6.0 and < 11.0)
                                          # 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)
                                          # Please use "JK04" if you have some old JK-BMS <= hardware version 3.0 (f.e. JK-B2A16S hw 3.0, sw. 3.3.0)
                                          protocol_version: JK02
                                         
                                        esphome:
                                          name: ${name}
                                          comment: ${device_description}
                                          project:
                                            name: "syssi.esphome-jk-bms"
                                            version: 1.5.0
                                         
                                        esp32:
                                          board: wemos_d1_mini32
                                          framework:
                                            type: esp-idf
                                         
                                        external_components:
                                          - source: ${external_components_source}
                                            refresh: 0s
                                         
                                         
                                        web_server:   # web server aktiviert  
                                         
                                        logger:      
                                          level: INFO  # DEBUG geht auch
                                         
                                        # If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component!
                                        # Enable Home Assistant API
                                        api:
                                        
                                        ota:
                                        
                                        wifi:
                                          ssid: !secret wifi_ssid
                                          password: !secret wifi_password
                                        
                                        mqtt:
                                          broker: !secret mqtt_host
                                          username: !secret mqtt_username
                                          password: !secret mqtt_password
                                          port: !secret mqtt_port
                                          discovery: false   # weniger Ordner im iobroker MQTT Ordner (esphome und homeassiant fehlen dann)
                                         
                                        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());
                                                    }
                                                  }
                                         
                                        ble_client:
                                          - mac_address: ${mac_address}
                                            id: client0
                                         
                                        jk_bms_ble:
                                          - ble_client_id: client0
                                            protocol_version: ${protocol_version}
                                            throttle: 1s # BMS BT Datensatz Auswertung aller ...Sekunden (JK sendet aller 1s)
                                            id: bms0
                                         
                                        output:       # BT soll auf die status LED gelegt werden
                                          - platform: gpio
                                            pin: GPIO2
                                            id: bluetoothled
                                        
                                        button:
                                          - platform: jk_bms_ble
                                            retrieve_settings:
                                              name: "${name} retrieve settings"
                                            retrieve_device_info:
                                              name: "${name} retrieve device info"
                                        
                                        number:
                                          - platform: jk_bms_ble
                                            jk_bms_ble_id: bms0
                                            balance_trigger_voltage:
                                              name: "${name} balance trigger voltage"
                                            cell_count:
                                              name: "${name} cell count"
                                            total_battery_capacity:
                                              name: "${name} total battery capacity"
                                            cell_voltage_overvoltage_protection:
                                              name: "${name} cell voltage overvoltage protection"
                                            cell_voltage_overvoltage_recovery:
                                              name: "${name} cell voltage overvoltage recovery"
                                            cell_voltage_undervoltage_protection:
                                              name: "${name} cell voltage undervoltage protection"
                                            cell_voltage_undervoltage_recovery:
                                              name: "${name} cell voltage undervoltage recovery"
                                            balance_starting_voltage:
                                              name: "${name} balance starting voltage"
                                            voltage_calibration:
                                              name: "${name} voltage calibration"
                                            current_calibration:
                                              name: "${name} current calibration"
                                            power_off_voltage:
                                              name: "${name} power off voltage"
                                            max_balance_current:
                                              name: "${name} max balance current"
                                            max_charge_current:
                                              name: "${name} max charge current"
                                            max_discharge_current:
                                              name: "${name} max discharge current"
                                              
                                        sensor:
                                          - platform: jk_bms_ble
                                            jk_bms_ble_id: bms0
                                            min_cell_voltage:
                                              name: "${name} min V Zelle"
                                            max_cell_voltage:
                                              name: "${name} max V Zelle"
                                            min_voltage_cell:
                                              name: "${name} min V Zelle Nr."
                                            max_voltage_cell:
                                              name: "${name} max V Zelle Nr."
                                            delta_cell_voltage:
                                              name: "${name} delta Zelle Volt"
                                            average_cell_voltage:
                                              name: "${name} average Zelle Volt"
                                            cell_voltage_1:
                                              name: "${name} Zelle 01"
                                            cell_voltage_2:
                                              name: "${name} Zelle 02"
                                            cell_voltage_3:
                                              name: "${name} Zelle 03"
                                            cell_voltage_4:
                                              name: "${name} Zelle 04"
                                            cell_voltage_5:
                                              name: "${name} Zelle 05"
                                            cell_voltage_6:
                                              name: "${name} Zelle 06"
                                            cell_voltage_7:
                                              name: "${name} Zelle 07"
                                            cell_voltage_8:
                                              name: "${name} Zelle 08"
                                            cell_voltage_9:
                                              name: "${name} Zelle 09"
                                            cell_voltage_10:
                                              name: "${name} Zelle 10"
                                            cell_voltage_11:
                                              name: "${name} Zelle 11"
                                            cell_voltage_12:
                                              name: "${name} Zelle 12"
                                            cell_voltage_13:
                                              name: "${name} Zelle 13"
                                            cell_voltage_14:
                                              name: "${name} Zelle 14"
                                            cell_voltage_15:
                                              name: "${name} Zelle 15"
                                            cell_voltage_16:
                                              name: "${name} Zelle 16"
                                            cell_resistance_1:
                                              name: "${name} Widerstand 01"
                                            cell_resistance_2:
                                              name: "${name} Widerstand 02"
                                            cell_resistance_3:
                                              name: "${name} Widerstand 03"
                                            cell_resistance_4:
                                              name: "${name} Widerstand 04"
                                            cell_resistance_5:
                                              name: "${name} Widerstand 05"
                                            cell_resistance_6:
                                              name: "${name} Widerstand 06"
                                            cell_resistance_7:
                                              name: "${name} Widerstand 07"
                                            cell_resistance_8:
                                              name: "${name} Widerstand 08"
                                            cell_resistance_9:
                                              name: "${name} Widerstand 09"
                                            cell_resistance_10:
                                              name: "${name} Widerstand 10"
                                            cell_resistance_11:
                                              name: "${name} Widerstand 11"
                                            cell_resistance_12:
                                              name: "${name} Widerstand 12"
                                            cell_resistance_13:
                                              name: "${name} Widerstand 13"
                                            cell_resistance_14:
                                              name: "${name} Widerstand 14"
                                            cell_resistance_15:
                                              name: "${name} Widerstand 15"
                                            cell_resistance_16:
                                              name: "${name} Widerstand 16"
                                            total_voltage:
                                              name: "${name} total Volt"
                                              on_value:
                                                then:
                                                  - output.turn_on: bluetoothled      # BT LED blinken bei erfolgreich gelesenem Datensatz
                                                  - delay: 500ms
                                                  - output.turn_off: bluetoothled
                                            current:
                                              name: "${name} Strom"
                                            power:
                                              name: "${name} Leistung"
                                            charging_power:
                                              name: "${name} Ladeleistung"
                                            discharging_power:
                                              name: "${name} Entladeleistung"
                                            temperature_sensor_1:
                                              name: "${name} Temperatur 1"
                                            temperature_sensor_2:
                                              name: "${name} Temperatur 2"
                                            power_tube_temperature:
                                              name: "${name} Temperatur BMS"
                                            state_of_charge:
                                              name: "${name} SoC"
                                            capacity_remaining:
                                              name: "${name} Kapazität verbleibend"
                                            total_battery_capacity_setting:
                                              name: "${name} total battery capacity setting"
                                            charging_cycles:
                                              name: "${name} Ladezyklen"
                                            total_charging_cycle_capacity:
                                              name: "${name} Gesamtladezykluskapazität"
                                            total_runtime:
                                              name: "${name} Gesamtlaufzeit"
                                            balancing_current:
                                              name: "${name} Balancer Strom"
                                            errors_bitmask:
                                              name: "${name} errors bitmask"
                                        
                                        switch:
                                          - platform: jk_bms_ble
                                            charging:
                                              name: "${name} charging"
                                            discharging:
                                              name: "${name} discharging"
                                            balancer:
                                              name: "${name} balancer"
                                              
                                          - platform: ble_client
                                            ble_client_id: client0
                                            name: "${name} enable bluetooth connection"
                                        
                                        text_sensor:
                                          - platform: jk_bms_ble
                                            errors:
                                              name: "${name} errors"
                                            total_runtime_formatted:
                                              name: "${name} total runtime formatted"
                                        

                                        Hier noch die IOBROKER MQTT Einstellunge, da wie syssi schon gesagt hat, Fehler auftreten können, wenn der ioboker zu gesprächig ist.

                                        5f9a9991-c2e1-42ed-b17b-0bfd37db156b-image.png

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

                                          Moin zusammen, ich hab jetzt 16 Dallas Temperatur Sensoren noch an des ESP mit angeschlossen.

                                          https://forum.iobroker.net/post/1128390

                                          Quasie kam mir dann in die Idee auch noch diese Temperatur Sensoren mit in den BT ESP zu integrieren.

                                          3 Fragen oder "Nice to have" habe ich noch.

                                          • Kann man die BT-Signal Qualität mit abfragen und anzeigen, wie mit dem WIFI Signal?

                                          • Umrechnung der Uptime des ESP in Tage, Min, Stunden.... --> dies führt bei mir immer zu einer -
                                            lamda- Fehlermeldung (Zeile 134-151) -> Im Testaufbau auf einem anderen ESP (nur die Temp Sensoren hat es funktioniert) Danke @klassisch ) --> -lambda -Fehlermeldung kommt an Ende .......

                                          • @syssi protocoll_version musste ich nun auf JK02_24S ändern, heißt das jetzt auch das da beim kompilieren die syssi JK-bms Version 2.0 installiert wurde und ich project: version von 1.5.0 auf 2.0.0 ändern kann sollte

                                          substitutions:
                                            name: bms1-t
                                            device_description: "Monitor and control a JK-BMS via bluetooth"
                                            external_components_source: github://syssi/esphome-jk-bms@main
                                            mac_address: C8:47:8C:E5:BA:51
                                            # Defaults to "JK02" (hardware version >= 6.0 and < 11.0)
                                            # 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)
                                            # Please use "JK04" if you have some old JK-BMS <= hardware version 3.0 (f.e. JK-B2A16S hw 3.0, sw. 3.3.0)
                                            protocol_version: JK02_24S
                                           
                                          esphome:
                                            name: ${name}
                                            comment: ${device_description}
                                            project:
                                              name: "syssi.esphome-jk-bms"
                                              version: 1.5.0
                                           
                                          esp32:
                                            board: wemos_d1_mini32
                                            framework:
                                              type: esp-idf
                                           
                                          external_components:
                                            - source: ${external_components_source}
                                              refresh: 0s
                                           
                                           
                                          web_server:   # web server aktiviert  
                                           
                                          logger:       # deaktiviert 
                                            level: INFO  # DEBUG geht auch
                                           
                                          # If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component!
                                          # Enable Home Assistant API
                                          api:
                                            reboot_timeout: 43200min
                                          ota:
                                          
                                          wifi:
                                            ssid: !secret wifi_ssid
                                            password: !secret wifi_password
                                          
                                          mqtt:
                                            broker: !secret mqtt_host
                                            username: !secret mqtt_username
                                            password: !secret mqtt_password
                                            port: !secret mqtt_port
                                            discovery: false   # weniger Ordner im iobroker MQTT Ordner (esphome und homeassiant fehlen dann)
                                           
                                          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());
                                                      }
                                                    }
                                           
                                          ble_client:
                                            - mac_address: ${mac_address}
                                              id: client0
                                           
                                          jk_bms_ble:
                                            - ble_client_id: client0
                                              protocol_version: ${protocol_version}
                                              throttle: 1s # BMS BT Datensatz Auswertung aller ...Sekunden (JK sendet aller 1s)
                                              id: bms0
                                           
                                          output:       # BT soll auf die status LED gelegt werden
                                            - platform: gpio
                                              pin: GPIO2
                                              id: bluetoothled
                                          
                                          # button:
                                          #  - platform: jk_bms_ble
                                          #    retrieve_settings:
                                          #      name: "${name} retrieve settings"
                                          #    retrieve_device_info:
                                          #      name: "${name} retrieve device info"
                                          
                                          # number:
                                          #  - platform: jk_bms_ble
                                          #    jk_bms_ble_id: bms0
                                          #    balance_trigger_voltage:
                                          #      name: "${name} balance trigger voltage"
                                          #    cell_count:
                                          #     name: "${name} cell count"
                                          #    total_battery_capacity:
                                          #      name: "${name} total battery capacity"
                                          #    cell_voltage_overvoltage_protection:
                                          #      name: "${name} cell voltage overvoltage protection"
                                          #    cell_voltage_overvoltage_recovery:
                                          #      name: "${name} cell voltage overvoltage recovery"
                                          #    cell_voltage_undervoltage_protection:
                                          #      name: "${name} cell voltage undervoltage protection"
                                          #    cell_voltage_undervoltage_recovery:
                                          #      name: "${name} cell voltage undervoltage recovery"
                                          #    balance_starting_voltage:
                                          #      name: "${name} balance starting voltage"
                                          #    voltage_calibration:
                                          #      name: "${name} voltage calibration"
                                          #    current_calibration:
                                          #      name: "${name} current calibration"
                                          #    power_off_voltage:
                                          #      name: "${name} power off voltage"
                                          #    max_balance_current:
                                          #      name: "${name} max balance current"
                                          #    max_charge_current:
                                          #      name: "${name} max charge current"
                                          #    max_discharge_current:
                                          #      name: "${name} max discharge current"
                                          
                                          dallas:
                                            - pin: GPIO16
                                          #    id: hub_1
                                          #  - pin: GPIO17
                                          #    id: hub_2
                                              update_interval: 5s
                                          
                                          sensor:
                                            - platform: wifi_signal
                                              name: "POW WiFi Signal"
                                              update_interval: 60s
                                          
                                            - platform: uptime
                                              name: Uptime Sensor
                                              id: uptime_sensor
                                              update_interval: 10s 
                                          #    on_raw_value:
                                          #      then:
                                          #        - text_sensor.template.publish:
                                          #            id: uptime_human
                                          #            state: !lambda |-
                                          #              int seconds = round(id(uptime_sensor).raw_state);
                                          #              int days = seconds / (24 * 3600);
                                          #              seconds = seconds % (24 * 3600);
                                          #              int hours = seconds / 3600;
                                          #              seconds = seconds % 3600;
                                          #              int minutes = seconds /  60;
                                          #              seconds = seconds % 60;
                                          #              return (
                                          #                (days ? String(days) + "d " : "") +
                                          #                (hours ? String(hours) + "h " : "") +
                                          #                (minutes ? String(minutes) + "m " : "") +
                                          #                (String(seconds) + "s")
                                          #              ).c_str(); 
                                          
                                            - platform: dallas
                                              address: 0xc10000003cd4d028
                                              name: "Temperatur 01"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0xc10000003cd4d028
                                              name: "Temperatur 01"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x340000003cf37028
                                              name: "Temperatur 02"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x090000003ddaac28 
                                              name: "Temperatur 03"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0xb00000003e281228 
                                              name: "Temperatur 04"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x950000003d64ca28 
                                              name: "Temperatur 05"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0xcc0000003cbcea28 
                                              name: "Temperatur 06"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x630000003e244628 
                                              name: "Temperatur 07"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0xde0000003ccfde28 
                                              name: "Temperatur 08"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x550000003e3eb128 
                                              name: "Temperatur 09"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x3a0000003dbdd928 
                                              name: "Temperatur 10"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x380000003da7b928 
                                              name: "Temperatur 11"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x5e0000003e4ccd28 
                                              name: "Temperatur 12"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x9c0000003ccdad28 
                                              name: "Temperatur 13"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x660000003d16bd28 
                                              name: "Temperatur 14"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x500000003e37c328 
                                              name: "Temperatur 15"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                            - platform: dallas
                                              address: 0x820000003e235328 
                                              name: "Temperatur 16"
                                              unit_of_measurement: "°C"
                                              accuracy_decimals: 1
                                          
                                            - platform: jk_bms_ble
                                              jk_bms_ble_id: bms0
                                              min_cell_voltage:
                                                name: "min V Zelle"
                                              max_cell_voltage:
                                                name: "max V Zelle"
                                              min_voltage_cell:
                                                name: "min V Zelle Nr."
                                              max_voltage_cell:
                                                name: "max V Zelle Nr."
                                              delta_cell_voltage:
                                                name: "delta Zelle Volt"
                                              average_cell_voltage:
                                                name: "average Zelle Volt"
                                              cell_voltage_1:
                                                name: "Zelle 01"
                                              cell_voltage_2:
                                                name: "Zelle 02"
                                              cell_voltage_3:
                                                name: "Zelle 03"
                                              cell_voltage_4:
                                                name: "Zelle 04"
                                              cell_voltage_5:
                                                name: "Zelle 05"
                                              cell_voltage_6:
                                                name: "Zelle 06"
                                              cell_voltage_7:
                                                name: "Zelle 07"
                                              cell_voltage_8:
                                                name: "Zelle 08"
                                              cell_voltage_9:
                                                name: "Zelle 09"
                                              cell_voltage_10:
                                                name: "Zelle 10"
                                              cell_voltage_11:
                                                name: "Zelle 11"
                                              cell_voltage_12:
                                                name: "Zelle 12"
                                              cell_voltage_13:
                                                name: "Zelle 13"
                                              cell_voltage_14:
                                                name: "Zelle 14"
                                              cell_voltage_15:
                                                name: "Zelle 15"
                                              cell_voltage_16:
                                                name: "Zelle 16"
                                              cell_resistance_1:
                                                name: "Widerstand 01"
                                              cell_resistance_2:
                                                name: "Widerstand 02"
                                              cell_resistance_3:
                                                name: "Widerstand 03"
                                              cell_resistance_4:
                                                name: "Widerstand 04"
                                              cell_resistance_5:
                                                name: "Widerstand 05"
                                              cell_resistance_6:
                                                name: "Widerstand 06"
                                              cell_resistance_7:
                                                name: "Widerstand 07"
                                              cell_resistance_8:
                                                name: "Widerstand 08"
                                              cell_resistance_9:
                                                name: "Widerstand 09"
                                              cell_resistance_10:
                                                name: "Widerstand 10"
                                              cell_resistance_11:
                                                name: "Widerstand 11"
                                              cell_resistance_12:
                                                name: "Widerstand 12"
                                              cell_resistance_13:
                                                name: "Widerstand 13"
                                              cell_resistance_14:
                                                name: "Widerstand 14"
                                              cell_resistance_15:
                                                name: "Widerstand 15"
                                              cell_resistance_16:
                                                name: "Widerstand 16"
                                              total_voltage:
                                                name: "total Volt"
                                                on_value:
                                                  then:
                                                    - output.turn_on: bluetoothled      # BT LED blinken bei erfolgreich gelesenem Datensatz
                                                    - delay: 500ms
                                                    - output.turn_off: bluetoothled
                                              current:
                                                name: "Strom"
                                              power:
                                                name: "Leistung"
                                              charging_power:
                                                name: "Ladeleistung"
                                              discharging_power:
                                                name: "Entladeleistung"
                                              temperature_sensor_1:
                                                name: "JK Temperatur 1"
                                              temperature_sensor_2:
                                                name: "JK Temperatur 2"
                                              power_tube_temperature:
                                                name: "Temperatur BMS"
                                              state_of_charge:
                                                name: "SoC"
                                              capacity_remaining:
                                                name: "Kapazität verbleibend"
                                              total_battery_capacity_setting:
                                                name: "total battery capacity setting"
                                              charging_cycles:
                                                name: "Ladezyklen"
                                              total_charging_cycle_capacity:
                                                name: "Gesamtladezykluskapazität"
                                              total_runtime:
                                                name: "Gesamtlaufzeit"
                                              balancing_current:
                                                name: "Balancer Strom"
                                              errors_bitmask:
                                                name: "errors bitmask"
                                          
                                          
                                          # switch:
                                          #  - platform: jk_bms_ble
                                          #    charging:
                                          #      name: "${name} charging"
                                          #    discharging:
                                          #      name: "${name} discharging"
                                          #    balancer:
                                          #      name: "${name} balancer"
                                                
                                          #  - platform: ble_client
                                          #    ble_client_id: client0
                                          #    name: "${name} enable bluetooth connection"
                                          
                                          text_sensor:
                                            - platform: jk_bms_ble
                                              errors:
                                                name: "errors"
                                              total_runtime_formatted:
                                                name: "total runtime formatted"
                                          # text_sensor needed for human frindly update sensor
                                          # text sensor for update. Part . Part 2 is the update sensor itself at the end of sensors chapter
                                          # refer to: https://esphome.io/components/sensor/uptime.html
                                            - platform: template
                                              name: Uptime
                                              id: uptime_human
                                              icon: mdi:clock-start
                                          ########### End text sensors #############    
                                          

                                          lambda Fehlermeldung:

                                          Reading CMake configuration...
                                          Dependency Graph
                                          |-- ArduinoJson @ 6.18.5
                                          Compiling .pioenvs/bms1-t/src/main.o
                                          <unicode string>: In lambda function:
                                          <unicode string>:147:28: error: no matching function for call to 'std::__cxx11::basic_string<char>::basic_string(int&)'
                                          In file included from /data/cache/platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/string:52,
                                                           from /data/cache/platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/stdexcept:39,
                                                           from /data/cache/platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/array:39,
                                                           from src/esphome/components/api/api_noise_context.h:3,
                                                           from src/esphome/components/api/api_frame_helper.h:13,
                                                           from src/esphome/components/api/api_connection.h:3,
                                                           from src/esphome.h:3,
                                                           from src/main.cpp:3:
                                          /data/cache/platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/bits/basic_string.h:614:9: note: candidate: 'template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)'
                                                   basic_string(_InputIterator __beg, _InputIterator __end,
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Marco 3 last edited by Marco 3

                                            @syssi Ich bin total begeistert von der Stabilität des Systems!!! kein hangup!
                                            trotz dessen ich nun das Web Interface, MQTT und die 32 Dallas Sensoren in einem ESP bediene.
                                            Klasse Arbeit. (die ESP Zeit Umrechnung-Problematik aus dem vorhergehenden Post, lass ich liegen, das muss der iobroker machen...)

                                            Eine Frage habe ich aber nochmal...

                                            kann man in dem ESP gleich eine Abschaltautomatik schreiben?

                                            Wenn die einer der TEMP Sensoren (Dallas) den Wert von z.B.: 65°C oder mehr erreicht, daß dann per BT das BMS die Stromversorgung kappt? Als Not Abschaltautomatik. Der Sensor Wert muss mindestens die Bedingung für 1min haben. und immer wieder durchgeführt werden, wenn der Temperatur Wert über die 65°C ist. (falls der Erste Behl nicht erfolgreich war.
                                            Und eventuell bei 70°C ein GPIO ein Relais ansteuert um zum eventuell ein Stromstoß Relails zu schalten.
                                            Es soll kein Fallback oder sonstiges geben. Es soll eine reine Notabschaltung sein. Zuschaltung dann nur durch manuellen reboot des BMS oder so...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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