Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

AntwortenAntworten Options Options Arrow

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

Orbit
  • Beiträge: 232
  • Registriert: Mo 10. Jul 2017, 11:02
  • Wohnort: Oslo, Norwegen
  • Hat sich bedankt: 8 Mal
  • Danke erhalten: 83 Mal
read
Ich habe es in beEnergyLevelHv geändert, was meiner meinung nach die ursprüngliche absicht war. Dazu muss auch accumulateData() entsprechend geändert werden.
Capture.JPG
Capture.JPG (16.79 KiB) 1304 mal betrachtet
Anzeige

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

USER_AVATAR
  • axm
  • Beiträge: 16
  • Registriert: Mi 23. Sep 2020, 09:23
  • Hat sich bedankt: 6 Mal
  • Danke erhalten: 9 Mal
read
Lustig, das ist mir bis grad gar nicht aufgefallen. :D

@Orbit Bist du Dir sicher, dass beEnergyLevelHv der richtige Parameter ist?
Ich lade den i3 aktuell und folgende Werte kann ich jetzt gerade loggen:

Code: Alles auswählen

...
"beEnergyLevelHv":"4.831"
"beChargingLevelHv":"40"
"chargingLevelHv":"40"
"socmax":38.84
"soc":40
...
Letztendlich ist wohl folgendes als Zeile 216 richtig:

Code: Alles auswählen

let batteryText = batteryStack.addText(Math.floor(data.chargingLevelHv) + '% - ' + (Math.floor(data.socmax * data.soc / 100)) + ' kWh')
Dabei kommt dann folgendes raus:
IMG_9925.jpg
Hier noch mal komplett:
Datei BMWi3.js
(20.45 KiB) 125-mal heruntergeladen

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

REX-limited
  • Beiträge: 134
  • Registriert: Mi 17. Okt 2018, 07:30
  • Wohnort: Dortmund
  • Hat sich bedankt: 37 Mal
  • Danke erhalten: 71 Mal
read
Ich musste die Zeile nach ein Paar Tests noch mal anpassen, jetzt sollte es passen:

original:
let batteryText = batteryStack.addText(Math.floor(data.chargingLevelHv) + '% - ' + (Math.floor(data.soc*100)/100) + ' kWh')

2.Version:
let batteryText = batteryStack.addText(Math.floor(data.chargingLevelHv) + '% - ' + (Math.floor(data.socmax*data.chargingLevelHv)/100) + ' kWh')

Keine weiteren Änderungen im Script notwendig, nur diese eine Zeile ändern.
Dateianhänge
IMG_2913.jpg
Zuletzt geändert von REX-limited am Do 18. Mär 2021, 13:47, insgesamt 2-mal geändert.
BMW i3 60Ah REX 11/2015, ionic silver, Suite - 4 x Rad 430 5,5x20 ET53 + Imperial AllSeason 195/55/20 - SCC-Spurplatten VA30/HA40 mm, H&R Federn - Retrofit: Apple Carplay, Aktiv-Subwoofer, Wireless Charging, A-Säulen innen schwarz, BMW i8 Lenkrad

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

Orbit
  • Beiträge: 232
  • Registriert: Mo 10. Jul 2017, 11:02
  • Wohnort: Oslo, Norwegen
  • Hat sich bedankt: 8 Mal
  • Danke erhalten: 83 Mal
read
axm hat geschrieben: Lustig, das ist mir bis grad gar nicht aufgefallen. :D

@Orbit Bist du Dir sicher, dass beEnergyLevelHv der richtige Parameter ist?
Ich lade den i3 aktuell und folgende Werte kann ich jetzt gerade loggen:
Ich bekomme jetzt folgende werte (nach der benutzung des autos seit dem letzten screenshot ). Ich vermute, dass diejenigen parameter mit dem präfix "be ..." berechnete werte sind:

Code: Alles auswählen

...
socmax			27.82
soc			86
chargingLevelHv		86
beChargingLevelHv	86
beEnergyLevelHv		23.7
...
socmax * chargingLevelHv = 23.9, ungefähr das gleiche wie beEnergyLevelHv (innerhalb des rundungsfehlers). Wie angegeben, muss er auch in accumulateData() hinzugefügt werden, um verfügbar zu sein

Code: Alles auswählen

                result.chargingLevelHv = data.chargingLevelHv
                result.beEnergyLevelHv = data.beEnergyLevelHv
                result.soc_hv_percent = data.soc_hv_percent
                result.socmax = dataSOC.socmax
                result.soc = dataSOC.soc
Und dann

Code: Alles auswählen

let batteryText = batteryStack.addText(Math.floor(data.chargingLevelHv) + '% - ' + data.beEnergyLevelHv + ' kWh')

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

makreli
  • Beiträge: 8
  • Registriert: So 2. Aug 2020, 00:19
  • Hat sich bedankt: 1 Mal
read
ich habe mehrere Fahrzeuge in meinem CD Account, wie wähle ich den i3 aus?
und wie stelle ich die Farbe des Widgets auf Schwarz um?

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

