SOC BMW

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
heidanei
Beiträge: 127
Registriert: So Mai 02, 2021 5:42 pm
Has thanked: 10 times
Been thanked: 2 times

Re: SOC BMW

Beitrag von heidanei »

Funktionierte leider nur kurz. :( Bei beiden Autos war heute um 13:18 Uhr der SoC wieder bei 0%, FM im Log war wieder mal das ungültige Token. Für den iX1 (ev2) reichte es, wieder mal ein neues Token zu generieren und wurde dann auch richtig angezeigt. Für den i3 (ev1) geht das aber nicht, hier scheint zwar der SoC mit 45% richtig ausgelesen zu werden, wird dann aber wg. "timestamp is older" nicht aktualisiert.
Update: Weder Neustart noch zwischenzeitliches Abschalten des bc-Moduls oder man. SoC bringt was. Gehe wieder zurück auf die alte api.py.

Code: Alles auswählen

openwb@openwb:~/openwb/ramdisk$ cat soc.log
2025-02-16 14:54:06,840 - {modules.common.configurable_vehicle:56} - {DEBUG:fetch soc_ev1} - Vehicle Instance <class 'modules.vehicles.bmwbc.config.BMWbc'>
2025-02-16 14:54:06,842 - {modules.common.configurable_vehicle:57} - {DEBUG:fetch soc_ev1} - Calculated SoC-State CalculatedSocState(imported_start=None, manual_soc=None, soc_start=10)
2025-02-16 14:54:06,842 - {modules.common.configurable_vehicle:58} - {DEBUG:fetch soc_ev1} - Vehicle Update Data VehicleUpdateData(plug_state=False, charge_state=False, imported=None, battery_capacity=38000, efficiency=89, soc_from_cp=None, timestamp_soc_from_cp=None, soc_timestamp=1739713939.568163)
2025-02-16 14:54:06,843 - {modules.common.configurable_vehicle:59} - {DEBUG:fetch soc_ev1} - General Config GeneralVehicleConfig(use_soc_from_cp=False, request_interval_charging=300, request_interval_not_charging=10800, request_only_plugged=False)
2025-02-16 14:54:06,844 - {modules.common.component_context:26} - {DEBUG:fetch soc_ev1} - Update Komponente ['BMW & Mini ']
2025-02-16 14:54:06,845 - {asyncio:59} - {DEBUG:fetch soc_ev1} - Using selector: EpollSelector
2025-02-16 14:54:06,846 - {modules.vehicles.bmwbc.api:271} - {DEBUG:fetch soc_ev1} - # reuse instance Api as api
2025-02-16 14:54:06,847 - {modules.vehicles.bmwbc.api:122} - {DEBUG:fetch soc_ev1} - dataPath=/var/www/html/openWB/data/modules/bmwbc
2025-02-16 14:54:06,850 - {modules.vehicles.bmwbc.api:150} - {DEBUG:fetch soc_ev1} - new captcha token configured - invalidate stored token set
2025-02-16 14:54:06,851 - {modules.vehicles.bmwbc.api:173} - {INFO:fetch soc_ev1} - authenticate via userid, password, captcha token
2025-02-16 14:54:06,852 - {modules.vehicles.bmwbc.api:181} - {DEBUG:fetch soc_ev1} - # Reuse _auth instance
2025-02-16 14:54:06,852 - {modules.vehicles.bmwbc.api:194} - {DEBUG:fetch soc_ev1} - # Reuse _clconf instance
2025-02-16 14:54:06,853 - {modules.vehicles.bmwbc.api:202} - {DEBUG:fetch soc_ev1} - # Reuse _account instance
2025-02-16 14:54:06,854 - {bimmer_connected.account:111} - {DEBUG:fetch soc_ev1} - Getting vehicle list
2025-02-16 14:54:06,854 - {bimmer_connected.vehicle.vehicle:102} - {DEBUG:fetch soc_ev1} - Getting vehicle list
2025-02-16 14:54:06,875 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.started host='cocoapi.bmwgroup.com' port=443 local_address=None timeout=30.0 socket_options=None
2025-02-16 14:54:06,935 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba3856e910>
2025-02-16 14:54:06,936 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fba38371ac0> server_hostname='cocoapi.bmwgroup.com' timeout=30.0
2025-02-16 14:54:06,976 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba386495e0>
2025-02-16 14:54:06,978 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:06,980 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:06,981 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:06,982 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:06,982 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:07,444 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:07 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Content-Length', b'7459'), (b'Connection', b'keep-alive'), (b'x-correlation-id', b'2d2d750c-a84d-49c0-b75b-3388aad7163f'), (b'bmw-correlation-id', b'2d2d750c-a84d-49c0-b75b-3388aad7163f'), (b'x-cluster-mock-used', b'false'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135407Z-165d6f546bftrsbrhC1MUChswc0000000b20000000003d5k'), (b'X-Cache', b'CONFIG_NOCACHE'), (b'Accept-Ranges', b'bytes')])
2025-02-16 14:54:07,448 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:07,449 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:07,450 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:07,451 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:07,455 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:07,456 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:07,457 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:07,458 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:07,459 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:08,170 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:08 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Content-Encoding', b'gzip'), (b'Vary', b'Accept-Encoding'), (b'api-supported-versions', b'1.0,2.0,3.0'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135407Z-165d6f546bftrsbrhC1MUChswc0000000b20000000003d6t'), (b'X-Cache', b'CONFIG_NOCACHE')])
2025-02-16 14:54:08,172 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:08,173 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:08,174 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:08,175 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:08,177 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.started
2025-02-16 14:54:08,178 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.complete
2025-02-16 14:54:08,179 - {bimmer_connected.vehicle.vehicle:102} - {DEBUG:fetch soc_ev1} - Getting vehicle list
2025-02-16 14:54:08,197 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.started host='cocoapi.bmwgroup.com' port=443 local_address=None timeout=30.0 socket_options=None
2025-02-16 14:54:08,213 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba4469e370>
2025-02-16 14:54:08,214 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fba385d13c0> server_hostname='cocoapi.bmwgroup.com' timeout=30.0
2025-02-16 14:54:08,246 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba3852f730>
2025-02-16 14:54:08,248 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:08,249 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:08,250 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:08,250 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:08,251 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:08,661 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:08 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Content-Length', b'7650'), (b'Connection', b'keep-alive'), (b'x-correlation-id', b'7f519b52-5b56-4334-996a-ad92f5a9ab88'), (b'bmw-correlation-id', b'7f519b52-5b56-4334-996a-ad92f5a9ab88'), (b'x-cluster-mock-used', b'false'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135408Z-165d6f546bfdkt5shC1MUCvhtw0000000aeg00000000cwr5'), (b'X-Cache', b'CONFIG_NOCACHE'), (b'Accept-Ranges', b'bytes')])
2025-02-16 14:54:08,664 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:08,664 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:08,665 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:08,666 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:08,669 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:08,670 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:08,671 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:08,671 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:08,672 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:09,276 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:09 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Content-Encoding', b'gzip'), (b'Vary', b'Accept-Encoding'), (b'api-supported-versions', b'1.0,2.0,3.0'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135408Z-165d6f546bfdkt5shC1MUCvhtw0000000aeg00000000cwrs'), (b'X-Cache', b'CONFIG_NOCACHE')])
2025-02-16 14:54:09,278 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:09,282 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:09,283 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:09,284 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:09,285 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.started
2025-02-16 14:54:09,286 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.complete
2025-02-16 14:54:09,287 - {bimmer_connected.vehicle.vehicle:102} - {DEBUG:fetch soc_ev1} - Getting vehicle list
2025-02-16 14:54:09,303 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.started host='cocoapi.bmwgroup.com' port=443 local_address=None timeout=30.0 socket_options=None
2025-02-16 14:54:09,321 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba3864ca90>
2025-02-16 14:54:09,322 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fba386dacc0> server_hostname='cocoapi.bmwgroup.com' timeout=30.0
2025-02-16 14:54:09,357 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fba385b4d90>
2025-02-16 14:54:09,358 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:09,359 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:09,360 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:09,360 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:09,361 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:09,760 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:09 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Content-Length', b'5506'), (b'Connection', b'keep-alive'), (b'x-correlation-id', b'67ace532-15b7-4bc0-9866-68d4e1af1a0f'), (b'bmw-correlation-id', b'67ace532-15b7-4bc0-9866-68d4e1af1a0f'), (b'x-cluster-mock-used', b'false'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135409Z-165d6f546bfvl8tqhC1MUCp3dg000000038g000000009kvv'), (b'X-Cache', b'CONFIG_NOCACHE'), (b'Accept-Ranges', b'bytes')])
2025-02-16 14:54:09,762 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:09,763 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:09,764 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:09,765 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:09,767 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.started request=<Request [b'GET']>
2025-02-16 14:54:09,769 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_headers.complete
2025-02-16 14:54:09,769 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.started request=<Request [b'GET']>
2025-02-16 14:54:09,770 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - send_request_body.complete
2025-02-16 14:54:09,770 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.started request=<Request [b'GET']>
2025-02-16 14:54:10,091 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Sun, 16 Feb 2025 13:54:10 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Content-Encoding', b'gzip'), (b'Vary', b'Accept-Encoding'), (b'api-supported-versions', b'1.0,2.0,3.0'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains'), (b'X-Content-Type-Options', b'nosniff'), (b'Content-Security-Policy', b"default-src 'self'"), (b'Request-Context', b'appId=cid-v1:24f34ad2-7e62-4399-93db-3071c599c619'), (b'set-cookie', b'ASLBSA=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; Path=/; Secure; HttpOnly;'), (b'set-cookie', b'ASLBSACORS=00030ba4bee0ac881fe811bc41e69bd98c56b9cd9a538acfae5da96e9319d4ddde6e; SameSite=none; Path=/; Secure; HttpOnly;'), (b'x-azure-ref', b'20250216T135409Z-165d6f546bfvl8tqhC1MUCp3dg000000038g000000009kw9'), (b'X-Cache', b'CONFIG_NOCACHE')])
2025-02-16 14:54:10,094 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.started request=<Request [b'GET']>
2025-02-16 14:54:10,095 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - receive_response_body.complete
2025-02-16 14:54:10,095 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.started
2025-02-16 14:54:10,096 - {httpcore.http11:85} - {DEBUG:fetch soc_ev1} - response_closed.complete
2025-02-16 14:54:10,098 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.started
2025-02-16 14:54:10,099 - {httpcore.connection:85} - {DEBUG:fetch soc_ev1} - close.complete
2025-02-16 14:54:10,107 - {modules.vehicles.bmwbc.api:228} - {INFO:fetch soc_ev1} -  SOC/Range: 45%/70.0KM@2025-02-15T19:41:26Z
2025-02-16 14:54:10,108 - {modules.vehicles.bmwbc.api:40} - {INFO:fetch soc_ev1} - store file action:store written
2025-02-16 14:54:10,109 - {modules.vehicles.bmwbc.api:41} - {DEBUG:fetch soc_ev1} - store written:
{
    "refresh_token": "***REDACTED***",
    "access_token": "***REDACTED***",
    "expires_at": "2025-02-16T14:43:46.213460+00:00",
    "captcha_token": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.hadwYXNza2V5xQPa4pC3mP58QYFlWqZS8pe8fdoSHXw2Us_ttQgMDmedlzNXYVzudsm2vJ_5TF2_MAIHXq0uvTjPtcDIm3HPB6XaU52-HTpfkeRm2VHXOzO6W0-81uR28cVEXBtR_d0ODYIPaMPnimx5xh4QSIm2-i2bZPdr-tyqjZiNZ6KDCQv_wWzRnnrrmI8ZkxoBXQeExVgGhmchjYirqIS_mDTu6gPwECOc4GgJSCn2vV4Jsv2rNiWFI19f6bQ1fjK4Ej3pU-hAGHHeUEVUl0kjFehcz1JsE1LewQByz4LewgM3nOc8AVVBh1uxuVP9WbAyNRzY3mEeuemF8T6DE05pkC5koMdQuPknyXyHLcpD0BeyF7tOWcxc3RnTE5qujNuS8-HmF7zRYGBKTVOMZ1-QZ85kflMyU9CXL8AS-3PVgBnmF63CaScHO7JHA0BZ7ctz0Z5omrvFrYBfoAQeaRS49HfHI2ZbhyTWNgbkwdPpeCUSk0ePRWg57XrwJQkwNjiYzYzf-9GG_Cfw7H_JvpB4UbiMx5QBjqDsyJuGb7UvB7WErPXnRr3EkG8EHCnBsmtY4NXKHzrb81R_m9mhMyfMls6dubiWJ0Y3ZICUUXSkloz2oqiIs78fC9vFIZQhc15swcW99ifn0qj4ANqVZaeXjQAO5d3BSh5c59w-cIKJnKbr-n2_VmwpuWBvBp4fX3IUsnYmLsYkanzeCK9gbl9VxRnrgPZI6i2B-5dhilGmJuHTbXFeAe0VqRPJNIzuAiK77vfqC2EtL4Hn8dhKeOAQ6TBCn4h-FvXnnt7EMF_6JlnkU3yzXz5CUUtFedxAiEPmIjwqn-5zl_q5ZVU7YcUBeYnzPhhq54-77oHdhSmGqHuEgMHNDj5nxRi3IhJ8cugapr1H1S72FxojdS46uc8dcsLvY7hNLBGZqPsR7ZsxsbsJFYDOLtN2z56EMPP54Mk3eXaqP156NTdUQBNvsv5Gg32ACKGXsOmwLS8K9WDChZfmi7ovD4Bzs92fabboYT9GD9DvDaHiUgiMT45t45cdW7xMMJFkZnNiceRndwpO03WnhLj-CifzYUYyiUzvnbHOoAYu1YVXCn6Lr5uLBb6k-UUsDOtSICJGQ-rtUqe_8IZD_39DN1PXqarwCCoQ2J5-f-G1iSbhQDCSwzVjkrf8-E12M-kKSoNY4if6z-J_AnsN6NyOTZBvu63GR9_47CCoBPZtoATs432Lhk1WmLGi_wiW9rD2nJv7sTIiYhLunFr2Mo9mKJfPw-gmNjduYb3FLRBvIfRTYlc4tZjRSyfV52Vq0IQfmslrd_BLvbDbnVSjZXhwzmex7lKoc2hhcmRfaWTOFDyEH6JrcqcyZDZiNzlionBkAA.PkIEmf3MlGo5zPjBVO5ohXtvqW9RhNa0Dk4BIxUnmBs",
    "session_id": "cb87503d-ed26-4b06-bc69-864783177355",
    "gcid": "0e5659e7-f3e1-44a5-bb01-55e8ef433b7e",
    "rt": "0URmZOv1n-uME1YFny3jGwL9Sx0",
    "at": "EiGssQT2h_UzY2tCg4gy__bK6wo"
}
2025-02-16 14:54:10,112 - {modules.common.configurable_vehicle:67} - {DEBUG:fetch soc_ev1} - Requested start soc from api: 45%
2025-02-16 14:54:10,113 - {modules.common.configurable_vehicle:80} - {DEBUG:fetch soc_ev1} - Not updating SoC, because timestamp is older.
rleidner
Beiträge: 1142
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 9 times
Been thanked: 62 times

