[Gelöst] Homebridge läuft nicht mehr nach Hinzufügen eines Plugins nach längerer Zeit

  • Hallo zusammen,


    ich habe nun schon viele Stunden nach der Ursache dafür gesucht, dass Homebridge auf meinem RaspberryPi 3 nicht mehr läuft.

    Hier die letzten 40 Zeilen aus den syslogs:

    sowie meine homebridge config Datei:

    Ich verstehe nicht, weshalb die Logs ausgeben, dass das Xiaomi Plugin nicht gefunden wurde, obwohl ich es wie hier beschrieben installiert und angelegt habe.


    Ich hoffe ihr könnt mir weiterhelfen :)

  • Du hast in der config.json die Definitionen für ein Plugin angegeben, welches nicht installiert ist.


    Code
     "accessory": "XiaomiRoborockVacuum",


    Wenn du ein Plugin installiert hast in homebridge, so startet es ohne Probleme, auch wenn keine Definitionen in der config.json angelegt sind.


    Wenn du die Definitionen (eines Plugins) in der config.json anlegst UND das Plugin NICHT installiert ist -> gibt es diese Fehlermeldung!




    Kannst du prüfen mit:

    Code
    sudo npm list -g --depth=0
  • Deine Antwort verstehe ich und sie macht natürlich auch Sinn, allerdings habe ich mich lediglich an die Doku/ReadMe des Moduls gehalten.


    sudo npm list -g --depth=0 gibt folgendes aus:

    Code
    pi@raspi1:~ $ sudo npm list -g --depth=0
    /usr/local/lib
    ??? @vue/[email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]

    Ich habe in der config.json nun den Namen angepasst auf "xiaomi-roborock-vacuum, nach einen Homebridge Neustart wird jedoch wieder der bekannte Fehler geworfen:

  • Das accessory muss in jedem Fall XiaomiRoborockVacuum heißen.


    Ich habs zum Spaß mal installiert, und zwar dieses Plugin: https://www.npmjs.com/package/…ge-xiaomi-roborock-vacuum


    Dann habe ich das Beispiel für die config.json von der Plugin-Seite kopiert, in meine config.json eingesetzt und homebridge neu gestartet. Läuft.


    Stefan

  • Vielen Dank für Eure Mühen, allerdings stecke ich nach wie vor am gleichen Punkt fest. Homebridge startet, lädt erfolgreich die ersten Module und bricht dann ab:


    Ich habe auch das Modul erneut installiert, sowie Node geupdated. Das Modul wird mit folgender Meldung installiert:

    Code
    pi@raspi1:~ $ npm i homebridge-xiaomi-roborock-vacuum
    npm WARN [email protected] No description
    npm WARN [email protected] No repository field.
    
    + [email protected]
    updated 1 package and audited 499 packages in 12.825s
    found 0 vulnerabilities


    Habt Ihr noch eine Idee was ich machen könnte?

  • npm uninstall homebridge-xiaomi-roborock-vacuum

    sudo npm install -g --unsafe-perm  homebridge-xiaomi-roborock-vacuum


    Stefan

  • Danke Stefan, habe es so ausprobiert. Leider nach wie vor das Problem:


    bei der Installation des Moduls mit sudo wird folgendes ausgegeben:

    Code
    pi@raspi1:~ $ sudo npm install -g --unsafe-perm  homebridge-xiaomi-roborock-vacuum
    npm ERR! code 128
    npm ERR! Command failed: git clone --depth=1 -q -b master git://github.com/nicoh88/miio.git /root/.npm/_cacache/tmp/git-clone-af1bf601
    npm ERR! fatal: Konnte führende Verzeichnisse von '/root/.npm/_cacache/tmp/git-clone-af1bf601' nicht erstellen.: Keine Berechtigung
    npm ERR! 
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2019-06-30T18_05_39_764Z-debug.log

    bei der Installation des Moduls ohne sudo wird folgendes ausgegeben:

    Code
    pi@raspi1:~ $ npm install -g --unsafe-perm  homebridge-xiaomi-roborock-vacuum
    + [email protected]
    updated 1 package in 10.255s


    Ich sehe leider den Wald vor lauter Bäumen nicht.

  • Hallo exuded


    Ich habe das Plugin selbst erst kürzlich mit meinem Roborock S55 in Betrieb genommen und sehe hier zwei Probleme:


    1. Das Plugin muss als Benutzer „root“ installiert werden, die alleinige Nutzung von „sudo“ reicht hier nicht.


    2. Dein Token ist mit ziemlicher Sicherheit falsch. Such mal im Forum nach „Xiaomi Token auslesen“ und versuche dort Variante 1 (Auslesen eines lokalen unverschlüsselten Backups).


    Bei Fragen zu einzelnen Schritten helfe ich gern, hab ja offenbar grad erst den selben Sauger in Betrieb genommen.?


    Edit: Als Erklärung zu 1.: Entweder meldest du dich zur Installation des Plugins als „root“ auf dem raspberry an oder installierst das Plugin mit voran gestelltem

    Code
    sudo su -

    Einmal editiert, zuletzt von Sebbo187 ()

  • Hey Sebbo187,


    Vielen Dank für deinen Vorschlag.

    zu 1.: Ich habe das Plugin nun als root installiert. Nach einem Neustart von Homebridge erhalte ich nach wie vor diese Log Ausgaben:

    zu 2.: Ja das stimmt, ich habe das Token für den Eintrag hier im Forum abgewandelt. In der config.json steht das richtige Token. Ich habe es nach der von dir erwähnten Anleitung ausgelesen und decodiert.


    Meine config liegt in /var/homebridge/config.json

    Liegt hier vielleicht der Fehler?

  • Deine Config liegt da schon richtig und sollte da auch bleiben. Die Homebridge findet diese ja auch, die Platforms werden ja geladen.


    Ging die Installation des Plugins als root ohne Fehlermeldung durch?


    Das Plugin benötigt zudem noch "miio", um den Status eines Xiaomi Gerätes abrufen zu können. Dieses installierst du über

    Code
    sudo npm install -g miio


    Was zeigt die Homebridge nach einem Neustart im Anschluss?



    Edit: Die Abhängigkeit sollte zwar zur Sicherheit installiert werden, die vorliegende Fehlermeldung deutet aber eher darauf hin, dass das Plugin an sich noch nicht korrekt installiert ist.



    Daher nochmal zur Übersicht:


    Das Plugin installieren wir mit:

    Code
    sudo su - 
    npm install -g homebridge-xiaomi-roborock-vacuum@latest --unsafe-perm

    Dies sollte ohne Fehlermeldung durchlaufen (Gern einmal die Ausgabe hier posten).


    Als Nächstes installieren wir die benötigte Abhängigkeit:

    Code
    sudo npm install -g miio

    und passen zuletzt unsere Config an:

    Code
    "accessories": [
     {
      "accessory": "XiaomiRoborockVacuum",                 
      "name": "Xiaomi Mi Robot Vaccum 2nd Generation",     
      "ip": "192.168.1.150",                               
      "token": "abcdef1234567890abcdef1234567890",         
      "pause": false,                                      
      "dock": true                                         
     }
    ],


    Nach einem Restart der Homebridge sollte es nun funktionieren.. ;)


    Edit: Der Übersichtlichkeit halber habe ich die Kommentare entfernt und liste sie folgend noch einmal auf:


    accessory //darf nicht verändert werden

    name //kann frei gewählt werden

    ip //kann in Xiaomi App angezeigt werden

    token //zuvor ausgelesener Token

    pause //true oder false

    dock //true oder false

    6 Mal editiert, zuletzt von Sebbo187 () aus folgendem Grund: Übersichtlichkeit geschaffen (Kommentare ausgelagert)

  • Ich habe es mal so durchgeführt wie du oben beschrieben hast. Nach wie vor startet Homebridge nicht und es wird folgendes ins Log geschrieben:

    hier nochmals alle Module, die ich nun installiert habe:

    Code
    pi@raspi1:~ $ sudo npm list -g --depth=0
    /usr/local/lib
    ??? @vue/[email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]
    ??? [email protected]

    Das re-/installieren der Plugins lief ohne Fehlermeldungen durch:

    Code
    pi@raspi1:~ $ sudo npm install -g miio
    /usr/local/bin/miio -> /usr/local/lib/node_modules/miio/cli/index.js
    + [email protected]
    updated 1 package in 10.469s
    
    pi@raspi1:~ $ sudo su -
    root@raspi1:~# npm install -g homebridge-xiaomi-roborock-vacuum@latest --unsafe-perm
    + [email protected]
    updated 1 package in 10.249s

    Was nun? ?(

    • Hilfreich

    Sieht eigentlich alles gut aus, die Config ist noch immer die aus dem ersten Post?


    Versuch ansonsten doch zuerst einmal, die Homebridge auf die aktuelle Version (0.4.50) zu bringen

    Code
    sudo npm install -g --unsafe-perm homebridge@latest

    und danach das Plugin erneut in Betrieb zu nehmen.


    Wie schaut es dann aus?

  • ES FUNKTIONIERT!!!


    Sorry für die Caps, aber ich bin gerade ziemlich happy und hätte nicht gedacht, dass es an der Homebridge Version liegen kann.

    Wahrscheinlich wurden beim Homebridge update auch andere Pakete gefixt.


    Wie kann man diesen Thread nun als gelöst markieren?

  • exuded

    Hat den Titel des Themas von „Homebridge läuft nicht mehr nach Hinzufügen eines Plugins nach längerer Zeit“ zu „[Gelöst] Homebridge läuft nicht mehr nach Hinzufügen eines Plugins nach längerer Zeit“ geändert.
  • 1. Das Plugin muss als Benutzer „root“ installiert werden, die alleinige Nutzung von „sudo“ reicht hier nicht.

    Ich konnte das Plugin völlig problemfrei mit sudo installieren. Installiert habe ich es übrigens mit homebridge-config-ui-x, aber das macht ja auch nix anderes als ein sudo npm install -g --unsafe-perm roborockdings.

  • Bei mir ergab die Installation mit sudo ebenfalls Fehlermeldungen, erst als ich es ,wie in der Anleitung des Plugins beschrieben, als root installierte, lief es fehlerfrei durch..?


    Edit: sschuste Hat dein /root/.npm Verzeichnis möglicherweise andere Besitzer als in der Standardinstallation bzw. bei mir/uns??


    Hab da soweit auch keine Erklärung für..


    Edit2: Ich habe es nun noch einmal mit einer frischen Homebridge getestet und mit sudo allein lässt sich das Plugin bei einer "normalen" Raspbian Installation definitiv nicht installieren.. ;)

    Einmal editiert, zuletzt von Sebbo187 ()

  • Was weiß ich. Das passiert oft (immer?), wenn git clone ins Spiel kommt, aber ich war bislang zu faul, das begreifen zu wollen :sleeping: