freut mich, dass es klappt!
zum code: [ code ] inhalt [/ code ]
ohne die Leerzeichen um die [ ]
Das selbe mit Spoiler
freut mich, dass es klappt!
zum code: [ code ] inhalt [/ code ]
ohne die Leerzeichen um die [ ]
Das selbe mit Spoiler
Hi,
absolut genial DANKE!!! Hat fast auf Anhieb alles funktioniert. Nur ein # darf man nicht im PW haben - vielleicht noch in die Docu mit aufnehmen
Gibt es auch ne Möglichkeit, evtl. durch dieses Modul z.B. die Klima anzuschalten (i3) oder die Türen zu schließen? Mir schwebt sowas vor wie:
- kälter als 8 Grad
- Batterie noch zu 25% gefüllt
- Arbeitstag
- Dann 6:45 Klima starten
Vielen vielen Dank nochmal!! Lg, Torsten
kommandos zum senden will ich mal ausprobieren. Den Rest kann man dann ja selbst in FHEM machen.
Die # als Fehler ergänze ich.
Freut mich, dass es klappt!
nachtrag: das mit den Kommandos hat mich jetzt so neugierig gemacht, dass ich es flott implementiert hab.
tschimi hat soeben ne Testversion bekommen zum schauen, ob es geht
Wenn die Grundfunktion bestätigt ist, lad ich es hoch.
(Bei mir geht's laut "Verlauf" Protokoll der BMW Website)
(Bin grad im Büro, aber meine Nachbarn werden sich wundern, warum mein BMW so oft in der Tiefgarage hupt, blinkt, auf und zu schließt und aktuell heizt. :-D)
neues Release
Mit Kommandos!
Senden von Vorklimatisierung, Auf- und Abschließen, Hupe (Sorry Nachbarn, musste Testen!) und Lichthupe.
Ich hab's bewusst zweistufig gemacht in FHEM. Wer es automatisieren will (Morgens, bei -10° automatisch vorklimatisieren) kann das dann eigentsändig auch direkt über die Methode machen.
Zum Nutzen in FHEM:
1) im Drop-Down das Kommando auswählen (Bsp Licht)
2) Dann drunter auf "SendCommand" klicken.
3) Dann auf den Status schauen: Pending / sent to car / excuted bzw als Uhr, Auto und OK Symbole. (wird max 8 mal alle 10 Sekunden abgerufen)
##########################################################
# Changelog V0.4 Beta
# SanityCheck für Credentials
# ..Passwort darf kein # enthalten
# Deaktivierung der Abfrage bei Netzwerkfehlern (fritzbox defekt, FHEM offline, etc... --> entlastet den FHEM Server bei Problemen)
# ..per DOIF auf NetzwerkOk --> Bitte NetzwerkOk anlegen, falls nicht vorhanden. Bsp. zum anpingen der Fritzbox
# ----defmod NetzwerkOk presence lan-ping 192.168.178.1 30 # Fritzbox anpingen
# ----attr NetzwerkOk eventMap present:OK absent:DOWN # Mapping auf OK und DOWN
# ----attr NetzwerkOk event-on-change-reading state
# ***NEU: Senden von Kommandos!
# ..Senden von Kommandos für Klima, Hupe, Lichthupe, Auf- und Abschließen
# ..Rückmeldung pollen bis erfolgreich (mach 8 Versuche)
#
#Known or new Bugs
# Neue Bugs sind zu gut versteckt... hab bisher keine gefunden
##########################################################
Anleitung
Kleine Warnung: der das push umgesetzt hat für sich (pushbullet oder anderes) könnte vielleicht kurz die Gratulation bekommen, dass das Auto eingefahren ist.
Wie immer alle Angaben ohne Gewähr oder Garantie.
Ich bin nicht haftbar, falls BMW euch den Account sperrt oder das Auto wegen zu viel Vorklimatisierung mit nem leeren Akku stehen bleibt.
Oder falls die Nachbarn sich wegen Ruhestörung durch zu viel gehupe nachs um 3 beschweren.
Edit:
Auf Anregung von @tschimi hab ich mir jetzt auch ne kleine automatische Vorklimatisierung programmiert.
Das werd ich aber nicht ins BMW-Modul übernehmen, das ist zu speziell
Bei mir: Wenn mein Piepser runter geht (DRK-Einsätze, Brände, ...) bekommt das meine Heimautomatisierung bereits mit.
Die 3-4 Minuten zum Umziehen kann man ja gut nutzen, in dem die Klimaanlage schon mal angeschaltet wird.
Zumindest falls a) das Auto am Strom hängt oder b) genug Akku vorhanden ist. Zudem sollte es zwischen 15 und 25°C sein. keine Ahnung, ob diese Grenzen Sinn ergeben.
Und ich soll nicht grade den X1 vom DRK zuhause haben, weil dann nutz ich meinen 225xe ja nicht... der andere hat n blaues Lichtchen auf dem Dach, da macht das mehr Sinn als mein AT
Hier mal der Beispielcode (wird per Notify angestoßen)
sub DRK_Einsatz
{
// [...] anderer Code dazwischen (Lampen an, Push-Benachrichgungen,, Probealarm erkennen, ...
if (1) // hier prüfung auf Probealarm, ob ich den X1 grad hab (steht in meinem Kalender), ...
{
my $Temp = ReadingsVal("Netatmo_Balkon","temperature","ERROR"); //Außentemperatur abrufen (Netatmo)
my $BMWBatt = ReadingsVal("BMW_chargingLevelHv","state","ERROR"); //Ladezustand BMW_chargingLevelHv
my $Eingesteckt = ReadingsVal("TBMW_connectorStatusEST","state","ERROR"); //Ladekabel BMW_connectorStatus
if ( (($Temp < 15) || ($Temp > 25)) && (($BMWBatt >75) || ($Eingesteckt eq "CONNECTED")) )
{
fhem("set BMW_CommandsToExecute Klima"); //Kommando auf Klima setzen
fhem("set BMW_ExecuteCommandNow on"); //Kommando ausführen
}
}
}
Alles anzeigen
Kommentare mit # hat es nicht angezeigt, daher (hier falsch) auf // geändert
Nachtrag 2: es wird immer verrückter:
(Heimautomatisierung macht süchtig)
Man könnte es ja auch im Kalender eintragen, wenn das Auto vorklimatisiert werden soll...
//Kalender Updates
sub Kalenderstart ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids = split(/;/,$Ereignisteil1);
foreach my $uid (@uids)
{
my $Kalendertext = fhem("get CalenderJens summary uid=$uid 1");
if ($Kalendertext =~ /BMW_Vorheizen/)
{
fhem("set BMW_CommandsToExecute Klima");
fhem("set BMW_ExecuteCommandNow on");
}
}
}
Alles anzeigen
Der Kalender kommt hier über gmail per ics-datei
Hallo Rumbel
Ich integrierte die neuste Version vom 20.4.2018 V0.4 Beta.
Leider funktioniert die Applikation bei mir nicht korrekt, wenn ich nun die Datei 99_myBMWUtils.pm mit dem Editor öffne und kompiliere erhalte ich folgenden Syntaxfehler:
syntax error at 99_myBMWUtils.pm line 1098, near "sub myBMWUtils_Setup()"
syntax error at 99_myBMWUtils.pm line 1107, near "}"
Wenn ich die Sequenz 1,2+,1+ nach der } in der Zeile 1092 auskommentiere läuft der Kompiler ohne Fehler durch und die Applikation funktioniert soweit ich das beurteilen kann. Ich vermute jedoch dass das nicht die definitive Lösung ist.
Im Abschnitt 'Location' erhalte ich keine Daten.
Das Senden von Commands z.B. Türen ver-, entrieglen funktioniert, gleichzeitig erhalte ich vom BMW CD ein Bestätigungs-Mail mit der Info, dass ein Remote Service entriegeln oder verriegeln der Türen erfolgte.
Vielen Dank für deine Hinweise.
Schau ich mir heute abend an.
Evtl hab ich beim kopieren einen Fehler gemacht.
Die Datei lösch ich sicherheitshalber im alten Thread, falls ich den noch bearbeiten darf
Hallo Rumbel,
vielen Dank schon mal für die Geniale Anbindung, allerdings will es bei mir nicht so recht,
ich bekomme immer folgenden Fehler:
2018-04-26_18:27:11 BMW_CurrentState INFO: Bearer Not stored.
2018-04-26_18:27:14 BMW_CurrentState ERROR: Request Bearer failed
kannst du mir da irgendwie weiterhelfen?
Da stimmt wohl was mit dem Login nicht.
Bisher ist aufgefallen, dass es kein & oder # enthalten darf.
vielleicht gehen hier weitere Zeichen nicht auf diesem Weg.
Ich muss auch mal schauen, was das Problem mit den & und # ist. Aktuell zeige ich nur eine Warnung an, wenn eines der Zeichen enthalten ist.
OK Danke
das war es, es darf auch kein + enthalten sein