apple home homekit iphone7 plus gold 825x510 - Homebridge - Xiaomi Mi Robot Vacuum Saugroboter - Fehlermeldungen

Homebridge – Xiaomi Mi Robot Vacuum Saugroboter – Fehlermeldungen

Vor circa 6 Wochen habe ich mal beim bei Xiaomi Mi Robot Vacuum Saugroboter auf mydealz für unter 200€ zugeschlagen – bisher bin ich auch sehr zufrieden, bei der nächsten Aktion, unter 350€, werde ich mir sicherlich die zweite Generation „schießen“:mrgreen:

Jedenfalls wollte ich den Xiaomi dann natürlich auch im Homebridge haben, die Einrichtung gestaltet sich etwas schwieriger, da man den einmaligen Token des Xiaomi MiHome Gerätes auslesen muss. Ich habe mein iPhone Backup ausgelesen und den Token aus der SQLite-Datei extrahiert und umgewandelt – mehr dazu hier.

Nun ja, beim Einrichten bin ich über mehrere Fehlermeldungen gestolpert, die ich mir für einige Zeit nicht erklären konnte. Jetzt kenne ich aber den Grund und möchte meine Erkenntnisse mit euch teilen.

Es gibt zwei ähnliche Plugins, mit denen man die Xiaomi Staubsaugerroboter der ersten Generation in Homebridge einbinden kann …

… und …

Diese konnten bei meiner Homebridge-Installation beide nicht erfolgreich gestartet werden.

Bei homebridge-xiaomi-mi-robot-vacuum (unterstützt nur die erste Generation) erhielt ich die Fehlermeldung:

Bei homebridge-mi-robot_vacuum (unterstützt die erste und zweite Generation) erhielt ich die Fehlermeldung:

Die jeweils unteren Bereiche der Fehlermeldung sagen uns nur, dass das Plugin nicht gefunden werden konnte. Der obere Bereich ist das Interessante …

Die Variable Path muss eine Zeichenfolge sein, wo möglich ist diese einfach nur leer und …

…, scheinbar ist eine Abhängigkeit des Paketes miio das Problem – appdirectory. In der Zeile 21 der JavaScript Datei wird das Homeverzeichnis des Benutzers ausgelesen, welches offensichtlich auf Fehler läuft, weshalb dann die Xiaomi-Plugins nicht geladen werden können.

Der Grund für das Problem ist, dass ich bei meiner Homebridge-Installation in dem Systemd-Service File die User Variable nicht gesetzt habe – dennoch läuft der Prozess unter „root“, aber das Homeverzeichnis kann von „appdirectory.js“ trotzdem nicht ermittelt werden. (Beitrag zur Einrichtung von Homebridge ist bereits korrigiert)

Lange Fehlersuche, schnelle und einfache Lösung: Im Systemd-Service File, in meinem Fall unter /etc/systemd/system/homebridge.service zu finden, einfach eine Zeile User=USERNAME im Bereich [Service] einfügen. Wenn Homebridge unter root laufen muss, weil beispielsweise Amazon Dash Buttons benutzt werden und man privilegierte Rechte benötigt, um den Netzwerkverkehr per Packet Capture (PCAP) auslesen zu können, kann einfach …

… eingefügt werden und ein …

… reicht und schon sind die Fehlermeldungen verschwunden. Wenn Homebridge aber nicht unter root laufen muss, sollte man es auch nicht tun! In diesem Fall müssen wir zuerst einen passenden User anlegen und die Berechtigungen im Homebridge-Verzeichnis anpassen.

Nun die Dienstdatei anpassen …

… und ein Neustart des Dienstes löst unser Problem.

Ich hoffe, ich konnte mit diesem Artikel ein paar Seelen helfen. 😉

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.