Bmw i3 mit fhem verbinden

Bmw i3 mit fhem verbinden

USER_AVATAR
read
Hallo.
ich schreibe mit account meiner Frau.
habe heute eine möglichkeit gefunden den status des i3 in fhem einzubinden.
damit ergeben sich viele möglichkeiten div. steuerungen.ich hoffe den link hier posten zu dürfen.

https://www.active-tourer-forum.de/inde ... HEM-225xe/

lg

Gesendet von meinem ONEPLUS A5000 mit Tapatalk
Bild

Model Y LR MIC
PV 11,6kWp
eHome 7,2kW Wallbox
go-e charger
Zencar flexible free 7,4kW
Anzeige

Re: Bmw i3 mit fhem verbinden

Helix
  • Beiträge: 123
  • Registriert: Sa 16. Mai 2015, 18:31
  • Danke erhalten: 7 Mal
read
1+
Das hört sich ganz fantastisch an.
Könntest du die Dateien auch hier im Forum oder auf github oder so ablegen?
Würde mich nur ungern noch zusätzlich im ActiveTourer Forum registrieren...
VG

Re: Bmw i3 mit fhem verbinden

USER_AVATAR
read
hallo. mache ich, komme aber vor dienstag nicht dazu. werde es selbst einbinden, und dann nach erfolgreicher funktion posten.
Bild

Model Y LR MIC
PV 11,6kWp
eHome 7,2kW Wallbox
go-e charger
Zencar flexible free 7,4kW

Re: Bmw i3 mit fhem verbinden

RegEnFan
  • Beiträge: 433
  • Registriert: Sa 15. Jun 2013, 08:52
  • Wohnort: Tölz
  • Danke erhalten: 4 Mal
read
Zur Info: Für IP-Symcon gibt es übrigens auch schon länger ein fertiges Modul.
27qm Solarthermie mit 10,5m3 Pufferspreicher. 35,6 kWp Photovoltaik mit 16,2 kWh LiIon-Speicher.
i3 Rex 140k km ab 03.2014
M3 ab 03.05.2019

Re: Bmw i3 mit fhem verbinden

USER_AVATAR
read
hallo.
Heute die letzten Anpassungen vorgenommen.
Das original stammt aus dem Active-Tourer-Forum, wo ein User begann das Portal ConnectedDrive auszulesen und in FHEM einzubinden.

Wichtig:
FHEM aktualisieren, JSON ebenfalls

sudo apt-get update
sudo apt-get install libjson-perl
sudo apt-get install libxml-simple-perl
sudo cpan install JSON

danach 3 dummys anlegen für VIN,Benutzer u. Passwort

Code: Alles auswählen

define BMWIF_user dummy
attr BMWIF_user room hidden
define BMWIF_pw dummy
attr BMWIF_pw room hidden
define BMWIF_vim dummy
attr BMWIF_vim room hidden
die werte für die dummys setzen
wichtig ! komplette VIN

Code: Alles auswählen

set BMWIF_user <EMAIL>
set BMWIF_pw <PASSWORD>
set BMWIF_vim <VIN>
dann noch folgendes:
[/code]
define BMW_CurrentBearer dummy
attr BMW_CurrentBearer room BMW
define BMW_CurrentBearer_Date dummy
attr BMW_CurrentBearer_Date room BMW
define BMW_LastSuccessfullRequest dummy
attr BMW_LastSuccessfullRequest room BMW
define BMW_CurrentState dummy
attr BMW_CurrentState room BMW
[/code]


dann in den FHEM Ordner die 99_myBMWUtils.pm reinkopieren. Rechte anpassen

reload oder FHEM neustarten.

abfrage starten mit eingabe in der kommandozeile {BMW_RequestBMWDescription();;}
jetzt sollten die fahrzeugdaten ausgefüllt sein.
danach:
abfrage starten mit eingabe in der kommandozeile {BMW_Test();;}

bei mir legten sich sämtliche readings im Room BMW an. wenn nicht dann folgendes in die fhem.cfg reinkopieren