Re: SOC BMW

Beitrag von rleidner »

Danke für die Rückmeldung:
Das mit dem Zeitstempel ist ein temporärer Effekt.
Im core der owb2 wird seit kurzem der soc_timestamp vom SoC-Modul übernommen und ausgewertet.
Wenn der gemeldete soc_timestamp älter als der gespeicherte ist, wird nicht upgedated.
In dem PR wird jetzt der soc_timestamp im SoC-Modul von CD übernommen und im CarState gesetzt.
Für das EV im Log wurde dies von CD geholt:
2025-02-16 14:54:10,107 - {modules.vehicles.bmwbc.api:228} - {INFO:fetch soc_ev1} - SOC/Range: 45%/70.0KM@2025-02-15T19:41:26Z
In der vorigen Version wurde der aktuelle Timestamp der letzten SoC-Abfrage genommen, also vermutlich irgendwann nachts.
Der war dann jünger als der jetzt von CD geholte.
Sobald das EV bewegt oder geladen wurde wird sich das einspielen.

Dass die Sessions immer noch geschlossen werden ist interessant.
Für mich sieht das so aus, als wenn der CD-Server immer wieder mal Sessions ungültig macht, wenn zu viele Sessions offen sind.
Jede "App" macht eine Session auf, d.h. jeder Mobiltelefon mit CD App, jede weitere Anwendung, die sich wie die App verhält.
Bei meinem "Test-Account" sieht es so aus:
- installiert auf einem Mobil-Gerät,
- installiert auf einer openWB mit dem BMW-SoC-Modul,
- meine openWB 2.x Testinstanz,
- meine openWB 1.9 Testinstanz,
Also insgesamt 4 gleichzeitig laufende Apps/Sessions.
Ich kann bei dem test-Account keine Probleme mit Session-Abbrüchen feststellen.

Es würde Sinn machen, wenn die von häufigen Session-Abbrüchen betroffenen User die Anzahl der gleichzeitig laufenden Apps zählen und hier melden.
Vielleicht ergibt sich daraus ein Muster oder Hinweis.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
gdfde
Beiträge: 118
Registriert: So Mär 10, 2019 1:05 pm
Has thanked: 5 times
Been thanked: 1 time

Re: SOC BMW

Beitrag von gdfde »

heidanei hat geschrieben: So Feb 16, 2025 9:04 am nachdem heute über Nacht schon wieder der Token eines meiner Fahrzeuge ungültig wurde - warum auch immer.
Bei mir auch.
rleidner hat geschrieben: So Feb 16, 2025 4:08 pm Es würde Sinn machen, wenn die von häufigen Session-Abbrüchen betroffenen User die Anzahl der gleichzeitig laufenden Apps zählen und hier melden.
Vielleicht ergibt sich daraus ein Muster oder Hinweis.
Ich hab die openWB, die CD App, Tronity und IP-Symcon, die regelmässig abfragen.
Wie schon erwähnt, manchmal läufts 2 Wochen ohne Probleme, dann nur ein paar Tage.
heidanei
Beiträge: 127
Registriert: So Mai 02, 2021 5:42 pm
Has thanked: 10 times
Been thanked: 2 times

Re: SOC BMW

Beitrag von heidanei »

Hi!
rleidner hat geschrieben: So Feb 16, 2025 4:08 pm Das mit dem Zeitstempel ist ein temporärer Effekt.
...
Sobald das EV bewegt oder geladen wurde wird sich das einspielen.
Danke für die Erklärung wg. Timestamp, und dass sich daran was geändert hat. Ich dachte mir schon dass es daran liegt dass das Fzg. heute noch nicht bewegt wurde, aber da das in der Vergangenheit auch nichts ausgemacht hat, hatte ich das erstmal vernachlässigt. Jetzt weiß ich wo das Problem herkommt und werde dem neuen Modul nochmal eine Chance geben. inzwischen ist $EHEFRAU auch mit dem i3 unterwegs, das "Problem" sollte sich also erledigt haben. ;)
Es würde Sinn machen, wenn die von häufigen Session-Abbrüchen betroffenen User die Anzahl der gleichzeitig laufenden Apps zählen und hier melden.
Vielleicht ergibt sich daraus ein Muster oder Hinweis.
Also bei mir nutzen den BMW-Account:
- MyBMW-App auf meinem Handy (Android)
- MyBMW-App auf dem Handy meiner Frau (iPhone)
- die produktive OpenWB-VM.
- meine Test-OpenWB-VM (sehr selten)

Also wirklich täglich genutzt werden hier nur zwei Sessions. Aber in letzter Zeit "hält" so ein Token nur noch ein par Tage. Auffällig ist, dass der i3 meiner Frau wesentlich öfters nach neuem Token verlangt als mein iX1. Sie nutzt die App auf ihrem Handy auch nur sehr selten. Wir verwenden beide den gleichen Account auf beiden Handies.

Viele Grüße. heidanei
rleidner
Beiträge: 1142
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 9 times
Been thanked: 62 times

Re: SOC BMW

Beitrag von rleidner »

Das ist immer noch recht mysteriös.

Ich habe jetzt eine weitere Änderung eingebaut: Wenn das MyBMWAccount Object erzeugt wird, wird darauf ein set_refresh_token durchgeführt. Das sollte eigentlich nicht mehr nötig sein, das diese Daten vorher schon im MyBMWAuthentication gesetzt wurden, aber man weiß ja nie...

Interessant wäre auch, ob das Neuanmelden auch in der 1.9 so oft nötig ist. Dort wird bimmer_connected (bc) ja nicht benutzt sondern die gesamte Logik ist "DIY".
Anders als in 2.x mit bc wird in der 1.9 die expiration der Token ausgewertet und "rechtzeitig" ein refresh ausgelöst BEVOR die Fahrzeugdaten abgerufen werden.
In 2.x mit bc wird wohl erst versucht die Fahrzeugdaten abzurufen und wenn das schief geht wird ein Refresh der Token gemacht, das wohl manchmal fehlschlägt.
Ich muss mal sehen ob man einen Refresh der Token dort auch direkt auslösen kann, wenn die expiration der Token ansteht.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
tomtom69
Beiträge: 25
Registriert: Mi Apr 24, 2024 7:10 am
Has thanked: 2 times

