NEWS
UNSOLVED HAM adapter Verbindungsprobleme
-
@suffix said in HAM adapter Verbindungsprobleme:
@Thomas-Braun said in HAM adapter Verbindungsprobleme:
@suffix Da stimmt noch was nicht.
sudo rm /usr/local/bin/npm
Einfach den Befehl ausführen? Wie installier npm ich danach am besten neu?
Edit:
Befehl ausgeführt, neue Ausgabe:pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs /usr/bin/nodejs v12.19.0 /usr/bin/node v12.19.0 /usr/bin/npm 6.14.8 nodejs: Installiert: 12.19.0-1nodesource1 Installationskandidat: 12.19.0-1nodesource1 Versionstabelle: *** 12.19.0-1nodesource1 500 500 https://deb.nodesource.com/node_12.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.21.0~dfsg-1~deb10u1+rpi1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages pi@raspberrypi:~ $
-
@suffix Ja, jetzt passt es soweit.
-
@Thomas-Braun
Super, danke.Leider besteht aber immernoch das Eingangs genannte Problem
Ich frage mich zum Bsiepiel auch, warum immer '/lib/user' im Log hinter meinem angegebenen Pfad steht. Ich gebe im HAM Adapter ja als globalen Homebridge Pfad '/usr/local/lib/node_modules/' an. Im Log macht er daraus '/usr/local/lib/node_modules/lib/user'
Keine Ahnung wo das Problem ist
-
@suffix
Sicher dass der Kram in /usr/local liegt? -
@Thomas-Braun
Nein, aber ich wüsste nicht mehr wo sonst. Es soll der globale Pfad zu den npm Modulen angegeben werden. Den kann man mitnpm root -g
Abrufen. Und dabei bekomme ich den genannten zurück.
Hier nochmal ein etwas ausführlicher Auszug aus dem log, ich versuch’s gleich noch etwas leserlicher zu formatieren:
fo instance system.adapter.ham.0 terminated with code 0 (NO_ERROR) ham.0 2020-10-13 08:53:14.732 info (13119) Terminated (NO_ERROR): Without reason ham.0 2020-10-13 08:53:14.730 info (13119) terminating ham.0 2020-10-13 08:53:14.583 info (13119) cleaned everything up... ham.0 2020-10-13 08:53:14.582 error at checkLocalMode (/opt/iobroker/node_modules/iobroker.ham/main.js:400:25) ham.0 2020-10-13 08:53:14.582 error at /opt/iobroker/node_modules/iobroker.ham/main.js:203:13 ham.0 2020-10-13 08:53:14.582 error at installAllLibraries (/opt/iobroker/node_modules/iobroker.ham/main.js:381:21) ham.0 2020-10-13 08:53:14.582 error at /opt/iobroker/node_modules/iobroker.ham/main.js:217:39 ham.0 2020-10-13 08:53:14.582 error at Object.init (/opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js:63:12) ham.0 2020-10-13 08:53:14.582 error at require (internal/modules/cjs/helpers.js:74:18) ham.0 2020-10-13 08:53:14.582 error at Module.require (internal/modules/cjs/loader.js:903:19) ham.0 2020-10-13 08:53:14.582 error at Function.Module._load (/opt/iobroker/node_modules/mock-require/index.js:30:22) ham.0 2020-10-13 08:53:14.582 error at Function.Module._load (internal/modules/cjs/loader.js:687:27) ham.0 2020-10-13 08:53:14.582 error at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15) ham.0 2020-10-13 08:53:14.582 error - /opt/iobroker/node_modules/iobroker.ham/main.js ham.0 2020-10-13 08:53:14.582 error - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js ham.0 2020-10-13 08:53:14.582 error Require stack: ham.0 2020-10-13 08:53:14.582 error (13119) Error: Cannot find module 'usr/local/lib/node_modules/lib/user' ham.0 2020-10-13 08:53:14.580 error - /opt/iobroker/node_modules/iobroker.ham/main.js ham.0 2020-10-13 08:53:14.580 error - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js ham.0 2020-10-13 08:53:14.580 error Require stack: ham.0 2020-10-13 08:53:14.580 error (13119) unhandled promise rejection: Cannot find module 'usr/local/lib/node_modules/lib/user' Unhandled 2020-10-13 08:53:14.579 error promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ham.0 2020-10-13 08:53:14.556 info (13119) No additional Libraries to install ... ham.0 2020-10-13 08:53:14.527 info (13119) starting. Version 3.0.1 in /opt/iobroker/node_modules/iobroker.ham, node: v12.19.0, js-controller: 3.1
Hier die Beschreibung von HAM von GitHub (https://github.com/ioBroker/ioBroker.ham#global-homebridge-mode) :
"Global-Homebridge-Mode
If you already use Homebridge (Apple OpenSource SmartHome) to control your devices then you can use this existing Homebridge installation and start this Homebridge installation as ioBroker process. In this case the Homebridge server is started by ioBroker. Additionally all states from Homebridge are available as states in ioBroker and allows to control from ioBroker.For this to work you need to provide the location of the systems global node-modules folder. For this call npm root -g. Additionally you need to privide the path of the homebridge configuration directory (usually .homebridge in the users folder)."
-
@suffix Da muss dir jemand anderes helfen. Keine Ahnung von HAM.
-
@Thomas-Braun
Trotzdem schon mal vielen Dank@apollon77, kannst du mir da vielleicht weiter helfen?![alt text]
Hier noch meine aktuelle Konfiguration:
-
@suffix Naja gib mal den Global Pfad richtig ein, da fehlt mindestens ein / am anfang
-
Ups
Habs geändert, leider kommt nach wie vor der selbe Fehler.
Muss Homebridge vllt gestoppt sein, damit HAM es starten kann? Kann es irgendwie daran liegen? Oder muss ich noch einen Befehlsparameter in der HAM Konfig angeben?
-
@suffix Welche Homebridge ist lokal installiert? Der Adapter ist aktuellkompatbelmit der 1.1.x von homebridge
-
@apollon77
Es ist Hoobs 3.2.6 installiert. Auf welcher Homebridge Version das Basiert weiß ich gerade nicht, versuche es mal herauszufinden.Also im HOOBS log steht „Homebridge Version 3.2.6“, aber das kann ja eigentlich nicht stimmen.
Dass der Adapter nicht mit Homebridge 1.2.x kompatibel ist würde aber heißen dass ich vorerst eine ältere Version installieren müssen. Ist ein Update des Adapters bald geplant?
Gibt es noch eine andere Möglichkeit, einen Fake Switch von HomeKit/Homebridge zu ioBroker zu bringen? Ich hab eigentlich keine große Laune dazu Homebridge neu zu installieren, während HOOBS aktuell eigentlich problemlos läuft
-
@suffix Also wenn ich nicht ganz irre ist das kein echtes Homebridge sondern seeehr customized - wenn ich es richtig , daher sage ich mal "im worst case nicht kompatibel"
-
@suffix sagte in HAM adapter Verbindungsprobleme:
Dass der Adapter nicht mit Homebridge 1.2.x kompatibel ist würde aber heißen dass ich vorerst eine ältere Version installieren müssen. Ist ein Update des Adapters bald geplant?
Ich habe nicht gesagt das es mit 1.2 nicht kompatibel ist
ich habs nicht getestet. Und bisher hat noch keiner gesagt das er es braucht. Am Ende ist die 1.2 in meinen augen auch noch nicht 100% stabil wenn ich so die Issues im Github verfolge
-
@apollon77 Ich habe jetzt parallel noch Homebridge v. 1.1.6 installiert. Als Pfade habe ich angegeben:
/usr/local/lib/node_modules/
und
/var/lib/homebridge/
Auch hier besteht das selbe Problem... scheint nicht an der Kompatibilität zu liegen
-
@apollon77
Hier nochmal ein aktueller Auszug aus dem log:host.raspberrypi 2020-10-13 12:23:03.318 info Restart adapter system.adapter.ham.0 because enabled host.raspberrypi 2020-10-13 12:23:03.318 info instance system.adapter.ham.0 terminated with code 0 (NO_ERROR) ham.0 2020-10-13 12:23:02.801 info (24946) Terminated (NO_ERROR): Without reason ham.0 2020-10-13 12:23:02.800 info (24946) terminating ham.0 2020-10-13 12:23:02.774 info (24946) cleaned everything up... ham.0 2020-10-13 12:23:02.773 error (24946) Error: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modules/iobroker.ham/main.j ham.0 2020-10-13 12:23:02.772 error (24946) unhandled promise rejection: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modul ham.0 2020-10-13 12:23:02.771 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ham.0 2020-10-13 12:23:02.750 info (24946) No additional Libraries to install ... ham.0 2020-10-13 12:23:02.719 info (24946) starting. Version 1.1.2 in /opt/iobroker/node_modules/iobroker.ham, node: v12.19.0, js-controller: 3.1.6 host.raspberrypi 2020-10-13 12:23:01.628 info instance system.adapter.ham.0 started with pid 24946 host.raspberrypi 2020-10-13 12:22:31.614 info Restart adapter system.adapter.ham.0 because enabled host.raspberrypi 2020-10-13 12:22:31.614 info instance system.adapter.ham.0 terminated with code 0 (NO_ERROR) ham.0 2020-10-13 12:22:31.084 info (24617) Terminated (NO_ERROR): Without reason ham.0 2020-10-13 12:22:31.083 info (24617) terminating ham.0 2020-10-13 12:22:31.058 info (24617) cleaned everything up... ham.0 2020-10-13 12:22:31.057 error (24617) Error: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modules/iobroker.ham/main.j ham.0 2020-10-13 12:22:31.056 error (24617) unhandled promise rejection: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modul ham.0 2020-10-13 12:22:31.055 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ham.0 2020-10-13 12:22:31.033 info (24617) No additional Libraries to install ... ham.0 2020-10-13 12:22:30.994 info (24617) starting. Version 1.1.2 in /opt/iobroker/node_modules/iobroker.ham, node: v12.19.0, js-controller: 3.1.6 host.raspberrypi 2020-10-13 12:22:29.966 info instance system.adapter.ham.0 started with pid 24617 host.raspberrypi 2020-10-13 12:21:59.934 info Restart adapter system.adapter.ham.0 because enabled host.raspberrypi 2020-10-13 12:21:59.932 info instance system.adapter.ham.0 terminated with code 0 (NO_ERROR) ham.0 2020-10-13 12:21:59.400 info (24232) Terminated (NO_ERROR): Without reason ham.0 2020-10-13 12:21:59.399 info (24232) terminating ham.0 2020-10-13 12:21:59.374 info (24232) cleaned everything up... ham.0 2020-10-13 12:21:59.373 error (24232) Error: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modules/iobroker.ham/main.j ham.0 2020-10-13 12:21:59.372 error (24232) unhandled promise rejection: Cannot find module '/usr/local/lib/node_modules/lib/user' Require stack: - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js - /opt/iobroker/node_modul ham.0 2020-10-13 12:21:59.371 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ham.0 2020-10-13 12:21:59.350 info (24232) No additional Libraries to install ... ham.0 2020-10-13 12:21:59.320 info (24232) starting. Version 1.1.2 in /opt/iobroker/node_modules/iobroker.ham, node: v12.19.0, js-controller: 3.1.6 host.raspberrypi 2020-10-13 12:21:58.242 info instance system.adapter.ham.0 started with pid 24232 host.raspberrypi 2020-10-13 12:21:28.211 info Restart adapter system.adapter.ham.0 because enabled host.raspberrypi 2020-10-13 12:21:28.210 info instance system.adapter.ham.0 terminated with code 0 (NO_ERROR) ham.0 2020-10-13 12:21:27.674 info (23902) Terminated (NO_ERROR): Without reason ham.0 2020-10-13 12:21:27.673 info (23902) terminating ham.0 2020-10-13 12:21:27.643 info (23902) cleaned everything up... ham.0 2020-10-13 12:21:27.642 error at checkLocalMode (/opt/iobroker/node_modules/iobroker.ham/main.js:397:25) ham.0 2020-10-13 12:21:27.642 error at /opt/iobroker/node_modules/iobroker.ham/main.js:203:13 ham.0 2020-10-13 12:21:27.642 error at installAllLibraries (/opt/iobroker/node_modules/iobroker.ham/main.js:378:21) ham.0 2020-10-13 12:21:27.642 error at /opt/iobroker/node_modules/iobroker.ham/main.js:217:39 ham.0 2020-10-13 12:21:27.642 error at Object.init (/opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js:62:12) ham.0 2020-10-13 12:21:27.642 error at require (internal/modules/cjs/helpers.js:74:18) ham.0 2020-10-13 12:21:27.642 error at Module.require (internal/modules/cjs/loader.js:903:19) ham.0 2020-10-13 12:21:27.642 error at Function.Module._load (/opt/iobroker/node_modules/mock-require/index.js:30:22) ham.0 2020-10-13 12:21:27.642 error at Function.Module._load (internal/modules/cjs/loader.js:687:27) ham.0 2020-10-13 12:21:27.642 error at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15) ham.0 2020-10-13 12:21:27.642 error - /opt/iobroker/node_modules/iobroker.ham/main.js ham.0 2020-10-13 12:21:27.642 error - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js ham.0 2020-10-13 12:21:27.642 error Require stack: ham.0 2020-10-13 12:21:27.642 error (23902) Error: Cannot find module '/usr/local/lib/node_modules/lib/user' ham.0 2020-10-13 12:21:27.641 error - /opt/iobroker/node_modules/iobroker.ham/main.js ham.0 2020-10-13 12:21:27.641 error - /opt/iobroker/node_modules/iobroker.ham/lib/global-handler.js ham.0 2020-10-13 12:21:27.641 error Require stack: ham.0 2020-10-13 12:21:27.641 error (23902) unhandled promise rejection: Cannot find module '/usr/local/lib/node_modules/lib/user' Unhandled 2020-10-13 12:21:27.640 error promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ham.0 2020-10-13 12:21:27.618 info (23902) No additional Libraries to install ... ham.0 2020-10-13 12:21:27.588 info (23902) starting. Version 1.1.2 in /opt/iobroker/node_modules/iobroker.ham, node: v12.19.0, js-controller: 3.1.6 host.raspberrypi 2020-10-13 12:21:26.496 info instance system.adapter.ham.0 started with pid 23902 host.raspberrypi 2020-10-13 12:20:57.338 info Restart adapter system.adapter.ham.0 because enabled
Fehlen da vllt irgendwo Berechtigungen?
Edit: Selbst wenn ich den Global Hombridge Path leer lasse steht im Log immer 'Cannot find module: 'lib/user'.
Ich kann mir nicht erklären woher er immer dieses lib/user nimmt was hintenran gehängt wird... wenn der pfad immer verändert wid, kann es ja im prinzip auch nicht funktionieren. Kann man da irgendwie eingreifen? -
Ich habe es nun nach Stunden halbwegs hinbekommen.
Der Adapter scheint tatsächlich nicht mit HOOBS kompatibel zu sein. Ich habe Homebridgenach offizieller Vorgehensweise (außer dass ich Node ja schon hatte) parallel dazu installiert (gleiche sd Karte).
Das Problem besteht bei mir aber im Prinzip noch darin, dass Homebridge normalerweise automatisch gestartet wird brim Systemstart. Der ham Adapter möchte Homebridge aber selber starten. Ich habe also immer eine „Adresse already in use“ (oder so ähnlich) Meldung bekommen. Homebridge also gestoppt, den Adapter neu gestartet und es wurde grün.
Ich habe daraufhin
sudo systemctl disable Homebridge.service
Gemacht. Davon habe ich mir erhofft dass der Autostart deaktiviert wird, damit ioBroker (ham) freie Bahn hat. Leider kann ich so aber nicht mehr aufs systemd log zugreifen und auch der Menüpunkt „Geräte“ ist nicht mehr vorhanden. Wenn ich den Dienst wieder aktiviere geht es wieder normal. Ich habe dann noch Rechte für den Homebridge Ordner freigegeben und den User ioBroker der Gruppe Homebridge hinzugefügt, damit nicht durch falsche Berechtigungen Probleme auftreten.
Ich habe die Bridge zwar nun in HomeKit drin, aber es fühlt sich so an als wäre das nicht so ganz richtig alles. Kann ich diese Probleme irgendwie beheben?
Wäre es sinnvoll alles neu aufzusetzen, oder laufe ich dann in die gleichen Probleme? -
@suffix Das Problem ist das auch das "Geräte" Plugin und solcher "kram" in homebridge eingreifen und das scheint sich mit dem zu beissen was der Adapter tut. Ich hatte noch nie Zeit das mal wirklich zu untersuchen. Der Adapter ist primär dazu da weitere Geräte einzubinden die ioBroker an sich nicht hat in dem man die Homebridge Plugins nutzen kann.
-
@apollon77 said in HAM adapter Verbindungsprobleme:
Der Adapter ist primär dazu da weitere Geräte einzubinden die ioBroker an sich nicht hat in dem man die Homebridge Plugins nutzen kann.@apollon77 Verstehe, genau das ist auch mein Ziel. Also ich möchte die Geräte die ich in Homebridge habe zu ioBroker bekommen und dort als Objekte haben. Das geht soweit mir bekannt nur mit dem Globalen Modus vom HAM Adapter. Das heißt es gibt dafür aktuell keine Lösung, oder kann es auch an einer falschen Konfiguration gelegen haben?
Wäre es möglich den Adapter zu Updaten? Ich wundere mich dass noch nicht mehr dieses Problem haben.
-
@suffix
/usr/local/
sieht für mich nach dem falschen Pfad aus.