REX-limited
  • Beiträge: 134
  • Registriert: Mi 17. Okt 2018, 07:30
  • Wohnort: Dortmund
  • Hat sich bedankt: 37 Mal
  • Danke erhalten: 71 Mal
read
Die Farbe des Widgets läßt sich auf schwarz umstellen, wenn du das dunkle Erscheinungsbild bei Apple (unter Einstellungen/Anzeige & Helligkeit) gewählt hast.
Wenn du unabhängig von den Handy-Einstellungen das Widget dauerhaft auf schwarz stellen willst muss du im Script folgende Zeilen ändern:

original:
if(Device.isUsingDarkAppearance()) {
bgColor = '#000000'
fgColor = '#FFFFFF'
}

modifiziert:
if(Device.isUsingDarkAppearance()) {
}
bgColor = '#000000'
fgColor = '#FFFFFF'

Also nur die geschweifte Klammer versetzen.

Die Auswahl des Fahrzeugs geht über die vin-Nummer. Wenn bei mehreren Fahrzeugen keine Auswahl kommt, würde ich im Script an der Stelle wo die vin-Nummer gesetzt wird (vin = ...) einfach die vin-Nummer des gewünschten Fahrzeugs statisch reinschreiben und dann das Widget mal starten.
Da ich selbst nur ein Fahrzeug habe, konnten ich das aber nicht ausprobiert, da muss man wohl noch etwas testen, vielleicht hat jemand ja schon dasselbe Problem gelöst.
BMW i3 60Ah REX 11/2015, ionic silver, Suite - 4 x Rad 430 5,5x20 ET53 + Imperial AllSeason 195/55/20 - SCC-Spurplatten VA30/HA40 mm, H&R Federn - Retrofit: Apple Carplay, Aktiv-Subwoofer, Wireless Charging, A-Säulen innen schwarz, BMW i8 Lenkrad

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

Orbit
  • Beiträge: 232
  • Registriert: Mo 10. Jul 2017, 11:02
  • Wohnort: Oslo, Norwegen
  • Hat sich bedankt: 8 Mal
  • Danke erhalten: 83 Mal
read
Orbit hat geschrieben:
axm hat geschrieben: Lustig, das ist mir bis grad gar nicht aufgefallen. :D

@Orbit Bist du Dir sicher, dass beEnergyLevelHv der richtige Parameter ist?
Ich lade den i3 aktuell und folgende Werte kann ich jetzt gerade loggen:
Möglicherweise wird beEnergyLevelHv beim laden nicht aktualisiert ....

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

USER_AVATAR
read
Bisher wurde der Wert beim Laden mit einem berechneten Wert aktualisiert. Der Wert des BMS kam erst mit Ladeabschluß (bzw. zwischendurch mit der einmaligen Aktualisierung).

beEnergyLevelHv liefert auch bei mir (ohne Ladevorgang) keinen präzisen Wert:

socmax: 37,78 kWh
soc_hv: 40%
soc: 37%

beEnergyLevelHv 12.571kWh

Erwarten würde ich 37,78 kWh * 0,37 >= 13,98 kWh

Vielleicht rechnet auch das Portal den neuen Wert einfach falsch aus.

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

REX-limited
  • Beiträge: 134
  • Registriert: Mi 17. Okt 2018, 07:30
  • Wohnort: Dortmund
  • Hat sich bedankt: 37 Mal
  • Danke erhalten: 71 Mal
read
Deshalb errechne ich die prozentualen kWh aus dem socmax (kWh) und den soc (%) , dann kommt immer der korrekte Wert raus:

let batteryText = batteryStack.addText(Math.floor(data.chargingLevelHv) + '% - ' + (Math.floor(data.socmax*data.chargingLevelHv)/100) + ' kWh')

In deinem Beispiel:
Math.floor(37,78 * 37) / 100 = 13,98 kWh

wobei Math.floor die Dezimalstelle bei der Multiplikation abschneidet, was nach der Division durch 100 dem Runden auf 2 Nachkommastellen entspricht.
BMW i3 60Ah REX 11/2015, ionic silver, Suite - 4 x Rad 430 5,5x20 ET53 + Imperial AllSeason 195/55/20 - SCC-Spurplatten VA30/HA40 mm, H&R Federn - Retrofit: Apple Carplay, Aktiv-Subwoofer, Wireless Charging, A-Säulen innen schwarz, BMW i8 Lenkrad

Re: Geniales iOS14 Homescreen Widget Script für SoC, Reichweite, usw.

USER_AVATAR
  • Zoelibat
  • Beiträge: 4362
  • Registriert: Mi 27. Aug 2014, 23:03
  • Wohnort: Zoe (Rückbank)
  • Hat sich bedankt: 283 Mal
  • Danke erhalten: 213 Mal
read
Bin ich der einzige, bei dem das Widget aktuell nicht funktioniert? TypeError bekomm ich.
Anzeige
AntwortenAntworten

Zurück zu „i3 - Allgemeine Themen“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag