Habe mir eine WebApp für den Batterie-Status gebaut

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
read
Hacky hat geschrieben: Mist, geht bei mir auch nocht mehr. Wird dann wohl Zeit, es mal auf bimmerconnected (https://github.com/bimmerconnected/bimmer_connected) umzustellen. Scheint eine der wenigen, noch gepflegten Libraries zu sein.
Ich hab mal bimmerconnected installiert, mehr als das cli zu bedienen, schaffe ich aber nicht. Bei der Statusausgabe ist leider nicht mehr enthalten, als in der My BMW App, sprich es fehlen SoC und SoCmax. Um da ran zu kommen, muss man jedenfalls den Code ändern. Ich weiß aber nicht, ob die Werte überhaupt noch auf den BMW Servern liegen.
i3 120 Ah; BJ 09/2019; SW I001-19-11-530; PV 5.3 kWp; Heidelberg Wallbox Home Eco
Anzeige

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Gabatek
  • Beiträge: 95
  • Registriert: Do 16. Nov 2017, 22:47
  • Wohnort: Aargau Schweiz
  • Hat sich bedankt: 18 Mal
  • Danke erhalten: 7 Mal
read
Leider geht bei mir seit 20. November gar nix mehr. Hat schon jemand sich damit beschäftigt oder sogar eine Lösung/Fix gefunden?
BMW i3 94Ah Rex 19.12.2018 - heute
BMW i3 60Ah Rex 11.03.2017 - 19.12.2018
Renault Twizy 23.06.2014 - 07.12.2018 ja der kleine Elektro-Flizer hat mich infiziert.

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
read
die Webapp basiert auf der alten API, welche abgeschaltet wurde. Es gibt auf Github bimmerconnect, wo man die neue API nutzbar gemacht hat. Technische Details kann ich aber nicht wiedergeben.
BMW i3 - 60Ah - BEV (Baudatum 09-2013) Andesitsilber - I001-18-11-539 - 10/2015-04/2019
BMW i3 - 120Ah - BEV (Baudatum 03.05.2019) Jucarobeige - I001-20-03-530 - seit 16.05.2019

FAQ-Thread für den BMW i3
steuerliche Fragen rund um das Elektroauto

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
  • Hacky
  • Beiträge: 1997
  • Registriert: Fr 25. Okt 2019, 21:37
  • Wohnort: Norddeutschland
  • Hat sich bedankt: 233 Mal
  • Danke erhalten: 1023 Mal
read
Wenn man mittels Query im bimmerconnected Repository nach socMax sucht, sieht es bis dato nicht so aus, als ob man darüber den socMax bekäme, siehe https://github.com/bimmerconnected/bimm ... h?q=socmax

Man bekommt dann aktuell 2 issues und 3 discussions aufgelistet und keine code, der das Stichwort enthält. Auch @Havrla, den wir aus den Batterie-Upgrade Threads kennen, scheint dort bislang vergeblich nach einem neuen Weg zu suchen...

Vielleicht hat BMW das als neue Geldquelle entdeckt: https://bmw-cardata.bmwgroup.com/thirdp ... ta/pricing
i3s 120 Lodge 10/19 - Knuffel, 11 kW Mennekes Wallbox

Re: Habe mir eine WebApp für den Batterie-Status gebaut

itsonlyacar
  • Beiträge: 42
  • Registriert: So 28. Nov 2021, 03:51
  • Hat sich bedankt: 220 Mal
  • Danke erhalten: 9 Mal
read
Mit der mi3 App (https://apps.apple.com/de/app/mi3/id1548538352) und nem passenden OBD II Dongle kommt man an den SoH. Und auch schön die Ladekurve (während des Ladevorgang)
BMW i3s 94Ah REX - leider in schwarz

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
read
Hacky hat geschrieben: Vielleicht hat BMW das als neue Geldquelle entdeckt:
Vielleicht wurde SoCmax auch bewusst für den Enduser aus dem Verkehr gezogen, da er in der jetzigen Form - auch abhängig vom jeweiligen Softwarestand - nur bedingt die Kapazität des Akkus angibt. Es gibt ja noch den Kapazitätswert des Akkus, den die mi3 App liefert und eigentlich sollten beide Werte doch stark miteinander korrelieren. Ich habe daher mal diese beiden Werte für April bis November gegenüber gestellt und so richtig gut passt das nicht.
Dateianhänge
Datei Kappa_SoCmax.pdf
(13.01 KiB) 98-mal heruntergeladen
i3 120 Ah; BJ 09/2019; SW I001-19-11-530; PV 5.3 kWp; Heidelberg Wallbox Home Eco

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Havrla
  • Beiträge: 226
  • Registriert: Fr 21. Aug 2020, 22:09
  • Wohnort: Prag
  • Hat sich bedankt: 5 Mal
  • Danke erhalten: 758 Mal
read
Heloo,

https://github.com/bimmerconnected/bimm ... issues/158

read SOC is possible:
in python example ...

Code: Alles auswählen

#! /usr/bin/env python3

import requests
import json
import urllib
import logging
import sys, os, time
import pickle
import pymysql

def getToken(BASE_URL, username, password, timeout=(20, 20)):
    try:
        headers = {
                "Content-Type": "application/x-www-form-urlencoded",
                "Content-Length": "124",
                "Connection": "Keep-Alive",
                "Host": BASE_URL,
                "Accept-Encoding": "gzip",
                "Authorization": "Basic blF2NkNxdHhKdVhXUDc0eGYzQ0p3VUVQOjF6REh4NnVuNGNEanli"
                                 "TEVOTjNreWZ1bVgya0VZaWdXUGNRcGR2RFJwSUJrN3JPSg==",
                "Credentials": "nQv6CqtxJuXWP74xf3CJwUEP:1zDHx6un4cDjybLENN3kyfumX2kEYigWPcQpdvDRpIBk7rOJ",
                "User-Agent": "okhttp/2.60"}

        data = {
            'client_id': 'dbf0a542-ebd1-4ff0-a9a7-55172fbfce35',
            'response_type': 'token',
            'redirect_uri': 'https://www.bmw-connecteddrive.com/app/static/external-dispatch.html',
            'scope': 'authenticate_user vehicle_data remote_services',
            'username': username,
            'password': password}

        data = urllib.parse.urlencode(data)#       url = 'https://' + BASE_URL + '/webapi/oauth/token'
#        url = 'https://' + BASE_URL + '/webapi/oauth/token'
        url = 'https://' + BASE_URL + '/gcdm/oauth/authenticate'
        #print (url)
        r = requests.post(url, data=data, headers=headers, allow_redirects=False)
        #print (r)
        if r.status_code == 302:
            logging.info('Access token acquired')
            response_json = dict(
                    urllib.parse.parse_qsl(urllib.parse.urlparse(r.headers['Location']).fragment)
                )
            #print(response_json)
            #print(response_json['access_token'])
            return response_json['access_token']
        else:
            raise ValueError('Unable to login')

    except Exception as msg:
        logging.error(msg)


def getSocData(BASE_URL, token, vin):
    try:
        headers = {'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0 Mobile/15B150 Safari/604.1',
                    'Authorization': 'Bearer ' + token}

        BASE_URLL = 'b2vapi.bmwgroup.com'
        url = 'https://' + BASE_URLL + '/api/vehicle/navigation/v1/' + vin

#        print(url)
        r = requests.get(url, headers=headers, timeout=(20, 20))
#        print(r)
#        print(r.json())
        if r.status_code == 200:
            status = r.json()
            if status.get('socmax'):
                 socMax = status['socmax']
            if status.get('socMax'):
                 socMax = status['socMax']
            logging.info('SoC Data retreived successfully')
            return socMax
        else:
            raise ValueError('Unable to retreive SoC data from vehicle')

    except Exception as msg:
        logging.error(msg)







Micro czech forum :-)
http://elektroforum.cz/viewtopic.php?f ... #p17003


60Ah 1year
ZIGI-kamos_koupeno pri 50tkm94Ah.png
ZIGI-kamos_koupeno pri 50tkm94Ah.png (390.11 KiB) 1340 mal betrachtet
94Ah 1 year
MOJE-120.png
MOJE-120.png (426.6 KiB) 1340 mal betrachtet
120Ah 1 year
MOJE-60.png
MOJE-60.png (478.73 KiB) 1340 mal betrachtet

Any questions? :-)


Nice day
Havrla
BMW I3 XXXAh Rex; BMW I3 120Ah (My wife car); Tesla TM3 LR; Volvo V70 T6; Tatra T700-II

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
  • Hacky
  • Beiträge: 1997
  • Registriert: Fr 25. Okt 2019, 21:37
  • Wohnort: Norddeutschland
  • Hat sich bedankt: 233 Mal
  • Danke erhalten: 1023 Mal
read
Havrla hat geschrieben: Heloo,

https://github.com/bimmerconnected/bimm ... issues/158

read SOC is possible:
in python example ...
...
Any questions? :-)
Thanks @Havrla...
... but what about SoCmax?
i3s 120 Lodge 10/19 - Knuffel, 11 kW Mennekes Wallbox

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
read
Havrla hat geschrieben: in python example ...
I think the endpoint /api/vehicle/navigation/v1/ is no longer available. When did you run this script successfully for the last time?

Re: Habe mir eine WebApp für den Batterie-Status gebaut

Benutzeravatar
  • Hacky
  • Beiträge: 1997
  • Registriert: Fr 25. Okt 2019, 21:37
  • Wohnort: Norddeutschland
  • Hat sich bedankt: 233 Mal
  • Danke erhalten: 1023 Mal
read
UPDATE:
I did not try the code snippet, that @Havrla posted above (as it does'nt seem to use bimmer_connected) but I adapted a little bit the code example that was posted by him in the Czech forum at: http://elektroforum.cz/viewtopic.php?f= ... =20#p17108

I commented out the database part (not required) and adapted the paths for logging and for reading/writing the last_percent_... file. After this, I executed the code (which I saved as bimmertest.py) under Windows using my VIN and my BMW portal user:

Code: Alles auswählen

python bimmertest.py -v WBY8P61000xxxxxxx -u <my user> -p <my password>
After that, I found in the log file:

Battery: 53% (109 km) - DISCONNECTED/INVALID
Mileage: xxxxx km
Position http://maps.apple.com/?ll=xx.xxxxxx,xx.xxxxxx
socMax: 38.14 kWh

So this means, we are back in the game also with socMax !!!
Perhaps also the code posted above may work. Both seem to use the endpoint https://b2vapi.bmwgroup.com/api/vehicle/navigation/v1/ - so this seems to be operational.

In the next days, I will adapt my streamlit web app in order to use bimmer_connected.

Thanks @Havrla .
i3s 120 Lodge 10/19 - Knuffel, 11 kW Mennekes Wallbox
Anzeige
AntwortenAntworten

Zurück zu „i3 - Laden, Ladeequipment“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag