Zigbee2mqtt Probleme in Homebridge/ Raspberry Pi installieren

  • Guten Tag und ein frohes neues Jahr!


    Ich bin ganz neu auf dem Gebiet und habe mir ein Raspberry Pi Zero 2W gekauft und eine Homebridge eingerichtet, nach einer Anleitung die ich hier gefunden habe (danke dafür).


    Nun möchte ich einen Zigbee2mqtt Stick installieren, um damit meine Zigbee Geräte steuern zu können.


    Eine Anleitung zu finden war gar nicht so einfach. Bei Youtube bin ich fündig geworden. Das Video heißt „Alle Zigbee Geräte in Homekit mit zigbee2mqtt und Homebridge Schritt für Schritt erklärt [Teil 13]“.


    Über homebridge.local habe ich in der Homebridge Konsole den Mosquitto MQTT Broker installiert.


    Nun wollte ich den zigbee2mqtt installieren und bei der ersten Kontrolle durch diesen Befehl (/dev/ttyACM0) wird mir „permission denied“ angezeigt.


    Hat jemand eine Idee oder gibt es eine bessere Anleitung?


    Viele Grüße

    Stephan

  • Wo gibst du die Befehle ein? Auf homebridge.local im Terminal?


    Das wird nicht wirklich funktionieren. Lieber auf den Pi mit SSH einloggen und dort den Stick in Betrieb nehmen.


    Wer da keine Lust auf das „Gebastel“ hat, der kauf sich nen Conbee Stick von Dresden Elektronik für 35€ und installiert den bequem mit 2-3 Klicks über die Homebridge. Das ist deutlich Benutzerfreundlicher als irgendeinen anderen Zigbee Stick anzulernen.

    Aber das ist nur meine Meinung. ;)

  • Vielen Dank für die schnelle Antwort.


    Ja genau, ich habe es in dieses Widget eingegeben, wo Homebridge Konsole stand.


    Ich kann natürlich auch Bildschirm und co direkt an den Pi anschließen und die Sachen eingeben.


    Danke für den Tipp mit dem Conbee. Das überlege ich mir mal :)

  • Also, das Homebridge Image legt bei der Installation auch einen sogenannten Service-User an, in dem Fall heißt der Homebridge. Dieser hat nur eingeschränkte Rechte, nämlich so viel wie er eben für den Service Homebridge braucht.

    Und mit diesem Service User gibst du in der Konsole auf der Weboberfläche die Befehle ein. Erkennbar, dass die Zeile mit

    homebridge@homebridge $ beginnt.


    Wenn du neben der Homebridge aber noch anderes Zeugs auf dem Pi installieren willst oder Befehle eingibst, die zB die USB Anschlüsse ansprechen (zB dev/tty/ACM0), dann brauchst du Administratorrechte und die hat der User Homebridge nicht, sondern nur der User Pi.


    Daher musst du dich per SSH (dafür brauchst du keinen Bildschirm und Co. am Pi anschließen) von deinem PC/Mac zum Pi verbinden. Das geht über ssh [email protected] (IP Adresse vom Pi) und dem Standardpasswort raspberry.

  • Ok, danke für die Erklärung. So macht das einen Sinn.

    Ich werde das gleich mal versuchen zu installieren.


    Ich habe mich über den Terminal meines Macbooks in den Pi eingeloggt und alles versucht neu zu installieren.

    Dabei kam das raus:

    pi@homebridge:~ $ sudo apt install mosquitto

    Reading package lists... Done

    Building dependency tree... Done

    Reading state information... Done

    mosquitto is already the newest version (2.0.11-1).

    0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

    pi@homebridge:~ $ sudo apt install mosquitto-clients

    Reading package lists... Done

    Building dependency tree... Done

    Reading state information... Done

    mosquitto-clients is already the newest version (2.0.11-1).

    0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

    pi@homebridge:~ $ sudo nano /etc/mosquitto/mosquitto.conf

    pi@homebridge:~ $ /dev/ttyACM0

    -bash: /dev/ttyACM0: Permission denied

    pi@homebridge:~ $


    Also der mqtt wird immer noch nicht erkannt und mosquitto wurde nicht neu installiert, da es schon vorhanden war. Dann hatte es vorhin über die HB Konsole doch geklappt?

    Einmal editiert, zuletzt von DJay () aus folgendem Grund: Ein Beitrag von Schreipfeler mit diesem Beitrag zusammengefügt.

  • Ja, hab mich vllt falsch ausgedrückt. Du kannst durchaus auch andere Dinge mit dem User Homebridge installieren, aber bei vielen Dinge fehlen ihm die nötigen Rechte. Das war auch eher auf so Befehle wie die USB Anschlüsse prüfen etc. Bezogen.


    Scheinbar wurde Mosquitto schon installiert, ja.


    Wird der Stick denn erkannt? Gib mal bitte

    Code
    ls -l /dev/ttyACM0

    Und auch

    Code
    lsusb


    Ein.

  • /dev/ttyACM0

    Das ist der Befehl? Kann ich mir nicht vorstellen. Wo hast du das her?

  • Ansonsten wäre es noch hilfreich, wenn man wüsste welchen Adapter du verwendest und ob der schon vorbereitet, sprich „geflasht“ ist: https://www.zigbee2mqtt.io/guide/adapters/. Es gibt nämlich nicht DEN einen „Zigbee2MQTT“ Stick, sondern mehrere


    Und dann natürlich schauen, ob der Adapter erkannt wird: https://www.zigbee2mqtt.io/gui…checking-user-permissions


    Mit dem oben von mir erwähnten Befehl:

    Code
    ls -l /dev/ttyACM0
  • Dann kommt das hier:

    pi@homebridge:~ $ ls -l /dev/ttyACM0

    crw-rw---- 1 root dialout 166, 0 Jan 2 19:39 /dev/ttyACM0

    pi@homebridge:~ $ lsusb

    Bus 001 Device 018: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee

    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    pi@homebridge:~ $


    Das ist der Befehl? Kann ich mir nicht vorstellen. Wo hast du das her?

    Den Befehl habe ich von dieser Seite:

    https://www.zigbee2mqtt.io/gui…checking-user-permissions


    Und die Seite habe ich von diesem Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Ansonsten wäre es noch hilfreich, wenn man wüsste welchen Adapter du verwendest und ob der schon vorbereitet, sprich „geflasht“ ist: https://www.zigbee2mqtt.io/guide/adapters/. Es gibt nämlich nicht DEN einen „Zigbee2MQTT“ Stick, sondern mehrere


    Und dann natürlich schauen, ob der Adapter erkannt wird: https://www.zigbee2mqtt.io/gui…checking-user-permissions


    Mit dem oben von mir erwähnten Befehl:

    Code
    ls -l /dev/ttyACM0

    Ich benutze diesen Adapter und ich habe einen Stick gekauft, wo alles drauf sein sollte.

  • Na der Befehl von der Seite lautete aber ls -l /dev/ttyACM0und nicht /dev/ttyACM0


    lsusbspuckt immerhin aus, dass an einem der zwei USB Anschlüsse der CC2531 Zigbee Stick erkannt wird.


    Mit Adapter ist auf der Zigbee2MQTT Seite der Stick gemeint, nichtdein verwendetes USB Kabel ;)

    Laut der Seite ist dein Stick wohl veraltet, sollte aber wohl noch funktionieren:

    Zitat

    Not recommended

    The adapters below are well-supported but use outdated chips.

    USB connected:


    • Texas Instruments CC2531

    2 Mal editiert, zuletzt von Patrick_ ()

  • Hatte mich schon gewundert, was das mit dem Kabel zu tun hat :D


    pi@homebridge:~ $ ls -l /dev/ttyACM0

    crw-rw---- 1 root dialout 166, 0 Jan 2 19:39 /dev/ttyACM0


    Dies kommt bei dem richtigen Befehl. Auf der Seite fehlt das vorne auch und da hatte ich das ratskopiert.


    Also den Adapter :) zurücksenden und den Conbee Stick kaufen?

  • pi@homebridge:~ $ ls -l /dev/ttyACM0

    crw-rw---- 1 root dialout 166, 0 Jan 2 19:39 /dev/ttyACM0


    Dies kommt bei dem richtigen Befehl.

    Dann wird der Stick erkannt.

    Also den Adapter :) zurücksenden und den Conbee Stick kaufen?

    Nicht zwingend, er funktioniert bestimmt und lässt sich auch sicherlich entsprechend einrichten und konfigurieren. Ich kann dir da an der Stelle nur nicht mehr weiterhelfen, da ich kein Zigbee2MQTT und so einen Stick nutze. Ich hab von Anfang an den Raspbee/Conbee. Der wird halt vom HOmebridge Image direkt unterstützt: https://github.com/homebridge/…ONZ-for-ConBee-or-RaspBee und hat sogar ein einfaches Installations-Tool, womit der in Homebridge mit 2-3 Klicks direkt installiert wird und einsatzbereit ist. Find ich halt komfortabel, gerade wenn man kaum Ahnung hat und einfach möglichst "stressfrei" seine Zigbee Geräte in Homebridge haben will, ohne viel zu konfigurieren.


    Aber hier im Forum gibt es auch genügend Leute, die anderer Meinung sind und eher auf einen Zigbee Stick mit Zigbee2MQTT schwören, weil der soweit mir bekannt deutlich mehr Zigbee Geräte unterstützt als ein Conbee.


    Evtl. findet sich noch jemand, der dir bei der Konfiguration von Zigbee2MQTT weiterhelfen kann! Wenn du ihn e schon gekauft hast, würde ich es mal damit probieren. Zurückschicken und was anderes holen kannst du ja dann immer noch. ;)

  • Ok, vielen dank für deine Hilfe.


    Auf dieser Seite (https://zigbee.blakadder.com) sehe ich die Geräte die Unterstützt werden. Gibt es das auch für den Conbee?

    Der Stick wäre sicherlich für mich als Anfänger besser. Wusste ich halt vorher nicht :)

  • So eine Übersicht gibt es auch für deCONZ, was der Conbee nutzt: https://zigbee.blakadder.com/deconz.html

    und hier die offizielle Kompatibilitätsliste: https://phoscon.de/de/conbee2/compatible

  • Moin,


    läuft es denn mittlerweile? Ich habe erst letzten Samstag selber den deconz Dienst gestoppt und disabled und mir MQTT samt zigbee2mqtt installiert. Ich nutze dazu weiterhin den Conbee 2 Stick aber eben nur als reine Bridge und ich bin bislang absolut zufrieden.


    Die Geräte werden zuverlässig erkannt und die UI im Browser gefällt mir definitiv besser als Phoscon und deconz.


    Gruß

  • Moin, nein, leider läuft es nicht. Ich verstehe bei deinen Sätzen aber auch nur die Hälfte. Gibt es nicht irgendwo eine Grundlegende Anleitung für Anfänger wie mich? Ich habe wirklich gedacht, ich wäre da etwas fitter drin. .

    Was ist denn deconz? MQTT dache ich wäre der Zigbee Stick. Was ist UI? Phoscon ist die Software für den Conbee2?


    pi@homebridge:/opt/zigbee2mqtt $ npm ci

    npm WARN old lockfile

    npm WARN old lockfile The npm-shrinkwrap.json file was created with an old version of npm,

    npm WARN old lockfile so supplemental metadata must be fetched from the registry.

    npm WARN old lockfile

    npm WARN old lockfile This is a one-time fix-up, please be patient...

    npm WARN old lockfile

    npm ERR! code EACCES

    npm ERR! syscall mkdir

    npm ERR! path /opt/zigbee2mqtt/node_modules

    npm ERR! errno -13

    npm ERR! Error: EACCES: permission denied, mkdir '/opt/zigbee2mqtt/node_modules'

    npm ERR! [Error: EACCES: permission denied, mkdir '/opt/zigbee2mqtt/node_modules'] {

    npm ERR! errno: -13,

    npm ERR! code: 'EACCES',

    npm ERR! syscall: 'mkdir',

    npm ERR! path: '/opt/zigbee2mqtt/node_modules'

    npm ERR! }

    npm ERR!

    npm ERR! The operation was rejected by your operating system.

    npm ERR! It is likely you do not have the permissions to access this file as the current user

    npm ERR!

    npm ERR! If you believe this might be a permissions issue, please double-check the

    npm ERR! permissions of the file and its containing directories, or try running

    npm ERR! the command again as root/Administrator.


    npm ERR! A complete log of this run can be found in:

    npm ERR! /home/pi/.npm/_logs/2022-01-03T11_57_07_198Z-debug-0.log

    pi@homebridge:/opt/zigbee2mqtt $ /home/pi/.npm/_logs/2022-01-03T11_57_07_198Z-debug-0.log

    -bash: /home/pi/.npm/_logs/2022-01-03T11_57_07_198Z-debug-0.log: Permission denied

    pi@homebridge:/opt/zigbee2mqtt $ /home/pi/.npm/_logs/2022-01-03T11_57_07_198Z-debug-0.log

    -bash: /home/pi/.npm/_logs/2022-01-03T11_57_07_198Z-debug-0.log: Permission denied

    pi@homebridge:/opt/zigbee2mqtt $


    Viele Grüße


    Stephan

  • Was ist denn deconz? MQTT dache ich wäre der Zigbee Stick. Was ist UI? Phoscon ist die Software für den Conbee2?

    Wenn ich das so lese würde ich mich Patrick_ anschließen und dir dringend den Conbee 2 Stick (ein Zigbee Gateway / Bridge) empfehlen. Zumindest für den Einstieg in diese Thematik.


    Die Installation ist, im Vergleich zu MQTT und zigbee2mqtt, fast schon "Plug&Play". Dazu gibt es auch reichlich Info im Netz, auf den von Patrick_ verlinkten Seiten und vor allem hier im Forum.


    Desweiteren hilft hier viel Recherchieren und lesen im Netz, hier im Forum und Youtube Videos. Evtl. auch mal englische Foren und Beiträge wie z.B. auf Github und Reddit checken. Das gleiche gilt für die Youtube Tutorials. Auf Englisch gibt es weitaus mehr zu finden als auf Deutsch.


    Wenn es deutsch sein soll dann kann ich dir den Kanal smart-live.net empfehlen. Speziell seine Homebridge Playlist. Er erklärt mMn. gut. Die Basics im Umgang mit dem Terminal sollten aber gegeben sein (kein Muss aber es hilft hier und da). Letztlich kopiert er auch nur die Kommandos, die in den Installationsanleitungen vorgegeben sind. Aber dennoch sehr hilfreich.


    Auf englisch kann ich dir die Playlisten von "Everything Smart Home" und "Tech with Eddie" empfehlen.


    Aber wie gesagt, lies dich am besten erstmal in Ruhe ein damit du die Basic und Begrifflichkeiten drauf hast. Um deine Fragen von oben kurz aufzugreifen:


    1) Zigbee ist ein drahtloses Kommunikationsprotokoll (wie z.b. z-Wave, WLAN, Bluetooth usw.)


    2) Homebridge erlaubt dir die Integration von, nicht nativ (von "Haus aus") Smarthome fähigen Geräten/Sensoren/Aktoren in Homekit (z.B. die Lidl Smart Home Produkte und viele Weitere)


    3) die "UI" ist eine grafische Oberfläche zum Verwalten von z.B. dem Conbee 2 Stick


    4) der Conbee 2 Stick ist ein Zigbee Gateway. Das gleiche wie die Philips Hue Bridge, nur das der Stick mich Artikeln unterschiedlicher Hersteller kompatibel ist


    5) deCONZ ist die Software vom Conbee 2 Stick, mit der du die angelernten Geräte verwalten und auslesen kannst


    6) Phoscon ist die Web UI (in einem Browserfenster) in der du die Zigbee Geräte am Stick anlernst


    7) MQTT ist ein Standard um Nachrichten zwischen Geräten zu transportieren


    8) MQTT Broker ist ein Server (hier gibt es verschieden. In meinem Fall z.b. "Mosquito", der die Nachrichten zwischen den Geräten übermittelt


    9) zigbee2mqtt ist eine Software(Bridge), die die Nachrichten und Events zwischen den Zigbee Geräten bzw. dem Zigbee Protokoll und MQTT überträgt und umgekehrt


    10) homebridge-z2m ist das Plugin welches du in Homebridge installierst um die Geräte, die du in der zigbee2mqtt UI anlernst, in Homekit nutzen zu können.


    INFO: Wie bereits erwähnt würde ich dir für den Anfang, um überhaupt in die Thematik reinzukommen, auch den Conbee 2 Stick empfehlen aus den von mir und Patrick oben genannten Gründen. Somit sind für dich erstmal nur die Punkte 1-6 relevant.


    Ich hoffe ich habe die Begrifflichkeiten weitesgehend korrekt "vereinfacht". Sollte dies nicht so sein werden es hier die schlauen Leute sicherlich richtig stellen.


    Ich selber beschäftige mich mit dem Thema auch erst seit ein paar Wochen und sitze auch noch lange nicht "fest im Sattel". Ich kopiere auch nur die Kommandos ins Terminal und kreuze die Finger das alles gut geht ;). Mittlerweile fällt mir der Umgang mit dem Terminal, den Befehlen, der Config. json (die Homebridge Config) aber etwas leichter. Eine wirkliche Hilfe hierbei werden dir aber z.B. Patrick_ oder sschuste sein.


    Kurz noch zu deinem Log oben. Ich bin mir nicht sicher aber es scheint so als hättest du nicht die nötigen (Adminrechte?), um den Befehl "npm ci" auszuführen.


    Ist aber nur eine Vermutung.


    Gruß

  • Error: EACCES: permission denied, mkdir '/opt/zigbee2mqtt/node_modules'

    Fehler: EACCES: keine Berechtigung, um das Verzeichnis /opt/zigbee2mqtt/node_modules zu erstellen.


    Und warum nicht? Weil du nur der kleine User pi bist und nicht root, der Systemadministrator. Du darfst da nix installieren, es sein denn, das wird dir erlaubt. Du hast aber nicht um Erlaubnis gebeten, denn da steht:


    npm ci


    wo es doch sudo npm ci heißen müsste. Das sudo gibt dir die fehlenden Schreibrechte.

  • Ist das so richtig?

    pi@homebridge:~ $ cd /opt/zigbee2mqtt

    pi@homebridge:/opt/zigbee2mqtt $ sudo npm ci

    npm WARN old lockfile

    npm WARN old lockfile The npm-shrinkwrap.json file was created with an old version of npm,

    npm WARN old lockfile so supplemental metadata must be fetched from the registry.

    npm WARN old lockfile

    npm WARN old lockfile This is a one-time fix-up, please be patient...

    npm WARN old lockfile

    ##################⸩ ⠹ reify:lodash: timing reifyNode:node_modules/caniuse-lite Completed in 93993ms

    Die Installation bricht leider immer ab/ bleibt stehen bzw. nach langer Zeit geht die Verbindung zum pi verloren und ich muss den stromlos machen.

  • Ist das so richtig?

    Möglicherweise. Ich verwende kein Deconz oder zigbee2mqtt.