Auslesen der BMW-Daten mit FHEM (225xe)

  • hallo.
    debuggen folgendermaßen :


    connecteddrive webseite aufrufen, dann im firefox od. Chrome f12 drücken, öffnet sich debugfenster, dann im connecteddrive einloggen und im debugfenster mitlesen ob deine daten mit den vom fhem übereinstimmen. vin, userdaten mit set xxxxx einrichten

    Daten habe ich überprüft und die scheinen zu stimmen. Wo kann ich sehen welcher Aufruf nicht klappt bzw. wo genau FHEM hängen bleibt?


    Vielen Dank!

  • Hallo.
    SO, jetzt bekomme ich endlich mehr daten, bzw. haben sich einige vertschüsst.
    Grund, ich habe div. states manuel gesetzt, wie brand, driveTrain, etc.
    habe nämlich im BMWUtils.pm gesehen das diese Werte benötigt werden um andere abfragen darzustellen.


    LG

  • Hallo @i3driver,


    1x {BMW_RequestBMWDescription();;} ausführen sollte Dir diese Daten holen.
    Steht oben im Beitrag.



    Ich kann leider den ersten Beitrag nicht mehr editieren... as ist nach ca. 24h gesperrt. :(

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

  • aha, danke.
    aber dann bekomme ich das

    Code
    JSON error at line 1, byte 290/295: Unexpected character ',' parsing object starting from byte 1: expecting whitespace: '\n', '\r', '\t', ' ' or value separator: ':' at ./FHEM/99_myBMWUtils.pm line 1119
  • Hallo nochmals.
    Wie bekomme ich diese Werte angezeigt?


    Code
    {"communitySwitch":false,"modelType":"I3","scoreList":[{"attrName":"AVERAGE_ELECTRIC_CONSUMPTION","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":40.0,"lifeTime":13.9},{"attrName":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":20.0,"lifeTime":3.7},{"attrName":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","attrUnit":"KM","minValue":0.0,"maxValue":81941.0,"lifeTime":40970.0},{"attrName":"LONGEST_DISTANCE_WITHOUT_CHARGING","attrUnit":"KM","minValue":0.0,"maxValue":170.0,"lifeTime":139.0}],"lastTripList":[{"name":"LASTTRIP_DELTA_KM","unit":"KM","lastTrip":"5.0"},{"name":"ACTUAL_DISTANCE_WITHOUT_CHARGING","unit":"KM","lastTrip":"60.0"},{"name":"AVERAGE_ELECTRIC_CONSUMPTION","unit":"KWH_PER_100KM","lastTrip":"15.2"},{"name":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","unit":"KWH_PER_100KM","lastTrip":"4.0"},{"name":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","unit":"KM","lastTrip":"40970.0"}],"lifeTimeList":[],"efficiencyQuotient":58,"characteristicList":[{"characteristic":"TOTAL_CONSUMPTION","quantity":3},{"characteristic":"AUXILIARY_CONSUMPTION","quantity":4},{"characteristic":"DRIVING_MODE","quantity":0},{"characteristic":"ACCELERATION","quantity":2},{"characteristic":"ANTICIPATION","quantity":4}]}
  • aha, danke.
    aber dann bekomme ich das

    Code
    JSON error at line 1, byte 290/295: Unexpected character ',' parsing object starting from byte 1: expecting whitespace: '\n', '\r', '\t', ' ' or value separator: ':' at ./FHEM/99_myBMWUtils.pm line 1119

    ja stimmt, da ist ein bug drin
    mit dem 225xe funktioniert es, mit dem i3 nicht.
    werde ich korrigieren und nachtragen.

    Hallo nochmals.
    Wie bekomme ich diese Werte angezeigt?


    Code
    {"communitySwitch":false,"modelType":"I3","scoreList":[{"attrName":"AVERAGE_ELECTRIC_CONSUMPTION","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":40.0,"lifeTime":13.9},{"attrName":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":20.0,"lifeTime":3.7},{"attrName":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","attrUnit":"KM","minValue":0.0,"maxValue":81941.0,"lifeTime":40970.0},{"attrName":"LONGEST_DISTANCE_WITHOUT_CHARGING","attrUnit":"KM","minValue":0.0,"maxValue":170.0,"lifeTime":139.0}],"lastTripList":[{"name":"LASTTRIP_DELTA_KM","unit":"KM","lastTrip":"5.0"},{"name":"ACTUAL_DISTANCE_WITHOUT_CHARGING","unit":"KM","lastTrip":"60.0"},{"name":"AVERAGE_ELECTRIC_CONSUMPTION","unit":"KWH_PER_100KM","lastTrip":"15.2"},{"name":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","unit":"KWH_PER_100KM","lastTrip":"4.0"},{"name":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","unit":"KM","lastTrip":"40970.0"}],"lifeTimeList":[],"efficiencyQuotient":58,"characteristicList":[{"characteristic":"TOTAL_CONSUMPTION","quantity":3},{"characteristic":"AUXILIARY_CONSUMPTION","quantity":4},{"characteristic":"DRIVING_MODE","quantity":0},{"characteristic":"ACCELERATION","quantity":2},{"characteristic":"ANTICIPATION","quantity":4}]}


    auf den ersten BLick sieht vieles gleich und manches anders aus als beim 225xe
    darauf ist mein modul halt optimiert.
    bso: beim 225xe sind die Daten unter scoreList nicht verfügbar, dafür gibt es mehr in der lastTripList


    im sub myBMWUtils_ReceiveTripData werden diese Daten ausgelesen und zu FHEM gemappt.
    Wenn was fehlt, kann man es da ergänzen.
    wahrscheinlich muss man dafür aber auch den Paser ergänzen, dass die scoreList auch gelesen wird. :)


    (unter myBMWUtils_Push2FHEM)

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

  • 1) in myBMWUtils_Push2FHEM über elsif ($Index eq "remoteServiceEvent") folgendes ergänzen



    Code
    elsif ($Index eq "scoreList")
    {
    $Value = BMW_ExtractFromArray($ValueHash->{$Index},$Name,"lifeTime");
    }


    2)
    myBMWUtils_Push2FHEM("AVERAGE_ELECTRIC_CONSUMPTION",$content,"scoreList");
    myBMWUtils_Push2FHEM("AVERAGE_RECUPERATED_ENERGY_PER_100_KM",$content,"scoreList");
    myBMWUtils_Push2FHEM("CUMULATED_ELECTRIC_DRIVEN_DISTANCE",$content,"scoreList");
    myBMWUtils_Push2FHEM("LONGEST_DISTANCE_WITHOUT_CHARGING",$content,"scoreList");


    myBMWUtils_Push2FHEM("ACTUAL_DISTANCE_WITHOUT_CHARGING",$content,"lastTripList");
    myBMWUtils_Push2FHEM("AVERAGE_ELECTRIC_CONSUMPTION",$content,"lastTripList");
    myBMWUtils_Push2FHEM("AVERAGE_RECUPERATED_ENERGY_PER_100_KM",$content,"lastTripList");
    myBMWUtils_Push2FHEM("CUMULATED_ELECTRIC_DRIVEN_DISTANCE",$content,"lastTripList");



    könnte funktionieren.
    Natürlich muss davor


    Code
    define BMW_AVERAGE_ELECTRIC_CONSUMPTION dummy
    attr BMW_AVERAGE_ELECTRIC_CONSUMPTION room BMW

    (und die anderen natürlich auch


    ausgeführt werden. :)


    vielleicht ergänz ich irgendwann mal die typabhängigen abfragen. momentan lässt es meine zeit leider nicht zu

    BMW 225xe Sport Line Atlantikgrau seit 14.11.2017 :D
    BMW X1 Bj. '16 weiß/DRK mit getarnter Sondersignalanlage (5-10 Tage/Monat Dienst)
    Audi A4 Avant bj 2006 bis 11.2017 / Fiat Tipo Bj '97 bis 2007 /Honda Civic Bj. '87 bis 2003

    Einmal editiert, zuletzt von Rumbel ()