Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Bosch ebik connect / flow

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    2.3k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    4.3k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.7k

Test Adapter Bosch ebik connect / flow

Geplant Angeheftet Gesperrt Verschoben Tester
183 Beiträge 38 Kommentatoren 50.2k Aufrufe 44 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N no6mis

    @ratte-rizzo said in Test Adapter Bosch ebik connect / flow:

    Sonst weist nichts auf Batterie oder Ort hin.

    Ich hätte das eher in info erwartet, da es unabhängig von Trips sein sollte.

    R Offline
    R Offline
    ratte-rizzo
    schrieb am zuletzt editiert von
    #172

    @no6mis sagte in Test Adapter Bosch ebik connect / flow:

    Ich hätte das eher in info erwartet, da es unabhängig von Trips sein sollte.

    Da hab ich nur bosch-ebike.0.info.connection = TRUE und dem Zeitstempel von heute Nacht (wo ich nicht gefahren bin). Also ziemlich aktuell. Sonst keine weiteren Datenpunkte.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Migul_70
      schrieb am zuletzt editiert von
      #173

      Hallo,

      irgendwie klappt die Anmeldung nicht. Zwei Browser, inkognito oder nicht, kein Werbeblocker, cookies gelöscht. Entweder bin ich schon angemeldet oder er findet die Cookies nicht. Hab nach einer Stunde aufgegeben. Läßt auch keinen weiteren Versuch mehr zu. Hat vielleicht jemand noch einen Tip für mich?

      Danke

      M 1 Antwort Letzte Antwort
      0
      • M Migul_70

        Hallo,

        irgendwie klappt die Anmeldung nicht. Zwei Browser, inkognito oder nicht, kein Werbeblocker, cookies gelöscht. Entweder bin ich schon angemeldet oder er findet die Cookies nicht. Hab nach einer Stunde aufgegeben. Läßt auch keinen weiteren Versuch mehr zu. Hat vielleicht jemand noch einen Tip für mich?

        Danke

        M Offline
        M Offline
        Migul_70
        schrieb am zuletzt editiert von
        #174

        @migul_70 Hallo,

        hab's jetzt endlich geschafft, die URL zu bekommen. Leider wird er nicht grün. Gibt es da Probleme mit dem Passwort?

        D 1 Antwort Letzte Antwort
        0
        • N no6mis

          @ratte-rizzo said in Test Adapter Bosch ebik connect / flow:

          Also ich hab sowohl das Connect-Modul verbaut, als auch das Abo... Was muss ich zum Testen tun?

          Mein Verständnis ist, dass mit ConnectModul (und Abo) sowohl SOC als auch die letzte bekannte Position in der Cloud landen müssen, da sie auch ohne Bluetooth Verbindung in der Flow-App angezeigt werden.

          Tauchen die Datenpunkte bei dir im Adapter auf?
          @tombox falls nicht, was muss @ratte-rizzo tun, um dich bei der Implementierung zu unterstützen?

          N Offline
          N Offline
          no6mis
          schrieb am zuletzt editiert von
          #175

          @no6mis said in Test Adapter Bosch ebik connect / flow:

          tombox falls nicht, was muss ratte-rizzo tun, um dich bei der Implementierung zu unterstützen?

          @tombox, hast du mal geschaut, ob du die Position und den SOC aus dem ConnectModul auslesen kannst?

          1 Antwort Letzte Antwort
          0
          • S schienw

            @bahnuhr
            Anbei mein Script:

            
            // Script um aus den DP vom Adapter "bosch-ebike" eine MAP zu erstellen und den Weg zu zeichnen
            // bahnuhr, 03_2024
            
            
            // Variablen
                var poly ="";       // hier werden die GPS gespeichert
               // var trip = "03";    // DP bei den Objekten der eingelesen werden soll: bosch-ebike.0.trips.xx.details
                var logging = true;
                var center_gps = "53.465, 11.71";    // Mittelpunkt der Karte
                var zoom = 17                       // Zoom der Karte
                var pfad = "route.html"             // Dateiname - wird in vis.0 gespeichert
            
            // GPS einlesen und der Variablen poly zuweisen
            
            
            
            
            
            // html erzeugen und speichern in /vis.0/xxx.html
                var string = '<!DOCTYPE html>\n<html>\n<head>\n<title>Simple Leaflet Map</title>\n<meta charset="utf-8" />\n'
                string = string + '<body>\n'
            
                string = string + '<table border=0>'
                string = string + '<tr>'
            
                const idsCO2 = $('bosch-ebike.0.trips.*.id');
                var f = 2
                var hilf = 0
                idsCO2.each(function(id, i) {
                    var poly ="";  
                  var h= getState(id).val
                  if (i < 9){
                      ii = i + 1
                    hilf = "0" + ii 
                  }   
                  else{
                    ii =i + 1
                    hilf = i + 1
                  }
            
                 
                 distance = 0
                 
             
                  var distance = getState("bosch-ebike.0.trips." + hilf + ".attributes.distance").val;   
                  var startTime = getState("bosch-ebike.0.trips." + hilf + ".attributes.startTime").val; 
                 
            
                  var ModeUsage01_name = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage01.name").val;   
                  var ModeUsage01_assistModeUsage = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage01.assistModeUsage").val;  
                  var ModeUsage01_color = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage02.color").val;  
                  var ModeUsage02_name = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage02.name").val;   
                  var ModeUsage02_assistModeUsage = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage02.assistModeUsage").val;  
                  var ModeUsage02_color = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage03.color").val; 
                  var ModeUsage03_name = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage03.name").val;   
                  var ModeUsage03_assistModeUsage = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage03.assistModeUsage").val;  
                  var ModeUsage03_color = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage04.color").val; 
                  var ModeUsage04_name = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage04.name").val;   
                  var ModeUsage04_assistModeUsage = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage04.assistModeUsage").val;  
                  var ModeUsage04_color = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage05.color").val; 
                  var ModeUsage05_name = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage05.name").val;   
                  var ModeUsage05_assistModeUsage = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage05.assistModeUsage").val;  
                  var ModeUsage05_color = getState("bosch-ebike.0.trips." + hilf + ".attributes.assistModeUsage05.color").val; 
                 
                  var date = formatDate(startTime, "TT.MM.JJJJ SS:mm")
                  
                  string = string + '<td>'
                  string = string + date + ' ' + distance/1000 + " KM"
                  string = string + '<table border=0>'
            
                    string = string + '<tr>'
                      string = string + '<td bgcolor=yellow>'
                        string = string + ModeUsage01_name
                      string = string + '</td>'
                      string = string + '<td bgcolor=blue>'
                        string = string + ModeUsage02_name
                      string = string + '</td>'
                      string = string + '<td bgcolor=green>'
                        string = string + ModeUsage03_name
                      string = string + '</td>'
                      string = string + '<td bgcolor=orange>'
                        string = string + ModeUsage04_name
                      string = string + '</td>'
                      string = string + '<td bgcolor=red>'
                        string = string + ModeUsage05_name
                      string = string + '</td>'
                    string = string + '</tr>'
            
                    string = string + '<tr>' 
                      string = string + '<td>'
                        string = string + ModeUsage01_assistModeUsage/1000
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + ModeUsage02_assistModeUsage/1000
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + ModeUsage03_assistModeUsage/1000
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + ModeUsage04_assistModeUsage/1000
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + ModeUsage05_assistModeUsage/1000
                      string = string + '</td>'
                    string = string + '</tr>'
            
                    var Prokm = distance /100
                   
                    string = string + '<tr>'
                      string = string + '<td>'
                        string = string + Math.round(ModeUsage01_assistModeUsage/Prokm) + ' %'
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + Math.round(ModeUsage02_assistModeUsage/Prokm) + ' %'
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + Math.round(ModeUsage03_assistModeUsage/Prokm) + ' %'
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + Math.round(ModeUsage04_assistModeUsage/Prokm) + ' %'
                      string = string + '</td>'
                      string = string + '<td>'
                        string = string + Math.round(ModeUsage05_assistModeUsage/Prokm) + ' %'
                      string = string + '</td>'
                    string = string + '</tr>'        
            
                  string = string + '</table>'
                 
            
                    var poly =""; 
                    var string3 = "";
                    var obj = JSON.parse(getState("bosch-ebike.0.trips." + hilf + ".details").val); 
                                   
                    var end = obj.activityData.length - 1;
                    var center_gps = '"' + obj.activityData[30].lat + ', ' + obj.activityData[30].lon + '"';
             
            
                for (var x=0; x<=end; x++) {
                    if (obj.activityData[x].lat != null)        {
                      poly = poly + "["+obj.activityData[x].lat+", "+obj.activityData[x].lon+"]"
                    if (x < end) poly = poly + ","
                    }
                    else      {        
                    }
                }
                if (logging) log (poly);
            
                
            string = string + '</td>'
            string = string + '<td>'
                     
                var center_gps = "48.90376, 11.93504";    // Mittelpunkt der Karte
                var zoom = 11       
                
                string = string + '<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="crossorigin=""/></head>\n'
                string = string + '<body>\n<div id="map' + hilf + '" style="width: 600px; height: 400px"></div>\n<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="crossorigin=""></script>\n<script>\n'
            
                string = string + "var map"+  hilf + " = L.map('map" + hilf + "').setView([" + center_gps + "], " + zoom + ");\n"
              
               
                string = string + "mapLink = '<a href=" + '"http://openstreetmap.org"' + ">OpenStreetMap</a>';\n"
                string = string + "L.tileLayer( 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '&copy; ' + mapLink + ' Contributors', maxZoom: 18,}).addTo(map" + hilf + ");\n"
                
                string = string + 'var polyline = L.polyline([ \n' + poly + '\n], { color: "blue", weight: 3, opacity: .7, lineJoin: "round" } ).addTo(map' + hilf + ');\n'
                string = string + '</script>\n'
            string = string + '</td>'
            
            
            
            
            string = string + '</tr>'
               });                        
                
                
            
            
                string = string + '</body>\n</html>'
               
                writeFile("vis.0", "/" + pfad, string, (error) => {
                    if (logging) log('Datei "" gespeichert!');
                });
            
            
            
            
            ChaotC Offline
            ChaotC Offline
            Chaot
            schrieb am zuletzt editiert von
            #176

            @schienw Danke für dein Script.
            Irgendwie bekomme ich das bei mir nicht so richtig zum laufen.
            Alle Datenpunkte scheinen vorhanden zu sein, aber es wird keine Date erzeugt.
            Muss ich da noch irgendwas beachten?

            ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

            1 Antwort Letzte Antwort
            0
            • M Migul_70

              @migul_70 Hallo,

              hab's jetzt endlich geschafft, die URL zu bekommen. Leider wird er nicht grün. Gibt es da Probleme mit dem Passwort?

              D Offline
              D Offline
              dodi666
              schrieb am zuletzt editiert von
              #177

              @migul_70 Hi, wie hast du das hinbekommen. Bei mir ist es auch so, wie von dir zuerst beschrieben. Ich bekomme es einfach nicht hin....Kann jemand vielleicht noch einen Tipp geben?

              1 Antwort Letzte Antwort
              0
              • N no6mis

                @ratte-rizzo said in Test Adapter Bosch ebik connect / flow:

                Also ich hab sowohl das Connect-Modul verbaut, als auch das Abo... Was muss ich zum Testen tun?

                Mein Verständnis ist, dass mit ConnectModul (und Abo) sowohl SOC als auch die letzte bekannte Position in der Cloud landen müssen, da sie auch ohne Bluetooth Verbindung in der Flow-App angezeigt werden.

                Tauchen die Datenpunkte bei dir im Adapter auf?
                @tombox falls nicht, was muss @ratte-rizzo tun, um dich bei der Implementierung zu unterstützen?

                D Offline
                D Offline
                Dee4seep
                schrieb am zuletzt editiert von
                #178

                @no6mis said in Test Adapter Bosch ebik connect / flow:

                Mein Verständnis ist, dass mit ConnectModul (und Abo) sowohl SOC als auch die letzte bekannte Position in der Cloud landen müssen, da sie auch ohne Bluetooth Verbindung in der Flow-App angezeigt werden.
                Tauchen die Datenpunkte bei dir im Adapter auf?
                @tombox falls nicht, was muss @ratte-rizzo tun, um dich bei der Implementierung zu unterstützen?

                SOC wird laut Bosch während des Ladens alle 5 Minuten aktualisiert und ist aus der Cloud abrufbar, wenn das Diebstahlschutz Abo abgeschlossen ist.

                Die API sieht ungefähr so aus:

                obc-rider-profile.prod.connected-biking.cloud/v1/state-of-charge/<BIKE_ID>
                

                zurück kommt ein JSON dict, das unter anderem stateOfCharge als Schlüssel enthält, mit einem Prozentwert für den Ladezustand.

                K 1 Antwort Letzte Antwort
                1
                • D Dee4seep

                  @no6mis said in Test Adapter Bosch ebik connect / flow:

                  Mein Verständnis ist, dass mit ConnectModul (und Abo) sowohl SOC als auch die letzte bekannte Position in der Cloud landen müssen, da sie auch ohne Bluetooth Verbindung in der Flow-App angezeigt werden.
                  Tauchen die Datenpunkte bei dir im Adapter auf?
                  @tombox falls nicht, was muss @ratte-rizzo tun, um dich bei der Implementierung zu unterstützen?

                  SOC wird laut Bosch während des Ladens alle 5 Minuten aktualisiert und ist aus der Cloud abrufbar, wenn das Diebstahlschutz Abo abgeschlossen ist.

                  Die API sieht ungefähr so aus:

                  obc-rider-profile.prod.connected-biking.cloud/v1/state-of-charge/<BIKE_ID>
                  

                  zurück kommt ein JSON dict, das unter anderem stateOfCharge als Schlüssel enthält, mit einem Prozentwert für den Ladezustand.

                  K Offline
                  K Offline
                  Kanumouse
                  schrieb am zuletzt editiert von
                  #179

                  Ist hier schon Jemand weiter gekommen mit dem Auslesen des Akku-Standes?

                  1 Antwort Letzte Antwort
                  2
                  • HomoranH Homoran verschob dieses Thema von Tester am
                  • HomoranH Homoran verschob dieses Thema von ...nicht in offiziellem Repo am
                  • M Offline
                    M Offline
                    McLane
                    schrieb am zuletzt editiert von
                    #180

                    Moin, habe die Tage von Bosch eine Nachricht erhalten. Darin wurde um die neue Bosch-EBike-Live-Data Api geworben.
                    https://www.bosch-ebike.com/de/business/live-data-interface
                    Ist das wirklich etwas neues? Garmin Edge nutzt diese API schon. Leider erfahre ich aus dem Netz nichts darüber, ob Privatleute
                    diese API auch nutzen können. Wer weiß etwas genaueres?

                    1 Antwort Letzte Antwort
                    0
                    • FriedhofsblondF Offline
                      FriedhofsblondF Offline
                      Friedhofsblond
                      schrieb am zuletzt editiert von Friedhofsblond
                      #181

                      Moin,
                      bin gerade am basteln mit dem eBike-Zeugs.
                      Ich habe ein Connect-Modul nachgerüstet und auch die Flow+ aktiviert. (1. Jahr kostenfrei)
                      Mein IObroker-Adapter hat Verbindung und aktualisiert alle Werte - ausser Batteriestand
                      Habe auch homey zu laufen und dort eine Beta-App eBike installiert - auch hier alle Werte aktuell - bis auf Batteriestand.
                      Vielleicht muß ich auch erstmal den Akku über die App laden - mal sehen.
                      Um den Akku nicht immer auf 100% zu jagen hat ein User einen ESP (Sonoff) geflasht, dort kann man dann den max-Wert für die Ladung einstellen.
                      Der Sonoff wird als Komponente in der Bosch-App hinzugefügt und hat dann via BT direkten Kontakt zum eBike.
                      Der Sonoff schaltet dann bei erreichtem max-Wert das interne Relais ab.
                      Auf den Sonoff kommt man dann via Browser.
                      Habe mir einen Sonoff gekauft - der USB-Serial-Adapter zum flashen ist noch unterwegs.
                      https://github.com/Xunil99/ha-bosch-ebike?tab=readme-ov-file
                      https://xunil99.github.io/ha-bosch-ebike/
                      Ich melde mich, wenn ich fertig bin.

                      1 Antwort Letzte Antwort
                      0
                      • FriedhofsblondF Offline
                        FriedhofsblondF Offline
                        Friedhofsblond
                        schrieb am zuletzt editiert von Friedhofsblond
                        #182

                        also bei der homey-App funktioniert der Batteriestatus. Kann also wohl nicht an der Cloud liegen.
                        So wie ich schon vermutet habe muß man im Bike laden und nicht den Akku alleine.
                        Vielleicht geht auch extern laden, ins Bike stecken und eine Tour machen.
                        Aber dann ist ja die Ladeüberwachung Quatsch.

                        f32a82e3-4eb1-42ad-b992-13f70c90a753-image.jpeg

                        6cfe09c4-e558-4a50-af9e-59995844e1da-image.jpeg

                        1 Antwort Letzte Antwort
                        0
                        • C Online
                          C Online
                          ckhx78
                          schrieb zuletzt editiert von
                          #183

                          Moin!
                          Ich scheiter auch an der Anmeldung :-(
                          Egal was ich für Cokkies zulasse ( alle, die Seite alle usw.) alle gelöscht, Werbeblocker aus usw.
                          Ich bekomme immer folgende Meldung:

                          4670d47e-02dc-4b3e-9639-d3efe5d85289-image.jpeg

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          433

                          Online

                          33.0k

                          Benutzer

                          83.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2026
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe