Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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 BMW/Mini v4.x.x

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Test Adapter BMW/Mini v4.x.x

Geplant Angeheftet Gesperrt Verschoben Tester
1.0k Beiträge 99 Kommentatoren 289.4k Aufrufe 86 Watching
  • Ä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.
  • S stenmic

    @vowill der Spritverbrauch wird leider nicht angezeigt, war im alten Adapter leider auch schon so.
    Zeig mal bitte dein Skript.

    vowillV Online
    vowillV Online
    vowill
    schrieb am zuletzt editiert von
    #990

    @stenmic Im alten Adapter fand sich der Verbrauch unter bmw.0.WBAxxx.trips.monthly.totalCombustionConsumption.averageConsumption.

    Anbei mein Skript zur Verbrauchsermittlung.
    Ablauf: Das Skript schreibt die Wertepaare für km und Liter immer dann in den Datenpunkt 0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel, wenn sich der Tankfüllstand reduziert. Nach 9 Wertepaaren wird die Differenz zwischen neuem Wertepaar und ältestem Wertepaar berechnet und daraus der Verbrauch; das älteste Wertepaar wird dann gelöscht. Wenn getankt wird (und sich deshalb der Tankfüllstand um mehr als 10 Liter erhöht) werden alle Wertepaare gelöscht; die nächste Rechnung findet dann erst wieder statt, wenn es wieder 9 Wertepaare gibt. (Grund ist, dass der BMW-Adapter nur ganze Liter liefert und es daher beim Tanken in der Rechnung eine Ungenauigkeit von bis zu 2 Litern geben könnte (z. B. aktueller Stand 10,0 oder 10,9 Liter und nach dem Tanken z. B. 55,0 oder 55,9 Liter --> ergäbe stets eine Differenz von 45 Litern, obwohl es 44,1 oder 45,9 Liter sein könnten)).
    Das Ergebnis der Verbrauchsrechnung wird im Datenpunkt 0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km abgelegt.

    Hier das JS (Blockly gerne auf Anfrage im Chat über private Mailadresse):

    var alter_String, Anzahl_Werte, neuer_String, letzter_Listenwert, Liter_Differenz, km_Differenz, Verbrauch;
    
    // Verfolgung des Tankinhalts
    // Auswertung DP bmw.0.WBAxxx.stream.vehicle.drivetrain.fuelSystem.remainingFuel.value
    on({ id: [].concat(['bmw.0.WBAxxx.stream.vehicle.drivetrain.fuelSystem.remainingFuel.value']), change: 'ne' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      if ((obj.state ? obj.state.val : '') > (obj.oldState ? obj.oldState.val : '') + 10) {
        // es wird/wurde getankt --> Rücksetzen der Werte
        // Aufbau: Anzahl Werte: {Liter;km},...
        // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
        if (getState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel').val.charAt(0) != '0') {
          console.warn((['BMW wird bzw. wurde betankt; Wert vom BMW: ',(obj.state ? obj.state.val : ''),'l'].join('')));
        }
        neuer_String = ['0: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
        setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
        console.info(('BMW Tankfüllstand hat sich erhöht; Init-Wert: ' + String(neuer_String)));
      } else if ((obj.state ? obj.state.val : '') < (obj.oldState ? obj.oldState.val : '')) {
        alter_String = getState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel').val;
        Anzahl_Werte = parseFloat((alter_String.charAt(0)));
        if (Anzahl_Werte == 0) {
          // erster neuer Wert
          // Aufbau: Anzahl Werte: {Liter;km},...
          // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
          neuer_String = ['1: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
          setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
          console.info(('BMW Tankfüllstand hat sich erstmalig reduziert; neu: ' + String(neuer_String)));
        } else if (Anzahl_Werte < 9) {
          // weitere Werte
          // Aufbau: Anzahl Werte: {Liter;km},{Liter;km},...
          // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
          neuer_String = ('' + (Anzahl_Werte + 1));
          neuer_String = String(neuer_String) + String(alter_String.slice(1, alter_String.length));
          neuer_String = [neuer_String,',{',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
          setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
          console.info(('BMW Tankfüllstand hat sich reduziert; neu: ' + String(neuer_String)));
        } else if (Anzahl_Werte == 9) {
          // Liste voll --> 1. Berechnung Differenzwerte
          // Aufbau: Anzahl Werte: {Liter;km},{Liter;km},...
          // neuer Literwert: "Wert"
          // neuer km-Wert: siehe DP "value"
          // 1. a) Spritmenge (in Litern) berechnen:
          letzter_Listenwert = parseFloat((alter_String.slice(((alter_String.lastIndexOf('{') + 1 + 1) - 1), (alter_String.lastIndexOf(';') + 1) - 1)));
          if (parseFloat((obj.state ? obj.state.val : '')) == letzter_Listenwert) {
            // keine Änderung in der Literzahl
            // --> Abbruch
            console.warn('keine Änderung in der Literzahl --> weder Neueintrag noch Berechnung');
          } else {
            Liter_Differenz = parseFloat((alter_String.slice(((alter_String.indexOf('{') + 1 + 1) - 1), (alter_String.indexOf(';') + 1) - 1))) - parseFloat((obj.state ? obj.state.val : ''));
            // 1. b) km-Differenz berechnen
            km_Differenz = getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val - parseFloat((alter_String.slice(((alter_String.indexOf(';') + 1 + 1) - 1), (alter_String.indexOf('}') + 1) - 1)));
            // Verbrauchsrechnung:
            if (km_Differenz > 0) {
              // neue Berechnung
              Verbrauch = Math.round(((Liter_Differenz * 100) / km_Differenz) * 10) / 10;
              setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km' /* BMW Verbrauch je 100km */, Verbrauch, true);
              console.warn((['BMW-Verbrauchsrechnung ist erfolgt bei ',getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val,' km mit einem Delta von ',Liter_Differenz,' Litern und ',km_Differenz,'km. Ergebnis: ',Verbrauch,' l/100km'].join('')));
            } else {
              // Fehler, da km-Differenz = 0!
              setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km' /* BMW Verbrauch je 100km */, 99.9, true);
              console.error((['BMW-Verbrauchsrechnung sollte erfolgen bei ',getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val,' km, aber die Entfernungs-Differenz ist Null ','--> FEHLER !!'].join('')));
            }
            // Liste voll --> 2. Werte durchschieben und
            //                         neues Wertepaar hinzufügen
            // Aufbau: 9: {Liter;km},{Liter;km},...
            // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
            neuer_String = alter_String.slice(((alter_String.indexOf('},{') + 1 + 2) - 1), alter_String.length);
            neuer_String = ['9: ',neuer_String,',{',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
            setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
            console.info(('BMW Tankfüllstand hat sich reduziert und Verbrauchsrechnung getriggert; neu: ' + String(neuer_String)));
          }
        } else {
          // Fehler
          console.error(('Ungültiger Wert für 0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel: ' + String(Anzahl_Werte)));
          setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, (['0: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('')), true);
        }
      } else {
        // Spritwerte gleich oder geringfügig höher
        // --> keine Aktion
      }
    });
    

    ioBroker im lxc auf NUC / Aktive Instanzen: 38

    S 1 Antwort Letzte Antwort
    0
    • vowillV vowill

      @stenmic Im alten Adapter fand sich der Verbrauch unter bmw.0.WBAxxx.trips.monthly.totalCombustionConsumption.averageConsumption.

      Anbei mein Skript zur Verbrauchsermittlung.
      Ablauf: Das Skript schreibt die Wertepaare für km und Liter immer dann in den Datenpunkt 0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel, wenn sich der Tankfüllstand reduziert. Nach 9 Wertepaaren wird die Differenz zwischen neuem Wertepaar und ältestem Wertepaar berechnet und daraus der Verbrauch; das älteste Wertepaar wird dann gelöscht. Wenn getankt wird (und sich deshalb der Tankfüllstand um mehr als 10 Liter erhöht) werden alle Wertepaare gelöscht; die nächste Rechnung findet dann erst wieder statt, wenn es wieder 9 Wertepaare gibt. (Grund ist, dass der BMW-Adapter nur ganze Liter liefert und es daher beim Tanken in der Rechnung eine Ungenauigkeit von bis zu 2 Litern geben könnte (z. B. aktueller Stand 10,0 oder 10,9 Liter und nach dem Tanken z. B. 55,0 oder 55,9 Liter --> ergäbe stets eine Differenz von 45 Litern, obwohl es 44,1 oder 45,9 Liter sein könnten)).
      Das Ergebnis der Verbrauchsrechnung wird im Datenpunkt 0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km abgelegt.

      Hier das JS (Blockly gerne auf Anfrage im Chat über private Mailadresse):

      var alter_String, Anzahl_Werte, neuer_String, letzter_Listenwert, Liter_Differenz, km_Differenz, Verbrauch;
      
      // Verfolgung des Tankinhalts
      // Auswertung DP bmw.0.WBAxxx.stream.vehicle.drivetrain.fuelSystem.remainingFuel.value
      on({ id: [].concat(['bmw.0.WBAxxx.stream.vehicle.drivetrain.fuelSystem.remainingFuel.value']), change: 'ne' }, async (obj) => {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        if ((obj.state ? obj.state.val : '') > (obj.oldState ? obj.oldState.val : '') + 10) {
          // es wird/wurde getankt --> Rücksetzen der Werte
          // Aufbau: Anzahl Werte: {Liter;km},...
          // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
          if (getState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel').val.charAt(0) != '0') {
            console.warn((['BMW wird bzw. wurde betankt; Wert vom BMW: ',(obj.state ? obj.state.val : ''),'l'].join('')));
          }
          neuer_String = ['0: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
          setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
          console.info(('BMW Tankfüllstand hat sich erhöht; Init-Wert: ' + String(neuer_String)));
        } else if ((obj.state ? obj.state.val : '') < (obj.oldState ? obj.oldState.val : '')) {
          alter_String = getState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel').val;
          Anzahl_Werte = parseFloat((alter_String.charAt(0)));
          if (Anzahl_Werte == 0) {
            // erster neuer Wert
            // Aufbau: Anzahl Werte: {Liter;km},...
            // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
            neuer_String = ['1: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
            setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
            console.info(('BMW Tankfüllstand hat sich erstmalig reduziert; neu: ' + String(neuer_String)));
          } else if (Anzahl_Werte < 9) {
            // weitere Werte
            // Aufbau: Anzahl Werte: {Liter;km},{Liter;km},...
            // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
            neuer_String = ('' + (Anzahl_Werte + 1));
            neuer_String = String(neuer_String) + String(alter_String.slice(1, alter_String.length));
            neuer_String = [neuer_String,',{',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
            setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
            console.info(('BMW Tankfüllstand hat sich reduziert; neu: ' + String(neuer_String)));
          } else if (Anzahl_Werte == 9) {
            // Liste voll --> 1. Berechnung Differenzwerte
            // Aufbau: Anzahl Werte: {Liter;km},{Liter;km},...
            // neuer Literwert: "Wert"
            // neuer km-Wert: siehe DP "value"
            // 1. a) Spritmenge (in Litern) berechnen:
            letzter_Listenwert = parseFloat((alter_String.slice(((alter_String.lastIndexOf('{') + 1 + 1) - 1), (alter_String.lastIndexOf(';') + 1) - 1)));
            if (parseFloat((obj.state ? obj.state.val : '')) == letzter_Listenwert) {
              // keine Änderung in der Literzahl
              // --> Abbruch
              console.warn('keine Änderung in der Literzahl --> weder Neueintrag noch Berechnung');
            } else {
              Liter_Differenz = parseFloat((alter_String.slice(((alter_String.indexOf('{') + 1 + 1) - 1), (alter_String.indexOf(';') + 1) - 1))) - parseFloat((obj.state ? obj.state.val : ''));
              // 1. b) km-Differenz berechnen
              km_Differenz = getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val - parseFloat((alter_String.slice(((alter_String.indexOf(';') + 1 + 1) - 1), (alter_String.indexOf('}') + 1) - 1)));
              // Verbrauchsrechnung:
              if (km_Differenz > 0) {
                // neue Berechnung
                Verbrauch = Math.round(((Liter_Differenz * 100) / km_Differenz) * 10) / 10;
                setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km' /* BMW Verbrauch je 100km */, Verbrauch, true);
                console.warn((['BMW-Verbrauchsrechnung ist erfolgt bei ',getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val,' km mit einem Delta von ',Liter_Differenz,' Litern und ',km_Differenz,'km. Ergebnis: ',Verbrauch,' l/100km'].join('')));
              } else {
                // Fehler, da km-Differenz = 0!
                setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_je_100km' /* BMW Verbrauch je 100km */, 99.9, true);
                console.error((['BMW-Verbrauchsrechnung sollte erfolgen bei ',getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val,' km, aber die Entfernungs-Differenz ist Null ','--> FEHLER !!'].join('')));
              }
              // Liste voll --> 2. Werte durchschieben und
              //                         neues Wertepaar hinzufügen
              // Aufbau: 9: {Liter;km},{Liter;km},...
              // hier: value = bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value
              neuer_String = alter_String.slice(((alter_String.indexOf('},{') + 1 + 2) - 1), alter_String.length);
              neuer_String = ['9: ',neuer_String,',{',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('');
              setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, neuer_String, true);
              console.info(('BMW Tankfüllstand hat sich reduziert und Verbrauchsrechnung getriggert; neu: ' + String(neuer_String)));
            }
          } else {
            // Fehler
            console.error(('Ungültiger Wert für 0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel: ' + String(Anzahl_Werte)));
            setState('0_userdata.0.Fahrzeuge.BMW_Verbrauch_km_bei_l-Wechsel' /* BMW Verbrauch km bei l-Wechsel */, (['0: {',('' + (obj.state ? obj.state.val : '')),';',('' + getState('bmw.0.WBAxxx.stream.vehicle.vehicle.travelledDistance.value').val),'}'].join('')), true);
          }
        } else {
          // Spritwerte gleich oder geringfügig höher
          // --> keine Aktion
        }
      });
      
      S Nicht stören
      S Nicht stören
      stenmic
      schrieb am zuletzt editiert von
      #991

      @vowill sagte in Test Adapter BMW/Mini v4.x.x:

      @stenmic Im alten Adapter fand sich der Verbrauch unter bmw.0.WBAxxx.trips.monthly.totalCombustionConsumption.averageConsumption.

      ok, den hab ich nie genutzt, mich interessiert mehr der Verbrauch ab tanken.

      1 Antwort Letzte Antwort
      0
      • S stenmic

        @silgri die 244 Häkchen bei BMW hast du alle gesetzt?

        S Offline
        S Offline
        silgri
        schrieb am zuletzt editiert von
        #992

        @stenmic
        Alle Häkchen sind gesetzt

        1 Antwort Letzte Antwort
        0
        • D derdominik

          @silgri said in Test Adapter BMW/Mini v4.x.x:

          Hätte aber gerne noch den Ladezustand beim Laden.
          Im Moment mache ich das auch per Script, wenn an der Lade-Steckdose (11kW) Strom fließt, mache ich alle 10 Minuten ein API Abruf

          Soweit ich das bisher verstanden habe, wird beim AC-Laden, wenn das Auto ansonsten aus ist, seitens BMW kein Update per MQTT verschickt.

          Während der Fahrt -> SoC Update per MQTT.
          Beim AC Laden -> Kein MQTT Update, nur per API-Abfrage.

          S Offline
          S Offline
          silgri
          schrieb am zuletzt editiert von
          #993

          @derdominik said in Test Adapter BMW/Mini v4.x.x:

          @silgri said in Test Adapter BMW/Mini v4.x.x:

          Hätte aber gerne noch den Ladezustand beim Laden.
          Im Moment mache ich das auch per Script, wenn an der Lade-Steckdose (11kW) Strom fließt, mache ich alle 10 Minuten ein API Abruf

          Soweit ich das bisher verstanden habe, wird beim AC-Laden, wenn das Auto ansonsten aus ist, seitens BMW kein Update per MQTT verschickt.

          Während der Fahrt -> SoC Update per MQTT.
          Beim AC Laden -> Kein MQTT Update, nur per API-Abfrage.

          Aber beim Fahren kommt ja auch nix :disappointed:

          1 Antwort Letzte Antwort
          0
          • HantschelH Offline
            HantschelH Offline
            Hantschel
            schrieb am zuletzt editiert von
            #994

            Irgendwie stelle ich mich zu blöd an.
            Ich bekomme von meinem E-Mini keine Daten mehr.
            Zum CarData kann ich den auch irgendwie nicht hinzufügen.
            Wer kann mir helfen?

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • HantschelH Hantschel

              Irgendwie stelle ich mich zu blöd an.
              Ich bekomme von meinem E-Mini keine Daten mehr.
              Zum CarData kann ich den auch irgendwie nicht hinzufügen.
              Wer kann mir helfen?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #995

              @hantschel sagte in Test Adapter BMW/Mini v4.x.x:

              Wer kann mir helfen?

              Ohne was halbwegs handfestestes aus z. B. dem Log vermutlich niemand.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mike1429
                schrieb am zuletzt editiert von
                #996

                Ein neues Problem. Der Wert von energyConsumedFromPowerGridKwh für data01 ist immer der gleiche wie der von data02, und zwar nur der. Alle anderen Werte sind OK. Ab data03 sind alle unterschiedlich und richtig. Weiß jemand davon?

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  Karacho
                  schrieb am zuletzt editiert von Karacho
                  #997

                  Problem Solved - Neu Authorisierung über BMW Seite analog LogDatei norwendig...

                  Wurde aber am Vortag nicht angezeigt.


                  Hallo

                  folgendes PRoblem.

                  Was muss ich tun?

                  
                  bmw.0
                  2025-11-19 14:14:47.019	error	Token refresh failed with HTTP 400 auth error - starting new device flow
                  
                  bmw.0
                  2025-11-19 14:14:47.019	error	Response status: {"error":"invalid_request","error_description":"The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed"}
                  
                  bmw.0
                  2025-11-19 14:14:47.018	error	AxiosError: Request failed with status code 400
                  
                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    daruse
                    schrieb am zuletzt editiert von
                    #998

                    Sorry für die banale Frage, aber wie bekomme ich meinen Adapter von 4.0.5 (stable) auf 4.31. (beta)?
                    Ich bin auf Repository Beta und bei dem + (eine bestimmte Version installieren) muss ich was eingeben?
                    Danke vorab

                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • D daruse

                      Sorry für die banale Frage, aber wie bekomme ich meinen Adapter von 4.0.5 (stable) auf 4.31. (beta)?
                      Ich bin auf Repository Beta und bei dem + (eine bestimmte Version installieren) muss ich was eingeben?
                      Danke vorab

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von Thomas Braun
                      #999

                      @daruse
                      Am besten das Repo auf Stable setzen und dann nur diesen einen Adapter aus Beta fischen:

                      11e66a36-b552-4d71-a15e-42f8959817ee-grafik.png

                      Edit: Reden wir über den gleichen Adapter? Denn der ist nie als stable veröffentlicht worden:

                      bmw
                      github:	4.3.1 for 29 days
                      latest:	4.3.0 for 45 days
                      stable:	-.-.-
                      

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        daruse
                        schrieb am zuletzt editiert von
                        #1000

                        Danke dir, so wurde jetzt zwar nicht 4.3.1 installiert aber immerhin die 4.3.0

                        Thomas BraunT 1 Antwort Letzte Antwort
                        0
                        • D daruse

                          Danke dir, so wurde jetzt zwar nicht 4.3.1 installiert aber immerhin die 4.3.0

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #1001

                          @daruse

                          Die sog. 4.3.1. ist ja auch eine GITHUB-'Version'. Die installiert man ohnehin nicht.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          1 Antwort Letzte Antwort
                          0
                          • Steffe.S.S Online
                            Steffe.S.S Online
                            Steffe.S.
                            schrieb am zuletzt editiert von
                            #1002

                            Hallo,

                            kann ich den SoH irgendwo in den Datenpunkten sehen?
                            Beim Durchschauen der Datenpunkte habe ich nur SoC (100% timestamp 17.08.2025) gefunden.

                            bmw.0.WMWxxxxxxxxxxxxx.stream.vehicle.powertrain.electric.battery.stateOfCharge
                            

                            Vielleicht habe ich etwas übersehen.

                            Gruss S.

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              silgri
                              schrieb am zuletzt editiert von silgri
                              #1003

                              @Steffe.S.
                              Hab's gefunden:
                              bmw.0.**********.stream.vehicle.powertrain.electric.battery.stateOfHealth.displayed.value
                              Bei mir steht da 100 (Fahrzeug hat erst 5000km drauf)

                              Steffe.S.S 1 Antwort Letzte Antwort
                              0
                              • S silgri

                                @Steffe.S.
                                Hab's gefunden:
                                bmw.0.**********.stream.vehicle.powertrain.electric.battery.stateOfHealth.displayed.value
                                Bei mir steht da 100 (Fahrzeug hat erst 5000km drauf)

                                Steffe.S.S Online
                                Steffe.S.S Online
                                Steffe.S.
                                schrieb am zuletzt editiert von
                                #1004

                                @silgri

                                mach mal Deine Fahrgestellnummer unsichtbar.

                                bei steht da SoC

                                S 1 Antwort Letzte Antwort
                                0
                                • Steffe.S.S Steffe.S.

                                  @silgri

                                  mach mal Deine Fahrgestellnummer unsichtbar.

                                  bei steht da SoC

                                  S Offline
                                  S Offline
                                  silgri
                                  schrieb am zuletzt editiert von silgri
                                  #1005

                                  @Steffe.S. sagte in Test Adapter BMW/Mini v4.x.x:

                                  @silgri

                                  mach mal Deine Fahrgestellnummer unsichtbar.

                                  bei steht da SoC

                                  ups, danke
                                  meinst Du das: Health status of the high-voltage battery (SOCE)

                                  Steffe.S.S 1 Antwort Letzte Antwort
                                  0
                                  • S silgri

                                    @Steffe.S. sagte in Test Adapter BMW/Mini v4.x.x:

                                    @silgri

                                    mach mal Deine Fahrgestellnummer unsichtbar.

                                    bei steht da SoC

                                    ups, danke
                                    meinst Du das: Health status of the high-voltage battery (SOCE)

                                    Steffe.S.S Online
                                    Steffe.S.S Online
                                    Steffe.S.
                                    schrieb am zuletzt editiert von Steffe.S.
                                    #1006

                                    @silgri

                                    ich suche den Gesundheitszustand (SoH, State of Health) der HV-Batterie

                                    SoC ist der Ladestand der Batterie, quasi wie voll die Batterie ist

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      silgri
                                      schrieb am zuletzt editiert von silgri
                                      #1007

                                      @Steffe.S.
                                      aktueller SoC steht in
                                      bmw.0.*****.stream.vehicle.drivetrain.electricEngine.charging.level.value
                                      Bei mir aktuell 80%
                                      Wenn ich das CarData Archiv anfordere steht in den Daten auch SoH 100%
                                      Passend zu
                                      bmw.0.**********.stream.vehicle.powertrain.electric.battery.stateOfHealth.displayed.value

                                      Steffe.S.S 1 Antwort Letzte Antwort
                                      0
                                      • S silgri

                                        @Steffe.S.
                                        aktueller SoC steht in
                                        bmw.0.*****.stream.vehicle.drivetrain.electricEngine.charging.level.value
                                        Bei mir aktuell 80%
                                        Wenn ich das CarData Archiv anfordere steht in den Daten auch SoH 100%
                                        Passend zu
                                        bmw.0.**********.stream.vehicle.powertrain.electric.battery.stateOfHealth.displayed.value

                                        Steffe.S.S Online
                                        Steffe.S.S Online
                                        Steffe.S.
                                        schrieb am zuletzt editiert von
                                        #1008

                                        @silgri

                                        Wir haben eine MINI SE F54 , ich glaub da wird der Wert einfach nicht angezeigt,
                                        vielen Dank fürs Nachsehen

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          silgri
                                          schrieb am zuletzt editiert von
                                          #1009

                                          @Steffe.S.
                                          Hast Du schon mal das CarData Archiv angefordert?
                                          Dort ist eine XML Datei enthalten, BMW-CarData-KeyList_*****_24-11-2025.xml
                                          Diese enthält den SoCE (State of Certified Energy), das ist die neue Euro-7-Norm:
                                          <telematicValue>
                                          <name>Gesundheitszustand der Hochvoltbatterie (SOCE)</name>
                                          <value>100</value>
                                          <unit>-</unit>
                                          <fetchTimestamp>22.11.2025 08:10:50 UTC</fetchTimestamp>
                                          <valueTimestamp>22.11.2025 08:10:50 UTC</valueTimestamp>
                                          <dataCategoryType>BEV_PHEV_DATA</dataCategoryType>
                                          <telematicKeyName>vehicle.powertrain.electric.battery.stateOfHealth.displayed</telematicKeyName>
                                          </telematicValue>

                                          <telematicKeyName> passt dann wieder zum Datenpunkt des Adapters

                                          Steffe.S.S 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          641

                                          Online

                                          32.7k

                                          Benutzer

                                          82.3k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          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