Code: Alles auswählen

define BMW_gps_lat dummy
attr BMW_gps_lat event-on-change-reading state
attr BMW_gps_lat group Location
attr BMW_gps_lat room BMW
attr BMW_gps_lat stateFormat state
define BMW_gps_lng dummy
attr BMW_gps_lng event-on-change-reading state
attr BMW_gps_lng group Location
attr BMW_gps_lng room BMW
attr BMW_gps_lng stateFormat state
define BMW_heading dummy
attr BMW_heading event-on-change-reading state
attr BMW_heading group Location
attr BMW_heading room BMW
attr BMW_heading stateFormat state°
define BMW_charging_status dummy
attr BMW_charging_status event-on-change-reading state
attr BMW_charging_status group Battery
attr BMW_charging_status room BMW
attr BMW_charging_status stateFormat state
define BMW_chargingSystemStatus dummy
attr BMW_chargingSystemStatus event-on-change-reading state
attr BMW_chargingSystemStatus group Battery
attr BMW_chargingSystemStatus room BMW
attr BMW_chargingSystemStatus stateFormat state
define BMW_prognosisWhileChargingStatus dummy
attr BMW_prognosisWhileChargingStatus event-on-change-reading state
attr BMW_prognosisWhileChargingStatus group Battery
attr BMW_prognosisWhileChargingStatus room BMW
attr BMW_prognosisWhileChargingStatus stateFormat state
define BMW_chargingLevelHv dummy
attr BMW_chargingLevelHv event-on-change-reading state
attr BMW_chargingLevelHv group Battery
attr BMW_chargingLevelHv room BMW
attr BMW_chargingLevelHv stateFormat state %
define BMW_Segment_LastTrip_time_segment_end dummy
attr BMW_Segment_LastTrip_time_segment_end event-on-change-reading state
attr BMW_Segment_LastTrip_time_segment_end group LastTrip
attr BMW_Segment_LastTrip_time_segment_end room BMW
attr BMW_Segment_LastTrip_time_segment_end stateFormat state
define BMW_Segment_LastTrip_time_segment_end_formatted dummy
attr BMW_Segment_LastTrip_time_segment_end_formatted event-on-change-reading state
attr BMW_Segment_LastTrip_time_segment_end_formatted group LastTrip
attr BMW_Segment_LastTrip_time_segment_end_formatted room BMW
attr BMW_Segment_LastTrip_time_segment_end_formatted stateFormat state
define BMW_soc_hv_percent dummy
attr BMW_soc_hv_percent event-on-change-reading state
attr BMW_soc_hv_percent group Battery
attr BMW_soc_hv_percent room BMW
attr BMW_soc_hv_percent stateFormat state %
define BMW_beMaxRangeElectricKm dummy
attr BMW_beMaxRangeElectricKm event-on-change-reading state
attr BMW_beMaxRangeElectricKm group LastTrip
attr BMW_beMaxRangeElectricKm room BMW
attr BMW_beMaxRangeElectricKm stateFormat state km
define BMW_beRemainingRangeElectricKm dummy
attr BMW_beRemainingRangeElectricKm event-on-change-reading state
attr BMW_beRemainingRangeElectricKm group LastTrip
attr BMW_beRemainingRangeElectricKm room BMW
attr BMW_beRemainingRangeElectricKm stateFormat state km
define BMW_beRemainingRangeFuel dummy
attr BMW_beRemainingRangeFuel event-on-change-reading state
attr BMW_beRemainingRangeFuel group LastTrip
attr BMW_beRemainingRangeFuel room BMW
attr BMW_beRemainingRangeFuel stateFormat state km
define BMW_remaining_fuel dummy
attr BMW_remaining_fuel event-on-change-reading state
attr BMW_remaining_fuel group LastTrip
attr BMW_remaining_fuel room BMW
attr BMW_remaining_fuel stateFormat state Liter
define BMW_Segment_LastTrip_ratio_electric_driven_distance dummy
attr BMW_Segment_LastTrip_ratio_electric_driven_distance event-on-change-reading state
attr BMW_Segment_LastTrip_ratio_electric_driven_distance group LastTrip
attr BMW_Segment_LastTrip_ratio_electric_driven_distance room BMW
attr BMW_Segment_LastTrip_ratio_electric_driven_distance stateFormat state %
define BMW_mileage dummy
attr BMW_mileage event-on-change-reading state
attr BMW_mileage group AllTrips
attr BMW_mileage room BMW
attr BMW_mileage stateFormat state km
define BMW_door_lock_state dummy
attr BMW_door_lock_state event-on-change-reading state
attr BMW_door_lock_state group Doors
attr BMW_door_lock_state room BMW
attr BMW_door_lock_state stateFormat state
define BMW_door_driver_front dummy
attr BMW_door_driver_front event-on-change-reading state
attr BMW_door_driver_front group Doors
attr BMW_door_driver_front room BMW
attr BMW_door_driver_front stateFormat state
define BMW_door_passenger_front dummy
attr BMW_door_passenger_front event-on-change-reading state
attr BMW_door_passenger_front group Doors
attr BMW_door_passenger_front room BMW
attr BMW_door_passenger_front stateFormat state
define BMW_door_driver_rear dummy
attr BMW_door_driver_rear event-on-change-reading state
attr BMW_door_driver_rear group Doors
attr BMW_door_driver_rear room BMW
attr BMW_door_driver_rear stateFormat state
define BMW_door_passenger_rear dummy
attr BMW_door_passenger_rear event-on-change-reading state
attr BMW_door_passenger_rear group Doors
attr BMW_door_passenger_rear room BMW
attr BMW_door_passenger_rear stateFormat state
define BMW_trunk_state dummy
attr BMW_trunk_state event-on-change-reading state
attr BMW_trunk_state group Doors
attr BMW_trunk_state room BMW
attr BMW_trunk_state stateFormat state
define BMW_hood_state dummy
attr BMW_hood_state event-on-change-reading state
attr BMW_hood_state group Windows
attr BMW_hood_state room BMW
attr BMW_hood_state stateFormat state
define BMW_window_driver_front dummy
attr BMW_window_driver_front event-on-change-reading state
attr BMW_window_driver_front group Windows
attr BMW_window_driver_front room BMW
attr BMW_window_driver_front stateFormat state
define BMW_window_passenger_front dummy
attr BMW_window_passenger_front event-on-change-reading state
attr BMW_window_passenger_front group Windows
attr BMW_window_passenger_front room BMW
attr BMW_window_passenger_front stateFormat state
define BMW_window_driver_rear dummy
attr BMW_window_driver_rear event-on-change-reading state
attr BMW_window_driver_rear group Windows
attr BMW_window_driver_rear room BMW
attr BMW_window_driver_rear stateFormat state
define BMW_window_passenger_rear dummy
attr BMW_window_passenger_rear event-on-change-reading state
attr BMW_window_passenger_rear group Windows
attr BMW_window_passenger_rear room BMW
attr BMW_window_passenger_rear stateFormat state
define BMW_sunroof_state dummy
attr BMW_sunroof_state event-on-change-reading state
attr BMW_sunroof_state group Windows
attr BMW_sunroof_state room BMW
attr BMW_sunroof_state stateFormat state
define BMW_sunroof_position dummy
attr BMW_sunroof_position event-on-change-reading state
attr BMW_sunroof_position group Windows
attr BMW_sunroof_position room BMW
attr BMW_sunroof_position stateFormat state %
define BMW_LASTTRIP_DELTA_KM dummy
attr BMW_LASTTRIP_DELTA_KM event-on-change-reading state
attr BMW_LASTTRIP_DELTA_KM group LastTrip
attr BMW_LASTTRIP_DELTA_KM room BMW
attr BMW_LASTTRIP_DELTA_KM stateFormat state km
define BMW_LASTTRIP_TIME_SEGMENT_END dummy
attr BMW_LASTTRIP_TIME_SEGMENT_END event-on-change-reading state
attr BMW_LASTTRIP_TIME_SEGMENT_END group LastTrip
attr BMW_LASTTRIP_TIME_SEGMENT_END room BMW
attr BMW_LASTTRIP_TIME_SEGMENT_END stateFormat state
define BMW_CUMULATED_ELECTRIC_DRIVEN_DISTANCE dummy
attr BMW_CUMULATED_ELECTRIC_DRIVEN_DISTANCE event-on-change-reading state
attr BMW_CUMULATED_ELECTRIC_DRIVEN_DISTANCE group AllTrips
attr BMW_CUMULATED_ELECTRIC_DRIVEN_DISTANCE room BMW
attr BMW_CUMULATED_ELECTRIC_DRIVEN_DISTANCE stateFormat state km
define BMW_SAVED_LITERS_OVERALL dummy
attr BMW_SAVED_LITERS_OVERALL event-on-change-reading state
attr BMW_SAVED_LITERS_OVERALL group AllTrips
attr BMW_SAVED_LITERS_OVERALL room BMW
attr BMW_SAVED_LITERS_OVERALL stateFormat state km
define BMW_TIMESTAMP_STATISTICS_RESET dummy
attr BMW_TIMESTAMP_STATISTICS_RESET event-on-change-reading state
attr BMW_TIMESTAMP_STATISTICS_RESET group AllTrips
attr BMW_TIMESTAMP_STATISTICS_RESET room BMW
attr BMW_TIMESTAMP_STATISTICS_RESET stateFormat state
define BMW_LASTTRIP_DELTA_TIME dummy
attr BMW_LASTTRIP_DELTA_TIME event-on-change-reading state
attr BMW_LASTTRIP_DELTA_TIME group LastTrip
attr BMW_LASTTRIP_DELTA_TIME room BMW
attr BMW_LASTTRIP_DELTA_TIME stateFormat state min
define BMW_COMBINED_AVG_CONSUMED_LITERS_OVERALL dummy
attr BMW_COMBINED_AVG_CONSUMED_LITERS_OVERALL event-on-change-reading state
attr BMW_COMBINED_AVG_CONSUMED_LITERS_OVERALL group AllTrips
attr BMW_COMBINED_AVG_CONSUMED_LITERS_OVERALL room BMW
attr BMW_COMBINED_AVG_CONSUMED_LITERS_OVERALL stateFormat state Liter


