homebridge-mercedesme

  • Hallo alle zusammen


    Nach langer Zeit bin ich mal wieder bissl aktiv ^^


    Ich habe mal ein neues Plugin geschrieben, eigtl. aus dem Grund weil das immer die beste Möglichkeit ist die neuste Homebridge Version und alle Änderungen die damit gekommen sind besser zu untersuchen und DANACH meine älteren Plugins besser umzuschreiben/fixen, naja wie auch immer...


    Plugin: homebridge-mercedesme


    Bei meinem neuen Plugin handelt es sich wie man vermuten kann um ein Plugin zum Steuern eines Mercedes Autos.


    Steuern ist hier zwar etwas weit hergeholt da dies noch nicht seitens Mercedes möglich ist, aber man kann alles an Informationen abfragen und dementsprechend Automationen erstellen.


    Das sieht dann so aus:



    Ich hoffe das sich hier Mercedes Fahrer finden lassen die das Plugin testen könnten.


    Feedback natürlich gern gesehen.


    Liebe Grüße,


    Seyd

  • Schön, Dich im Einsatz zu sehen. Und somit auch das Signal, dass Du auch Deine "älteren" Plugins nicht zukünftig nicht unbedingt aus den Augen verlierst. :thumbup:


    Leider ist unser Mercedes von 2003 und somit bei den Features raus.


    Unser neuer Volvo liefert dagegen wohl ähnliche Funktionen wie in Deinem Plugin beschrieben und dort bin ich bei dem Plugin zuletzt hängen geblieben homebridge-volvo.


    Leider ist die Volvo On Call System API aber irgendwie sehr unzuverlässig, so dass die herstellereigene App bei uns nicht zuverlässig funktioniert, und somit auch nicht das Plugin. Wo der Entwickler natürlich nichts für kann.


    Ich bin gespannt, was Du und andere Mercedes-Nutzer berichten, wie das bei den Stuttgartern so läuft?

    Hilfreich?

  • SeydX


    Hey, schön von dir zu hören. Das plugin hab ich die Tage schon auf github entdeckt.....


    Leider hab ich keinen Mercedes, aber vielleicht wird ja was beim Folgewagen draus 🙈

  • Hallo ,SeydX


    ich finde die Idee mit dem Plugin super - und ich fahre einen Mercedes mit MercedesMe Steuerung.

    Hab das Addon in V1.0.7 am Start - allerdings bricht Homebridge beim Start ab - folgenden Fehler bekomme ich.


    Any ideas?

    Vielen Dank für deine Unterstützung - werde dann auch intensiv testen und reporten...


    THX
    Andreas


    [2020-8-21 22:48:01] Loaded plugin: [email protected]

    [2020-8-21 22:48:01] ====================

    [2020-8-21 22:48:01] ERROR INITIALIZING PLUGIN homebridge-mercedesme:

    [2020-8-21 22:48:01] Error: Cannot find module 'simple-oauth2'

    Require stack:

    - /usr/local/lib/node_modules/homebridge-mercedesme/app/app.js

    - /usr/local/lib/node_modules/homebridge-mercedesme/src/platform.js

    - /usr/local/lib/node_modules/homebridge-mercedesme/index.js

    - /usr/local/lib/node_modules/homebridge/lib/plugin.js

    - /usr/local/lib/node_modules/homebridge/lib/pluginManager.js

    - /usr/local/lib/node_modules/homebridge/lib/api.js

    - /usr/local/lib/node_modules/homebridge/lib/server.js

    - /usr/local/lib/node_modules/homebridge/lib/cli.js

    - /usr/local/lib/node_modules/homebridge/bin/homebridge

    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)

    at Function.Module._load (internal/modules/cjs/loader.js:841:27)

    at Module.require (internal/modules/cjs/loader.js:1025:19)

    at require (internal/modules/cjs/helpers.js:72:18)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-mercedesme/app/app.js:6:31)

    at Module._compile (internal/modules/cjs/loader.js:1137:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)

    at Module.load (internal/modules/cjs/loader.js:985:32)

    at Function.Module._load (internal/modules/cjs/loader.js:878:14)

    at Module.require (internal/modules/cjs/loader.js:1025:19)

    at require (internal/modules/cjs/helpers.js:72:18)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-mercedesme/src/platform.js:6:15)

    at Module._compile (internal/modules/cjs/loader.js:1137:30)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)

    at Module.load (internal/modules/cjs/loader.js:985:32)

    at Function.Module._load (internal/modules/cjs/loader.js:878:14)

    [2020-8-21 22:48:01] ====================

  • Kurzer Update: Nach Update auf V 1.0.9 sind die Fehler beim Start der Homebridge weg.

    Soweit so gut...


    Allerdings taucht in HomeKit mein Mercedes nicht auf?


    Vermute es liegt daran, dass das Plugin erst "registriert" werden muss?

    Go to http://localhost:{port} to authenticate the plugin!


    Meine Homebridge läuft auf einem Raspi ohne Möglichkeit auf dem Gerät den Link in einem Browser zu starten (Raspi ist nur per ssh erreichbar) - kennt jemand einen Workaroung?


    Danke und Gruß

    Andreas

    Einmal editiert, zuletzt von AWeiden ()

  • Meine Homebridge läuft auf einem Raspi ohne Möglichkeit auf dem Gerät den Link in einem Browser zu starten (Raspi ist nur per ssh erreichbar) - kennt jemand einen Workaroung?

    Das gute Unix - und sein eingeborener Sohn Linux. Oder ist's ne Tochter? Egal, da geht so was. Du kannst dich tatsächlich per ssh auf deinem Raspi einloggen und dort einen grafischen Browser starten, beispielsweise Chromium oder Firefox. Natürlich benötigen solche Browser einen grafischen Bildschirm, den dir die Buchstaben-orientierte Shell nicht bieten kann. Daher können Linux-Maschinen den Browser auf irgendeinem anderen Computer im Netzwerk anzeigen, beispielsweise auf einem Mac oder einem Windows-PC.


    Das sind Sachen, gelle? Das ist ein uraltes Unix-Konzept der späten 80er, als die meisten Computer noch keine grafische Benutzeroberfläche hatten. Und das geht immer noch, auch wenn es längst vergessen ist und es auch niemand mehr wirklich braucht. Alles, was man dazu benötigt, ist ein X-Server.


    Der X-Server wird auf der Maschine installiert, die über eine grafische Benutzeroberfläche verfügt. Im folgenden ist das ein Mac. Auf diesen installiert man den X-Server XQartz und startet ihn.


    XQuartz macht ein Terminal auf, von dem aus man sich auf den Raspi einloggt, und zwar mit dem Befehl

    ssh -X [email protected] (wobei die IP-Adresse des Raspi genommen werden muss und nicht die, die ich jetzt dahin geschrieben habe).


    Nach dem Login auf den Raspi ruft man den Chromium-Browser mit dem Befehl chromium-browser auf. Und voilà: nach ein paar Sekunden erscheint der Browser, der auf dem Raspi läuft, auf dem Bildschirm des Mac.


    Wenn man auf dem Raspi keinen Chromium-Browser installiert hat, kann man das nachholen mit dem Befehlsudo apt-get install chromium-browser.


    Die Frage ist nur: muss der Browser wirklich auf dem Raspi laufen? Denn auch wenn mehr als 30 Jahre vergangen sind, seitdem die X-Technologie entwickelt wurde, ist die Geschwindigkeit des Ganzen die gleiche wie damals geblieben.

  • sschuste


    Super Erklärung!

    Denke aber das es für viele da draußen mit Raspbian Lite das schon zu viel Arbeit sein wird.


    Zurzeit muss man das Plugin tatsächlich auf dem Gerät authentifizieren wo das Plugin installiert ist weil das Plugin einen zu "localhost" weiterleiten lässt. Da man eine "Weiterleitungs URL" Bei Mercedes hinterlegen muss und dieser keine IP Nummer sein darf blieb mir vorerst nichts anderes übrig.


    Bin aber dabei eine weitere Methode zu implementieren um dies zu umgehen wobei man bei der Methode 1-2 Schritte mehr tun müsste :S

  • Guten Morgen SeydX


    das ging ja super schnell - Remote Authentifizierung hab ich durchgeführt:

    http://localhost:3000/callback…xxxxxxxxxx&state=getToken


    Das war dann die Antwort 👍.

    Hab den Code rauskopiert und in die UI Einstellungen kopiert.

    Neustart der homebridge hat geklappt - keine Fehler...


    ABER: im HomeKit taucht mein Marco Polo nicht als Gerät auf - auch beim Hinzufügen zu HomeKit ohne Code wartet kein neues Gerät. Hätte es im STANDARDRAUM erwartet...


    Wahrscheinlich hab ich noch was übersehen?

    Danke für deine Unterstützung!


    sschuste : Danke für den Tip - Chromium hab ich installiert wg. Plugin homebridge-website-to-camera v1.5.3...

  • SeydX - zum dritten Mail ich - das Problem saß wohl vor dem Bildschirm :8o.


    Ich hab das Plugin nochmals deinstalliert, neu installiert, danach nochmals authentifiziert auf Port 3001 - neuen Code eingetragen.


    Und siehe da: nach Neustart der Homebridge sieht es jetzt so aus wie auf dem Bild abei :):):)


    Das ist echt eine tolle Arbeit - weiter so!!!

    Hoffe du schaffst es, dass nicht nur der Status abfragbar ist, sondern auch Aktionen gestartet werden können (z.B. Türen öffnen / schließen) :thumbup:


    Gruß

    Andreas

  • AWeiden


    Ah freut mich das es funktioniert, hoffe auch das Mercedes da nachlegt und uns die Möglichkeit gibt auch das Auto zu steuern

    Ich teste jetzt nachher mal durch, ob in Homekit die Statusänderungen bei Tür auf- bzw. zuschließen auch durchkommen und wie zeitnah das ganze passiert...

    Erfahrung von der MercedesMe App bisher war nämlich, dass dies immer teilweise stark zeitverzögert passiert...


    Hab auf der Developer Seite bei Mercedes gesehen, dass es eine API für den Tankfüllstand gibt. Siehst du hier eine Chance, diese Info in Homekit reinzubekommen?


    THX
    Andreas

  • SeydX Danke für das tolle Plugin !!


    Ich hoffe es ist bald möglich die Standheizung zu steuern, da träum ich schon länger von diese morgens über eine Automation anzuschalten!

  • AWeiden


    Tankfüllstand ist bereits integriert als Batterie und wird in Prozent angezeigt :)


    Die API wird min alle 60s abgefragt. Da die Mercedes API nicht vorschreibt wie oft man abfragen darf und es zu vermehrten Fehlermeldungen komm wenn zu oft abgefragt wird habe ich diese Regel eingebaut das man nicht unter 60s gehen kann beim pollen.


    Auch hier sind aber Fehler seitens der API nicht auszuschließen, manchmal ist die API nicht erreichbar o.ä.


    Größtenteils funktioniert es aber ohne Probleme, Fehlermeldungen wie API nicht verfügbar, Timeout Fehler etc etc treten abber dennoch vereinzelt auf und sind auf Mercedes zurückzuführen.


    Bin aber hierbei in Kontakt mit den Stuttgartern. Mal sehen was da noch kommt.


    Phil

    Ja ich hoffe das da in Zukunft noch mehr Möglichkeiten kommen. Auch das mit der Standheizung würde ich natürlich dann implementieren


    Lg

  • SeydX : erste Tests am Auto sind durch - in HomeKit sehe ich keine Aktualisierungen.

    Habe parallel dazu noch die MercedesMe App auf - dort ist unter Fahrzeugstatus relativ zeitnah die Änderung (Fenster auf, Tür auf , aufgeschlossen etc.) zu sehen.


    Im Plugin tut sich leider nichts?

    Hab mal den Parameter polling noch explizit aufgenommen - auch damit keine Besserung...

    Code
    "polling": 60,

    Somit scheint meine Konfig noch nicht 100% richtig zu sein...


    Was mit auch aufgefallen ist: nach Stop der Homebridge und neuem Start scheint der Auth.Code nicht mehr OK zu sein, folgende Meldung bekomme ich (bei Dialogstart):

    [2020-8-22 13:49:17] [MercedesPlatform] It seems that it is not possible anymore to grant access with your stored token! Please remove the storage folder under /home/pi/.homebridge, restart the plugin and authorize the plugin again!


    Freue mich von dir zu hören....


    Gruß

    Andreas

  • Hallo AWeiden


    Das Problem lag tatsächlich in der Beschreibung auf Github. Da haben paar Sachen gefehlt. Du müsstest dies nochmal ändern.


    Siehe https://github.com/SeydX/homeb…ient-id-and-client-secret


    Habs so ebend aktualisiert.


    Nachdem du alles auf der Mercedes Developer Seite hinzugefügt hast empfehle ich dir die Datei im ‚storage‘ Ordner da wo auch dein config.json ist zu löschen und Homebridge neuzustarten.


    Das Plugin hatte nämlich nur beschränkt Zugang und deswegen die Fehlermeldung


    Lg