Homebridge startet nicht mehr

  • Liegt an NPM 6.9.0 geh mal auf die 6.8.0 dann geht es wieder ist ein Bug in NPM

  • Ganz gelöst ist das Problem leider nicht, denn ich habe immer noch verschiedene Homebridges, zumindet glaube ich das


    Code
    npm i homebridge-fritz-platform
    npm WARN saveError ENOENT: no such file or directory, open '/home/pi/package.json'
    npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
    npm WARN pi No description
    npm WARN pi No repository field.
    npm WARN pi No README data
    npm WARN pi No license field.


    + [email protected]

    updated 1 package and audited 4042 packages in 23.397s

    found 2 high severity vulnerabilities

    run `npm audit fix` to fix them, or `npm audit` for details


    Aber bei der Auflistung der Plugins taucht es nicht auf....


    Code
    npm ERR! error in /usr/local/lib/node_modules/homebridge-bluetooth: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/homebridge-bluetooth/package.json'
    npm ERR! error in /usr/local/lib/node_modules/homebridge-eq3ble: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/homebridge-eq3ble/package.json'
    npm ERR! error in /usr/local/lib/node_modules/homebridge-platform-eq3btsmart: ENOENT: no such file or directory, open '/usr/local/lib/node_modules/homebridge-platform-eq3btsmart/package.json'




    Diese Fehler würde ich auch gerne entfernen....


    ich habe mal in /etc/systemd/system geschaut, aber da gibt es nur einen homebridge.service mit dem Inhalt



    Ich würde gerne endlich alles wieder zum Laufen bekommen....die Config hängt auch irgendwie in /var/homebridge/config.json


    Das ist irgendwie undurchsichtig für mich.....


    Habe herausgefunden, dass das Plugin unter /home/pi/node_modules liegt, die anderen unter /usr/local/lib/node_modules


    sschuste  FettesB @vgnsxe Was muss ich nun tun, damit ich die eine Instanz lösche und alles nur über eine Config mache und auch dort die Plugins habe? Ich habe auch herausgefunden, dass es doch diverse .Service Dateien und Homebridge Dateien gibt.

  • Habe herausgefunden, dass das Plugin unter /home/pi/node_modules liegt, die anderen unter /usr/local/lib/node_modules

    Diese Plugin wurde anders installiert als die anderen Plugins. Plugins landen immer in /home/pi/node_modules wenn du sie nicht global installierst.


    Globale Installation: npm install -g

    Nicht-globale Installation: npm install


    Eigentlich sollte es egal sein, wo sie liegen. Funktionieren sollte es in jedem Fall. Es ist aber halt ziemlich unschön, wenn die Plugins mal hier und mal dort landen. In meinen Augen sollten sie für einen Server im Produktionsmodus immer in /usr/local/lib/node_modules liegen (auf manchen System langen sie in /usr/lib/node_modules, das ist auch ok). Produktionsmodus heißt: der Server arbeitet funktionsfähig in einer Umgebung, an der nix gebastelt oder herumgespielt wird.


    Eine lokale Installation bietet sich an, wenn man Plugins entwickelt.


    Wer es ernst meint und auf jede Störung seiner Hausautomatik verzichten will, bräuchte einen zweiten Raspi, auf dem er alle Neuerungen und Änderung vorher testet, bevor er sie auf den "Haupt-Raspi" loslässt. Das müsste dann soweit gehen, dass man sogar alle smarten Geräte doppelt hat (oder einen Teil davon) und am besten macht man das noch in einem eigenen Netzwerk. Das ist natürlich völlig albern in unseren Setups. Daher heißt es für uns immer: operieren am offenen Herzen und das mit ungewissem Ausgang.


    Das bedeutet, dass man peinlich genau aufpassen muss, was man macht. Nur: Fehler macht jeder. Hier mal ein kleines -g vergessen und schon braucht der Patient eine Beatmungsmaschine. Und der Lebenspartner ebenfalls.


    Fehler kann man gut vermeiden, indem man vieles automatisiert und den Computer machen lässt. Der ist glücklicherweise zu doof, um Fehler zu machen (mir graust schon vor KI, die dann schlau genug ist, um Fehler zu machen). Ich nutze zur Installation immer homebridge-config-ui-x. Das Plugin macht nichts anderes als man selber, aber das halt immer gleich.


    Du kannst das Plugin entfernen, indem du es mit npm uninstall pluginname entfernst und mit npm install -g pluginname erneut und dann global installierst. Da du global installieren willst und dafür Schreibrechte in /usr/local/lib/node_modules brauchst, muss die Installation zwingend als root vorgenommen werden. Das bedeutet, du loggst dich entweder als root ein oder als User pi, der dann ein dem Installationsbefehl ein sudo voranstellen muss.


    Ich würde auch immer den Parameter --unsafe-perm dazu geben, also letztendlich sudo npm install -g --unsafe-perm pluginname.


    Also: sudo ist wichtig und -g ist wichtig.


    Stefan

  • Hallöchen,



    Meine Homebridge zickt seit einigen Tagen brutal rum und ich weiß nich so recht, was da los ist.

    Die Probleme gingen los, als ich zuletzt über das config ui Plugin diverse Updates installiert habe.


    Im Anhang habe ich mal die entsprechende Terminal Ausgabe angefügt. Wäre total gut, wenn mal kurz jemand einen Blick drauf werfen könnte.

  • Da es beim Laden von raspi temperature den Fehler gibt, wuerde ich mich um dieses Plugin als erstes Kuemmern!

  • Da es beim Laden von raspi temperature den Fehler gibt, wuerde ich mich um dieses Plugin als erstes Kuemmern!

    Ja, klingt gut. Einmal deinstallieren und Homebridge neu starten. Das Plugin scheint etwas überflüssig zu sein, da die config-ui-x ebenfalls die Temperatur des Pi anzeigt.

  • desty

    Hat den Titel des Themas von „Homer irgendwie startet nicht mehr“ zu „Homebridge startet nicht mehr“ geändert.
  • ne, leider haben alle tipps nicht zum erfolg geführt. hier nochmal die Terminal ausgabe:


    [2019-4-30 22:59:56] Loaded config.json with 1 accessories and 1 platforms.
    [2019-4-30 22:59:56] ---
    [2019-4-30 22:59:56] Loaded plugin: homebridge-automation-switches
    [2019-4-30 22:59:56] Registering platform 'homebridge-switches.AutomationSwitches'
    [2019-4-30 22:59:56] ---
    [2019-4-30 22:59:56] Loaded plugin: homebridge-config-ui-x
    [2019-4-30 22:59:56] Registering platform 'homebridge-config-ui-x.config'
    [2019-4-30 22:59:56] ---
    [2019-4-30 22:59:57] Loaded plugin: homebridge-harmony
    [2019-4-30 22:59:57] Registering platform 'homebridge-harmonyHub.HarmonyHubWebSocket'
    [2019-4-30 22:59:57] ---
    [2019-4-30 22:59:57] Plugin /usr/local/lib/node_modules/homebridge-hue requires Node version of ^10.15.3 which does not satisfy the current Node version of v11.11.0. You may need to upgrade your installation of Node.
    [2019-4-30 22:59:59] Loaded plugin: homebridge-hue
    [2019-4-30 22:59:59] Registering platform 'homebridge-hue.Hue'
    [2019-4-30 22:59:59] ---
    [2019-4-30 22:59:59] Loaded plugin: homebridge-ifttt
    [2019-4-30 22:59:59] Registering platform 'homebridge-ifttt.IFTTT'
    [2019-4-30 22:59:59] ---
    [2019-4-30 22:59:59] Loaded plugin: homebridge-telegram
    [2019-4-30 22:59:59] Registering platform 'homebridge-telegram.Telegram'
    [2019-4-30 22:59:59] ---
    [2019-4-30 23:00:00] Loaded plugin: homebridge-tuya-lan
    [2019-4-30 23:00:00] Registering platform 'homebridge-tuya-lan.TuyaLan'
    [2019-4-30 23:00:00] ---
    [2019-4-30 23:00:00] Loading 1 platforms...
    [2019-4-30 23:00:00] TypeError: Cannot read property 'indexOf' of undefined
    at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:120:12)
    at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45)
    at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36)
    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
    at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:799:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
    at Module.load (internal/modules/cjs/loader.js:666:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
    at Function.Module._load (internal/modules/cjs/loader.js:598:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
    at internal/main/run_main_module.js:21:11
    [2019-4-30 23:00:00] Got SIGTERM, shutting down Homebridge...

  • Poste doch mal deine config, vielleicht finden wir da n Fehler...

  • Auch ein netter Ansatz, Marco Schmidt und danke fuer die Korrektur FettesB jedoch habe ich bisher den oben beschriebenen Fehler ausschließlich erlebt, wenn die config.json nicht korrekt ist und etwas nicht gefunden wurde. Deshalb gehe ich davon aus, dass wir mit der config den Fehler relativ schnell beheben sollten.

  • also die config hab ich gerade mal in json lint reingeworfen. die is korrekt.

    Das Problem liegt mMn irgendwo bei der Homebridge ansich.

    Auch wenn sie laut jsonlint korrekt ist, kann sie trotzdem falsche Werte enthalten, die diesen Fehler hervorrufen!


    Wenn du nach dem Fehler und homebridge suchst, findest du NUR Eintraege mit Fehler in der config.


    Aber okay, wenn du denkst die ist korrekt, dann such weiter wo anders nach einer Loesung!

  • also die config hab ich gerade mal in json lint reingeworfen. die is korrekt.

    Nach meinem Verständnis wird dort nur die Syntax geprüft, das heißt, ob alle Kommas und Klammern richtig sind, ob die Befehle richtig geschrieben sind, usw. Dein Setup wird und kann dort nicht geprüft werden. Daher wäre ein Blick in Deine config.json sicherlich hilfreich.

  • Sieht so aus, als steckte ein accessory in den platforms.

  • Sieht so aus, als steckte ein accessory in den platforms.

    okay... also ich bin jetzt komplett am Ende mit meinen Ideen. Ich poste dann mal meine config.json nachdem ich da alles mögliche an Müll rausgeworfen habe.




    {

    "bridge": {

    "name": "Homebridge",

    "username": "xx:xx:B:E3:xx:30",

    "port": 51826,

    "pin": "111-11-111"

    },

    "description": "Home Smart Home",

    "platforms": [{

    "platform": "Info",

    "port": 9876,

    "name": "Homebridge Info Server",

    "updateFrequency": 11000,

    "updateCheckFrequency": 86400

    },

    {

    "platform": "TuyaLan",

    "devices": [{

    "name": "Steckdose",

    "type": "Outlet",

    "manufacturer": "Cotify",

    "model": "Blitzwolf Steckdose",

    "id": "1111111111",

    "key": "xxxxxxxx"

    }]

    },

    {

    "platform": "Hue",

    "users": {

    "xxxxxxxxx": "xxxxxxxxxx"

    },

    "lights": true,

    "sensors": false,

    "nativeHomeKitSensors": false,

    "nativeHomeKitLights": false,

    "excludeSensorTypes": [

    "CLIPPresence",

    "Geofence"

    ]

    },

    {

    "name": "Homebridge Config Webinterface",

    "port": 8080,

    "auth": "form",

    "theme": "blue-grey",

    "restart": "sudo -n systemctl restart homebridge",

    "temp": "/sys/class/thermal/thermal_zone0/temp",

    "tempUnits": "c",

    "sudo": true,

    "log": {

    "method": "systemd",

    "service": "homebridge"

    },

    "platform": "config"

    }


    ],

    "accessories": []

    }

  • Da dein erstes log sehr viele andere Plugins auch mit aufgefuehrt hat waere meine Frage: Hast du diese auch deinstalliert, oder nur aus der config verbannt?


    Hast du nachdem du die config hier bereinigt hast mal die cachedAccessories datei im hombridge/accessories Ordner geloescht? Nicht, dass da immer noch was mitgeladen wird?


    Denn im Vergleich zum ersten Log, fehlt zumindest schonmal das homebridge-weather Plugin, welches nicht aufgefuehrt wurde.


    Mich wundert auch, dass du homebridge mit „homebridge start“ startest, dann wiederum beim config-ui-x als systemd angegeben ist.


    Kann es vielleicht sein, dass du zwei verschiedene config.jsons hast und es die falsche laedt, aufgrund des Startverhaltens?

  • Das sieht alles richtig aus. Was hier schon gelegentlich vorkam, ist, dass irgendwelche unsichtbaren Zeichen in der Konfiguration stecken und Fehler erzeugen. Versuche mal genau die Konfig auf deinem Post da oben zu kopieren und damit die Konfiguration auf deinem Raspi zu ersetzen. Vielleicht hilft's.


    Stefan

  • hmmmm. Also ich starte die HB mit "homebridge start". Das ist richtig. Der Befehl is allerdings nur nen Shortcut, den ich mir damals angelegt hab.
    accessories ordner habe ich gerade mal gelöscht - Leider hat das keinen Erfolg gebracht.



    Zu deiner Frage mit den Plugins: Da bin ich mir jetzt tatsächlich gar nicht mal so sicher. Ich habe einiges über das Webinterface gelöscht. Es kann aber sein, dass da noch irgendwo Müll rumliegt. Aber wie finde ich das nun raus? Ins WebUI komme ich ja nicht mehr rein. :-/