fhem neustarten, nochmals abfrage starten

wenn alles klappt dann noch periodische abfrage anlegen

Code: Alles auswählen

define BMWUpdateCyclic at +*00:10:00 {BMW_Test();;}
attr BMWUpdateCyclic room at
Viel Spass
Dateianhänge
Datei 99_myBMWUtils.pm.txt
(47.36 KiB) 235-mal heruntergeladen
Bild

Model Y LR MIC
PV 11,6kWp
eHome 7,2kW Wallbox
go-e charger
Zencar flexible free 7,4kW

Re: Bmw i3 mit fhem verbinden

Helix
  • Beiträge: 123
  • Registriert: Sa 16. Mai 2015, 18:31
  • Danke erhalten: 7 Mal
read
Hallo,

so habe mich mal eingelesen.

Zunächst ein Tipp falls Ihr folgenden Fehler habt:

Code: Alles auswählen

Can't locate JSON/Parse.pm in @INC (you may need to install the JSON::Parse module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/99_myBMWUtils.pm line 26.
BEGIN failed--compilation aborted at ./FHEM/99_myBMWUtils.pm line 26.
dann noch dieses Paket nachinstallieren

Code: Alles auswählen

sudo cpan install JSON::Parse
Danach reload 99_myBMWUtils.pm und dann ist die Routine aufrufbar.
Leider kommt bei mir immer folgender Fehler:

