Auslesen der BMW-Daten mit FHEM (225xe)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • dann ist bmw wohl wieder sehr kreativ mit den daten... mal hier, mal da, mal umbenannt. :)

      ich weiß leider nur, dass unter gps_lng und gps_lat die Daten beim 225xe stehen. (in der /api/vehicle/dynamic/v1/VIN?offset=-60 Abfrage)
      Zusätzlich bekommt das Webinterface auch Positionsdaten aus /vehicle/navigation/v1/

      das ruf ich aber nicht ab, da für den 225xe nichts (neues) relevantes drin steht

      ist in deiner "?offset=-60" Abfrage keine Position drin?

      ""

      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

    • Hallo.
      Habe entdeckt das die "xxList" nur immer den ersten Wert einträgt. Der rest wird ignoriert.
      Hast du eine Idee?

      Quellcode

      1. {"communitySwitch":false,"modelType":"I3","scoreList":[{"attrName":"AVERAGE_ELECTRIC_CONSUMPTION","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":40.0,"lifeTime":17.8},{"attrName":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","attrUnit":"KWH_PER_100KM","minValue":0.0,"maxValue":20.0,"lifeTime":3.0},{"attrName":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","attrUnit":"KM","minValue":0.0,"maxValue":59.0,"lifeTime":29.0},{"attrName":"LONGEST_DISTANCE_WITHOUT_CHARGING","attrUnit":"KM","minValue":0.0,"maxValue":170.0,"lifeTime":29.0}],"lastTripList":[{"name":"LASTTRIP_DELTA_KM","unit":"KM","lastTrip":"29.0"},{"name":"ACTUAL_DISTANCE_WITHOUT_CHARGING","unit":"KM","lastTrip":"--"},{"name":"AVERAGE_ELECTRIC_CONSUMPTION","unit":"KWH_PER_100KM","lastTrip":"17.8"},{"name":"AVERAGE_RECUPERATED_ENERGY_PER_100_KM","unit":"KWH_PER_100KM","lastTrip":"3.0"},{"name":"CUMULATED_ELECTRIC_DRIVEN_DISTANCE","unit":"KM","lastTrip":"29.0"}],"lifeTimeList":[],"efficiencyQuotient":39,"characteristicList":[{"characteristic":"TOTAL_CONSUMPTION","quantity":3},{"characteristic":"AUXILIARY_CONSUMPTION","quantity":0},{"characteristic":"DRIVING_MODE","quantity":0},{"characteristic":"ACCELERATION","quantity":3},{"characteristic":"ANTICIPATION","quantity":4}]}
    • oh ja... BMW hat da echt Pappnasen am Werk...

      Bei der lifteTimeList und lastTripList haben die Parameter nen "name"
      Bei der scoreList ist es "attrName" ?(:evil:X(X(X(X( (ja, wilder Smiley Spam ist hier angebracht!)

      Lösung:

      das hier ersetzen

      Quellcode

      1. sub BMW_ExtractFromArray
      2. {
      3. my ($Array,$Name,$Field,$Name) = @_;
      4. if (($Name eq "") or !defined($Name))
      5. {
      6. $Name = 'name';
      7. }
      8. BMW_Log "BMW_ExtractFromArray\n" if $DEBUG == 2;
      9. BMW_Log Dumper($Array) if $DEBUG == 2;
      10. BMW_Log "for...\n" if $DEBUG == 2;
      11. BMW_Log Dumper @{$Array}[1] if $DEBUG == 2;
      12. # loop through array and find what we are searching for
      13. for (my $i=0;$i<=$#{$Array};$i++)
      14. {
      15. if (@{$Array}[$i]->{$Name} eq $Name)
      16. {
      17. return @{$Array}[$i]->{$Field};
      18. }
      19. }
      20. return "---";
      21. }
      Alles anzeigen

      das hier ebenfalls

      Quellcode

      1. elsif ($Index eq "scoreList") #i3
      2. {
      3. $Value = BMW_ExtractFromArray($ValueHash->{$Index},$Name,"lifeTime","attrName");
      4. }


      ungetestet

      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

    • Hallo Meister.
      kannst du mir die Bedeutung dieser zeilen erklären?

      Quellcode

      1. my ($Array,$Name,$Field,$Name) = @_;
      2. if (($Name eq "") or !defined($Name))
      3. {
      4. $Name = 'name';

      bin schon ein wenig weiter, zumindest der Abschnitt lifeTimeList musste auskommentiert werden, der überschrieb mir die anderen Werte, weil es das beim i3 nicht gibt.
    • Neu

      das war n schneller, ungetesteter versuch für nen optionalen Parameter "Name". Wenn er leer ist oder undefiniert, dann trag "Name" ein.
      Alles wie gesagt nur n flotter Test. :)
      Wenn Du die Funktion immer mit einem ","name"); aufrufen würdest, bräuchte man es nicht

      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

    • Neu

      Hiho, hab heut mal wieder Zeit gefunden mich etwas intensiver mit FHEM zu beschäftigen und hab dabei festgestellt das mein Log mit diesen Meldungen überschwemmt wird.
      Was möchte es mir sagen? :o

      Quellcode

      1. 2018.12.16 15:01:30 3: set BMW_chargingTimeRemaining : no set value specified
      2. 2018.12.16 15:01:30 3: set BMW_check_control_messages : no set value specified
      3. 2018.12.16 15:06:30 3: set BMW_chargingTimeRemaining : no set value specified
      4. 2018.12.16 15:06:30 3: set BMW_check_control_messages : no set value specified
      5. 2018.12.16 15:06:31 3: set BMW_chargingTimeRemaining : no set value specified
      6. 2018.12.16 15:06:31 3: set BMW_check_control_messages : no set value specified
      7. 2018.12.16 15:11:30 3: set BMW_chargingTimeRemaining : no set value specified
      8. 2018.12.16 15:11:30 3: set BMW_check_control_messages : no set value specified
      9. 2018.12.16 15:16:34 3: set BMW_chargingTimeRemaining : no set value specified
      10. 2018.12.16 15:16:34 3: set BMW_check_control_messages : no set value specified
      11. 2018.12.16 15:21:30 3: set BMW_chargingTimeRemaining : no set value specified
      12. 2018.12.16 15:21:30 3: set BMW_check_control_messages : no set value specified
      13. 2018.12.16 15:26:30 3: set BMW_chargingTimeRemaining : no set value specified
      14. 2018.12.16 15:26:30 3: set BMW_check_control_messages : no set value specified
      15. 2018.12.16 15:31:30 3: set BMW_chargingTimeRemaining : no set value specified
      16. 2018.12.16 15:31:30 3: set BMW_check_control_messages : no set value specified
      17. 2018.12.16 15:36:31 3: set BMW_chargingTimeRemaining : no set value specified
      18. 2018.12.16 15:36:31 3: set BMW_check_control_messages : no set value specified
      19. 2018.12.16 15:41:30 3: set BMW_chargingTimeRemaining : no set value specified
      20. 2018.12.16 15:41:30 3: set BMW_check_control_messages : no set value specified
      21. 2018.12.16 15:46:30 3: set BMW_chargingTimeRemaining : no set value specified
      22. 2018.12.16 15:46:30 3: set BMW_check_control_messages : no set value specified
      23. 2018.12.16 15:51:30 3: not_BMW_connectorStatus return value: Please define push first
      24. 2018.12.16 15:51:30 3: set BMW_check_control_messages : no set value specified
      25. 2018.12.16 15:51:45 3: Watchdog BMW_wd_Trigger triggered
      26. 2018.12.16 15:51:45 3: set push link http://maps.google.de/maps?q=48.407818,10.962889(Auto+läd)&t=k&z=14 | Auto läd : Please define push first
      27. 2018.12.16 15:51:45 3: set push link http://maps.google.de/maps?q=48.407818,10.962889(Auto+läd)&t=k&z=14 | Auto läd | Anja : Please define push first
      28. 2018.12.16 15:56:30 3: set BMW_check_control_messages : no set value specified
      29. 2018.12.16 16:01:30 3: set BMW_check_control_messages : no set value specified
      30. 2018.12.16 16:06:30 3: set BMW_check_control_messages : no set value specified
      31. 2018.12.16 16:11:30 3: set BMW_check_control_messages : no set value specified
      32. 2018.12.16 16:16:30 3: set BMW_check_control_messages : no set value specified
      33. 2018.12.16 16:21:30 3: set BMW_check_control_messages : no set value specified
      34. 2018.12.16 16:26:30 3: set BMW_check_control_messages : no set value specified
      35. 2018.12.16 16:31:30 3: set BMW_check_control_messages : no set value specified
      36. 2018.12.16 16:36:30 3: set BMW_check_control_messages : no set value specified
      37. 2018.12.16 16:41:30 3: set BMW_check_control_messages : no set value specified
      38. 2018.12.16 16:46:30 3: set BMW_check_control_messages : no set value specified
      39. 2018.12.16 16:51:30 3: set BMW_check_control_messages : no set value specified
      40. 2018.12.16 16:56:30 3: set BMW_check_control_messages : no set value specified
      41. 2018.12.16 17:01:30 3: set BMW_check_control_messages : no set value specified
      42. 2018.12.16 17:06:30 3: set BMW_check_control_messages : no set value specified
      43. 2018.12.16 17:11:30 3: set BMW_check_control_messages : no set value specified
      44. 2018.12.16 17:16:30 3: set BMW_check_control_messages : no set value specified
      45. 2018.12.16 17:21:30 3: set BMW_check_control_messages : no set value specified
      46. 2018.12.16 17:26:30 3: set BMW_check_control_messages : no set value specified
      47. 2018.12.16 17:31:30 3: set BMW_check_control_messages : no set value specified
      48. 2018.12.16 17:36:30 3: set BMW_check_control_messages : no set value specified
      49. 2018.12.16 17:41:30 3: set BMW_check_control_messages : no set value specified
      50. 2018.12.16 17:41:45 3: Watchdog BMW_wd_Trigger triggered
      51. 2018.12.16 17:46:30 3: set BMW_check_control_messages : no set value specified
      52. 2018.12.16 17:51:34 3: set BMW_check_control_messages : no set value specified
      53. 2018.12.16 17:56:30 3: set BMW_check_control_messages : no set value specified
      54. 2018.12.16 18:01:30 3: set BMW_check_control_messages : no set value specified
      55. 2018.12.16 18:06:30 3: set BMW_check_control_messages : no set value specified
      56. 2018.12.16 18:11:30 3: set BMW_check_control_messages : no set value specified
      57. 2018.12.16 18:16:30 3: set BMW_check_control_messages : no set value specified
      58. 2018.12.16 18:21:30 3: set BMW_chargingTimeRemaining : no set value specified
      59. 2018.12.16 18:21:30 3: set BMW_check_control_messages : no set value specified
      60. 2018.12.16 18:21:45 3: Watchdog BMW_wd_Trigger triggered
      61. 2018.12.16 18:26:30 3: set BMW_chargingTimeRemaining : no set value specified
      62. 2018.12.16 18:26:30 3: set BMW_check_control_messages : no set value specified
      63. 2018.12.16 18:31:30 3: set BMW_chargingTimeRemaining : no set value specified
      64. 2018.12.16 18:31:30 3: set BMW_check_control_messages : no set value specified
      Alles anzeigen
    • Neu

      hm... bei der message müsste "---" stehen, wenn es keinen wert gibt. dann sollte auch kein fehler kommen.

      ich schau über die feiertage mal rein

      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