Re: SOC BMW

Beitrag von tomtom69 »

Hallo,
rleidner hat geschrieben: So Feb 16, 2025 4:08 pm Es würde Sinn machen, wenn die von häufigen Session-Abbrüchen betroffenen User die Anzahl der gleichzeitig laufenden Apps zählen und hier melden.
Vielleicht ergibt sich daraus ein Muster oder Hinweis.
Ich hatte den letzten Abbruch am 13.02.25, so gegen 17:00
Fehler war der gleiche wie davor schon, nach Erneuerung des Tokens funktionierte der SoC dann sofort wieder.
Ich bin auf Version 2.1.7-RC.1
Außer der OpenWB habe ich kein Gerät angemledet bei BMW.

Grüße
Tom
rleidner
Beiträge: 1142
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 9 times
Been thanked: 62 times

Re: SOC BMW

Beitrag von rleidner »

Ich habe im PR (2.x, wird vermutlich erst in 2.1.8 gemerged) jetzt eingebaut, dass die Token pro-aktiv refreshed werden (bc: login), wenn der "expires_at" Zeitstempel erreicht ist.
https://github.com/openWB/core/pull/2208

Zusätzlich werden im soc.log auf INFO level ausgegeben:
- expires_at/refresh_token vor Refresh
- expires_at/refresh_token nach Refresh
- expires_at/refresh_token nach dem Speichern.
Die expires_at Zeitstempel weren in UTC gezeigt, also momentan unsere lokale Zeit - 1 Stunde

Empfehlung für die User mit häufigen Neu-Anmeldungen per Captcha:
In System/Fehlersuche den Debug Level auf Info einstellen.
Damit kann man im Soc-Log für einen längeren Zeitraum die Token Refresh nachvollziehen.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Johnny79
Beiträge: 2
Registriert: Mi Feb 19, 2025 6:59 pm

Re: SOC BMW

Beitrag von Johnny79 »

rleidner hat geschrieben: Mo Feb 17, 2025 10:58 am Interessant wäre auch, ob das Neuanmelden auch in der 1.9 so oft nötig ist. Dort wird bimmer_connected (bc) ja nicht benutzt sondern die gesamte Logik ist "DIY".
Mit der Version 1.9 funktioniert der SoC-Abruf seit über 2 Monaten problemlos. Also seit die Änderung implementiert wurde. Alles erste Sahne. :)
Antworten