Code: Alles auswählen

2018-12-26 18:54:50 dummy BMW_CurrentState ERROR: 400 Bad Request@myBMWUtils_ReceiveCommandAnswer()
VIN ist die "lange" (WBY1Z41000VZxxxxx) Passwort ist ohne Sonderzeichen und EMail-Adresse stimmt auch.
Habt ihr noch nen Tipp für mich?

VG

Re: Bmw i3 mit fhem verbinden

Helix
  • Beiträge: 123
  • Registriert: Sa 16. Mai 2015, 18:31
  • Danke erhalten: 7 Mal
read
Ok, erledigt.

Nach dem Xten Versuch ging es einfach. Hatte nichts weiter verändert.

Nächstes Problem:

Code: Alles auswählen

JSON error at line 1, byte 329/334: Unexpected character ',' parsing object starting from byte 1: expecting whitespace: '\n', '\r', '\t', ' ' or value separator: ':' at ./FHEM/99_myBMWUtils.pm line 1144.
Hier die Zeile 1143 der99_myBMWUtils.pm ( #$content =~ s/[\[\]]*//g;)

durch folgendes ersetzen:

Code: Alles auswählen

$content =~ s/^\[//g; $content =~ s/\]$//g;
Werde weiter berichten :D


Edit: Für den i3 ist das definitiv nicht out of the Box zu gebrauchen. Hab jetzt länger gefummelt und habe es rudimentär am laufen. Weiter komme ich allerdings nicht ... gebe erstmal auf.

Re: Bmw i3 mit fhem verbinden

USER_AVATAR
  • Onkel_Tom
  • Beiträge: 15
  • Registriert: So 28. Apr 2019, 18:36
  • Hat sich bedankt: 3 Mal
  • Danke erhalten: 5 Mal
read
Hallo,

meine Frau hat sich auch einen I3 geleistet und ich versuche ihn in FHEM einzubinden.
Kann mir jemand mal seine aktuelle ( funktionierende ) 99_myBMWUtils.pm zusenden?
Danke schon mal im voraus :-)

Gruß
Tom

Re: Bmw i3 mit fhem verbinden

gohz
  • Beiträge: 2053
  • Registriert: Di 4. Okt 2016, 20:15
  • Hat sich bedankt: 485 Mal
  • Danke erhalten: 523 Mal
read
Nutze fhem dafür selbst nicht, habe aber mein eigenes Skript speziell für meinen 225xe gebastelt.

BMW hat vor einigen Wochen die URL von bisher "https://www.bmw-connecteddrive.de/" auf "https://www.bmw-connecteddrive.com/" geändert.

Tipp: Suche diese URL im 99_myBMWUtils.pm und ändere sie entsprechend. Vermute, dass es dann wieder läuft.

Re: Bmw i3 mit fhem verbinden

USER_AVATAR
  • Onkel_Tom
  • Beiträge: 15
  • Registriert: So 28. Apr 2019, 18:36
  • Hat sich bedankt: 3 Mal
  • Danke erhalten: 5 Mal
read
Hallo gohz,

danke für die schnelle Antwort. .de auf .com habe ich schon geändert.
Bei mir ist es noch nie richtig gelaufen. Es kamen mal ein paar Werte und dann wieder nicht.
Da ich meine Solaranlage / Wallbox damit steuern möchte sollte es etwas stabiler laufen.
Im 225xe habe ich auch gelesen, aber das ist auf 19Seiten hier ein Update und da eine Änderung und dann schreiben User dass es mit dem I3 so nicht geht und sie haben Code angepasst usw.
Das ist leider etwas unübersichtlich und der Beitrag hier ist ja auch schon etwas älter, war mir aber erst nach meinem Post aufgefallen :-)
Dann muss ich wohl selbst den Code zusammen basteln wenn ich auch von Programmieren praktisch keine Ahnung habe.

Trotzdem noch mal danke für die Info und noch einen schönen Sonntag
Anzeige
AntwortenAntworten

Zurück zu „i3 - Allgemeine Themen“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag