ta2k / iobroker.bmw Goto Github PK
View Code? Open in Web Editor NEWioBroker Adapter for BMW
License: MIT License
ioBroker Adapter for BMW
License: MIT License
Describe the bug
Log shows "Login failed" and according messages.
To Reproduce
Steps to reproduce the behavior:
Start the plugin and wait. No further changes required to the former working setup.
Expected behavior
Flawless login and api response.
Screenshots & Logfiles
bmw.0 | 2023-06-07 08:08:25.185 | error | undefined
bmw.0 | 2023-06-07 08:08:25.185 | error | Start relogin in 5min
bmw.0 | 2023-06-07 08:08:25.184 | error | Please check username and password or too many logins in 5 minutes
bmw.0 | 2023-06-07 08:08:25.184 | error | {"error":"invalid_client","error_description":"Client authentication failed (e.g., login failure, unknown client, no client authentication included or unsupported authentication method)"}
bmw.0 | 2023-06-07 08:08:25.184 | error | AxiosError: Request failed with status code 401
bmw.0 | 2023-06-07 08:08:25.183 | error | Login failed
Versions:
Additional context
BMW mentions that the price model for the API "AOS" changes since May 23 ( https://bmw-cardata.bmwgroup.com/thirdparty/public/car-data/pricing ). Still the MyBMW App on iOS is running for free.
Settings:
Interval: 15 minutes intervals are set.
Brand: BMW
It seems like BMW has changed the API again, my log only shows the following:
bmw.0 | 2022-05-28 07:19:44.570 | error | Error: Request failed with status code 403
-- | -- | -- | --
bmw.0 | 2022-05-28 07:19:44.570 | error | getvehicles v2 failed
Other users of the API (for OpenWB) had to change the requester to version 2.5, since BMW just release this version for their app, maybe this is the problem here as well.
Versions:
Since a some days the BMW vehicle data is not available anymore. Maybe BMW changed the API endpoints, so need to be adapted.
BMW App is working fine.
Below the error code in ioBorker.
{"statusCode":404,"message":"Resource not found"}
AxiosError: Request failed with status code 404
getvehicles v2 failed
Version: stable=2.5.7 (295 days old) => latest=2.6.1 (15 days old)
Installs: stable=915 (63.67%), latest=267 (18.58%), total=1437
Click to edit
Describe the bug
POST /gcdm/oauth/authenticate
results in HTTP/1.1 401 Unauthorized
To Reproduce
Try any BMW or Mini login
Since I am using IO Broker for home automation with solar energy and a electric vehicle would be great to set the charging schedule for BMW electric vehicles according to the available power from solar energy. Therefore the charging schedule of the vehicle will need to be added to the adapter. I also found some description already here:
https://github.com/edent/BMW-i-Remote#charging-schedule
Version: stable=2.5.7 (332 days old) => latest=2.6.2 (15 days old)
Installs: stable=825 (56.86%), latest=153 (10.54%), total=1451
Click to edit
Please use tags für the version corresponding to the package published in npmjs.
This makes changes in the source code easier.
Dear Adapter developer,
with js-controller 4.0 object definitions are now also checked that min/max in only provided for number/mixed objects and that the type of the default value matches to the object type.
If something is not correct this is logged as 'warning' or 'info' log.
Please also make sure to update to the lastest @iobroker/testing dependency 2.5.4 or to accept the PR from Apollon77 for legacy testing!
Please spent some time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn or info log there from these checks please adjust the adapter and fix the relevant cases.
For questions please refer to ioBroker/ioBroker.js-controller#1749
Please close the issue after you checked it.
Thank you very much for your support to get the best experience for the growing numbers of ioBroker users!
Not sure if this was in a past version or another software... but I remember that I saw image URLs in one of the BMW adapters. This would be cool for the visualizations and I know that the BMW APIs can provide the image URLs.
Bei mir klappt die V 2.6.0 nicht !
Properties fehlen.
Kommen diese noch ?
Hi,
I'm using your bmw-adapter (v2.0.0) but I did not get fresh data. in object "bmw.0._LetzerFehler" is the following value: "2021-08-07@14:31:06: "RequestVehicles Error to get data for Vehicles : 'Service unavailable. Please try later from www.bmw-connecteddrive.com'!""
The BMW-account is connected to a F11.
What can i do to solve issue?
Greetings
Thomas
Version: stable=2.5.7 (453 days old) => latest=2.7.2 (15 days old)
Installs: stable=743 (48.22%), latest=210 (13.63%), total=1541
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
BMW Fahrzeug wurde in letzter Version angezeigt, aber Inhalte nicht mehr aktualisiert.
ADAPTER gelöscht und neue Version erneut installiert. --Y Host und Lebeszeichen grün, aber Verbunden mit Gerät oder Dienst rot
BMW-PW abgeändert, gleiches Ergebnis
Siehe Screenshots
Wäre Super, wenn ihr mir helfen könntet, oder die Fehlerursache beheben würdet
Danke
Hi, I do not know if I am doing something wrong but the datapoint "inMotion" (bmw.0.xxx.properties.inMotion) is alway false.
I what to get a notification when the car is in my driveway, the engine is off and the car is not locked (well you can gues why).
While driving the position is not been updated so I thought I could use inMotion:
bmw.0.xxx.properties.inMotion = false
bmw.0.xxx.properties.vehicleLocation.address.formatted = myStreet
bmw.0.xxx.properties.areDoorsLocked = false
Is there any other way to figure out if the car engine in runing or the car is moving?
A while back there was a datapoint that gave the reason why the status was updated but that datapoint went away in an update
Version: stable=2.0.0 (55 days old) => latest=2.1.1 (30 days old)
Installs: stable=412 (46.29%), latest=126 (14.16%), total=890
Click to edit
Describe the bug
The adapter does not retrieve data some time after the start. An error "Out of call volume quota" is logged, see attached log file. The log entry also specifies the time duration after which the the quota will be replenished. At this point in time, new data are retrieved for some time, until the quota is exceeded again.
To Reproduce
the error occurs consistently.
Screenshots & Logfiles
see attached logile.
Versions:
Additional context
The adapter worked finde until a few days ago.
iobroker.2022-09-21.log.pdf
Hallo,
seit einigen Wochen bekomme ich solche Errors im Log:
bmw.0 | 2023-07-02 16:31:48.234 | info | terminating |
---|---|---|---|
bmw.0 | 2023-07-02 16:31:47.731 | warn | Terminated (UNCAUGHT_EXCEPTION): Without reason |
bmw.0 | 2023-07-02 16:31:47.730 | info | terminating |
bmw.0 | 2023-07-02 16:31:47.656 | error | Bad number |
bmw.0 | 2023-07-02 16:31:47.655 | error | unhandled promise rejection: Bad number |
bmw.0 | 2023-07-02 16:31:47.654 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). |
bmw.0 | 2023-07-02 16:31:41.473 | info | Found 1 bmw vehicles |
bmw.0 | 2023-07-02 16:31:40.766 | info | Start getting bmw vehicles |
bmw.0 | 2023-07-02 16:31:39.980 | info | starting. Version 2.6.1 in /opt/iobroker/node_modules/iobroker.bmw, node: v16.20.0, js-controller: 5.0.5 |
Danach geht der Adapter auf Rot.
Irgendeine Idee woran es liegen könnte?
ioBroker ist komplett aktualisiert.
Describe the bug
VIN.properties.chargingState.chargePercentage seems to be obsolete and it's never gonna updated anymore . The new object and attributes are:
"electricChargingState": {
"chargingLevelPercent": 43,
"chargingStatus": "NOT_CHARGING",
"chargingTarget": 100,
"isChargerConnected": true,
"range": 215
I used bimmerconnected dumping the entire JSON Object from BMW's server.
Hope it helps !
Best,
Christian
Dear all,
fantastic adapter! Many thanks for creating it.
Getting the charging history is great. Currently it is human readable and good use in a GUI - i guess.
Writing the data to a database isnt that easy though. One would need to create scanning code in say node-red to find new data, parse string to number and push the number into the DB.
Could you create such code at the source/the apater, please?
Data could then be pushed into influxDB directly when updated. No code needed for users.
Thanks for reading and considering this request.
❗ [E606] Current adapter version 2.6.2 not found in README.md
❗ [E605] No actual year found in copyright. Please add "Copyright (c) 2023 TA2k [email protected]" at the end of README.md
❗ [E701] No actual year found in LICENSE. Please add "Copyright (c) 2023 TA2k [email protected]" at the start of LICENSE
👀 [W105] "common.titleLang" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
👀 [W109] "common.desc" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
👀 [W145] Each "common.news" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
👀 [W513] "gulpfile.js" found in repo! Think about migrating to @iobroker/adapter-dev package
Version: stable=2.5.7 (408 days old) => latest=2.6.3 (15 days old)
Installs: stable=754 (49.83%), latest=161 (10.64%), total=1513
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
Hej,
leider finde ich keine Informationen über die Klima. Läuft sie, Läuft sie nicht, usw.
Bin ich blind oder gibt es keine Informationen darüber? :D
VG
I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/TA2k/ioBroker.bmw
Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info
In the ioBroker protokoll every 5 minutes the following is printed:
bmw.0 | 2022-10-16 17:00:42.708 | info | Found 1 bmw vehicles
To Reproduce
Steps to reproduce the behavior:
Expected behavior
This info is not needed, only at restart or config change
Versions:
Beim Neustart des Adapters ist dieser zwar grün, aktualisiert aber die Werte nicht. Nach einem erneuten Neustart des Adapters funktioniert es meistens.
Das ist ganz sporadisch, mal geht's, mal auch nicht nach dem Neustart. Ich habe noch keinen Zusammenhang feststellen können.
Evtl. benötigt der Adapter nach einem Neustart eine positive Rückmeldung von BMW bevor dieser in die Aktualisierungsroutine übergeht?
Version: stable=2.5.7 (487 days old) => latest=2.8.0 (15 days old)
Installs: stable=707 (45.94%), latest=187 (12.15%), total=1539
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
Do not close this issue manually as a new issue will be created if condition for update still exists
@mcm1957 for evidence
In version 2.6.0, activating 'force-refresh' does not update the BMW data points any more.
According to the debug entry, 'force-refresh' only updates the entries in "mappingInfo" and in "attributes".
In contrast, the regular update driven by the adapter itself (via the time intervall set there) activates the entries in "state".
Would be great if that can be corrected.
Im aktuellen BMW-Adapter (Version 2.7.2) wird kein Service-Bedarf mehr angezeigt. In der vorhergehenden Version (bevor die BMW-API umgestellt wurde) gab es dafür die Datenpunkte unter 'bmw.0.VIN.properties.serviceRequiredxx'.
Über die BMW-App werden diese Datenpunkte nach wie vor aufgelistet; siehe den Screenshot anbei.
Gibt es in den BMW-API-Daten, die die ioBroker-App empfängt, diese Information nicht mehr?
Ich habe Edomi im Einsatz und benutze deshalb iobroker zur Datensammlung, z.B. VWConnect. Hier übergebe ich ein Raw Json
an Edomi und werte das in Edomi aus. Nun ist noch ein Mini Cooper SE dazugekommen, den ich mit diesem super Adapter auch auslesen kann . Nur hier gibt es kein Raw Json, somit muss ich die Werte alle einzeln an Edomi übergeben, was sehr aufwändig und fehlerträchtig ist.
Wäre es möglich auch hier ein Raw Json für alle Werte zu implementieren ? Wäre eine tolle Sache !
The adapter shows in the log:
State value to set for "bmw.0.XXXXXXXXXXXXXXXXX.status.fuelIndicators02.rangeValue" has to be type "number" but received type "string"
(the car is a PEV!)
Looks like the data type is not set correctly.
Adapter version: 2.5.7
Der Adapter lässt sich nicht starten.
Vor dem Umstieg lief der alte Adapter https://github.com/frankjoke/ioBroker.bmw in V1.4.1 ohne Probleme.
Einträge im Log:
2021-08-18 21:18:02.858 - info: bmw.0 (15278) starting. Version 2.1.0 in /opt/iobroker/node_modules/iobroker.bmw, node: v12.22.2, js-controller: 3.2.16
--
2021-08-18 21:18:03.188 - error: bmw.0 (15278) Error: Request failed with status code 400
2021-08-18 21:18:03.189 - error: bmw.0 (15278) {"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"}
2021-08-18 21:18:03.189 - error: bmw.0 (15278) undefined
Describe the bug
I noticed since several days that the information about BMW stats does not changed in the vis.
Today after updating raspi (also nodejs to 16.16) i have a look to this problem. There are error messages in protocol "getvehicles v2 failed .... and status code 403".
I uninstall adapter and reinstall again, enter mail and password ... same negative result. But the state indicator in the instance list says "green".
To Reproduce
On my installation start the bmw adapter .. no further actions required.
Expected behavior
adapter normally working ... and give me the infos about our bmw.
Screenshots & Logfiles
Logfile:
2022-07-24 19:03:35.417 - info: host.raspi1 iobroker host.raspi1 create instance bmw
2022-07-24 19:03:35.438 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.alive created
2022-07-24 19:03:35.451 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.connected created
2022-07-24 19:03:35.463 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.compactMode created
2022-07-24 19:03:35.477 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.cpu created
2022-07-24 19:03:35.490 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.cputime created
2022-07-24 19:03:35.506 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.memHeapUsed created
2022-07-24 19:03:35.519 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.memHeapTotal created
2022-07-24 19:03:35.531 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.memRss created
2022-07-24 19:03:35.545 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.uptime created
2022-07-24 19:03:35.557 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.inputCount created
2022-07-24 19:03:35.568 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.outputCount created
2022-07-24 19:03:35.579 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.eventLoopLag created
2022-07-24 19:03:35.591 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.sigKill created
2022-07-24 19:03:35.602 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0.logLevel created
2022-07-24 19:03:35.612 - info: host.raspi1 iobroker host.raspi1 object bmw.0.info created
2022-07-24 19:03:35.622 - info: host.raspi1 iobroker host.raspi1 object bmw.0.info.connection created
2022-07-24 19:03:35.631 - info: host.raspi1 iobroker host.raspi1 Set default value of bmw.0.info.connection: false
2022-07-24 19:03:35.647 - info: host.raspi1 iobroker host.raspi1 object system.adapter.bmw.0 created
2022-07-24 19:03:36.680 - info: host.raspi1 iobroker exit 0
2022-07-24 19:03:39.642 - info: host.raspi1 instance system.adapter.bmw.0 started with pid 27377
2022-07-24 19:03:43.985 - info: bmw.0 (27377) starting. Version 2.5.4 in /opt/iobroker/node_modules/iobroker.bmw, node: v16.16.0, js-controller: 4.0.23
2022-07-24 19:03:44.030 - error: bmw.0 (27377) Please set username and password
2022-07-24 19:04:05.975 - info: host.raspi1 stopInstance system.adapter.bmw.0 (force=false, process=true)
2022-07-24 19:04:05.983 - info: host.raspi1 stopInstance system.adapter.bmw.0 send kill signal
2022-07-24 19:04:05.992 - info: bmw.0 (27377) Got terminate signal TERMINATE_YOURSELF
2022-07-24 19:04:05.996 - info: bmw.0 (27377) terminating
2022-07-24 19:04:06.000 - info: bmw.0 (27377) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
2022-07-24 19:04:06.728 - info: host.raspi1 instance system.adapter.bmw.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
2022-07-24 19:04:09.169 - info: host.raspi1 instance system.adapter.bmw.0 started with pid 27422
2022-07-24 19:04:12.639 - info: bmw.0 (27422) starting. Version 2.5.4 in /opt/iobroker/node_modules/iobroker.bmw, node: v16.16.0, js-controller: 4.0.23
2022-07-24 19:04:13.522 - error: bmw.0 (27422) getvehicles v2 failed
2022-07-24 19:04:13.522 - error: bmw.0 (27422) Error: Request failed with status code 403
2022-07-24 19:04:13.523 - error: bmw.0 (27422) ""
2022-07-24 19:04:13.653 - error: bmw.0 (27422) getvehicles v2 failed
2022-07-24 19:04:13.654 - error: bmw.0 (27422) Error: Request failed with status code 403
2022-07-24 19:04:13.655 - error: bmw.0 (27422) ""
Versions:
Additional context
Adapter runs several months without problems ... since several days this problem
Describe the Request
In order to correctly calculate the needed Amount of Energy for the Wallbox i.e. to reach 80% Charge Level of a BEV we need to know the current SOC in the moment (or shortly after) Pluging in. With the current Polling-Mechanism this might take some time (Minutes). In order to have an accurate SOC.
When setting the Polling Interval too short, the API will complain with Quota Exceeded and a possible long Wait-Time (that the current Adapter 2.5.5 does not handle well).
Proposed Solution
Still use the Polling Time but default it to a rather high default Time (5 Min +).
Have a Trigger that might be triggered from JS / NodeRed in order to fetch current Data to represent actual Data (incl. SOC) for instance when charging starts. This might be as well used to trigger a Check if all Doors/Windows are closed when using Presence Check in the Home.
Describe the bug
Possible error in automatic translation
bmw.0.WBAxxxxxxxxx.properties.vehicleLocation.heading is translated to 'Überschrift'.
Expected behavior
Should be 'Richtung'
Versions:
bmw.0 | 2023-07-05 15:21:33.783 | error | {"statusCode":408,"message":"Request Timeout"}
bmw.0 | 2023-07-05 15:21:33.783 | error | AxiosError: Request failed with status code 408
bmw.0 | 2023-07-05 15:21:33.782 | error | update failed
bmw.0 | 2023-07-05 15:11:33.657 | error | {"statusCode":408,"message":"Request Timeout"}
bmw.0 | 2023-07-05 15:11:33.657 | error | AxiosError: Request failed with status code 408
Refresh steht auf 5 Minuten, Fehler kommt alle 10 Minuten.
bmw.0.?????????????.remotev2.vehicle-finder auf true gesetzt. Es wird kein lat und lon angezeigt. es gibt keinen stat in iobroker dafür. Im Debuglog erscheint nur folgendes:
Dieses funktioniert mit meinem Fahrzeug: https://bimmer-connected.readthedocs.io/en/latest/
Wird verwendet vom HASS Projekt: https://www.home-assistant.io/integrations/bmw_connected_drive/
Versions:
Describe the bug
v2.4.1 does not connect to BMW backend
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Adapter should connect to BMW backend
Versions:
Additional context
Add any other context about the problem here.
After updating to 2.4.1 and reconfiguring the password, I can connect again to BMW, but it only says "Please use remotev2 to control", and does not update the data.
bmw.0 | 2021-11-13 22:51:49.568 | warn | Please use remotev2 to control
bmw.0 | 2021-11-13 22:51:31.410 | info | starting. Version 2.4.1 in /opt/iobroker/node_modules/iobroker.bmw, node: v12.22.6, js-controller: 3.2.16
Any idea?
Describe the bug
In a new month the next directory in bmw.0.[VIN].chargingSessions.YYYY-MM gets created.
Unfortunately it then also contain the previous months data, which was copied over (so from MM-1).
Next steps then are all fine: New charging sessions get added correctly. The totals are correctly including the MM month, only.
To Reproduce
Wait for a new month with charging sessions in current month
Expected behavior
to not double/copy over the MM-1 data
Screenshots & Logfiles
none
Versions:
Additional context
Its a great adapter - I can only recommend it.
Many thanks to all involved creating and maintaining it. Keep up the good work!
Dear developer,
I would like to use the remoteV2 order system in order to adjust the refresh interval and force a refresh via a blocky script.
It is described that the adress bmw.0.VIN.remotev2 is used for these orders but I don't have a clue how these orders which would be written to this adress have to look like.
Please apologise my probably unnessecary question but I really would like also be able to adjust the control rate of the adapter.
Best regards
MSPtrs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.