Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

Hallo zusammen,

Ich muss für ein Projekt kostengünstig Geräte bei OpenHAB hinzufügen und darüber auch steuern. Mein Ziel ist es den Bewegungsmelder und die Glühbirne von Ikea(Tradfri) bei OpenHAB 3 hinzuzufügen und das ganze wollte ich mit dem Zigbee2mqtt Stick(CC2531) machen. Ich habe mir Anleitungen online angeschaut und 1:1 die Befehle in die Konsole eingegeben, jedoch tauchen ständig Fehler auf und ich komme seit Tagen nicht weiter. Den Mqtt Broker habe ich schon vor einigen Monaten runtergeladen und dieser wird mir auch auf OpenHAB als online angezeigt.
Wenn ich jetzt den Status abfrage steht da immer nur activating und nicht active. Zusätzlich werden mir immer Fehler mit dem User angezeigt. Am Anfang hatte ich einen falschen Pfad (Exec-Start) angegeben aber habe dann durch eine Suche den richtigen eingefügt. Ich weiß jetzt nicht ob es mit dem Fehler oben zusammenhängt aber auf die Zigbee Seite, also auf das Dashboard, http://ipadresse-vom-Pi:7080 komme ich auch nicht drauf.

Meine Zigbee Konfigurationsdatei sieht so aus:

Code: Alles auswählen

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
  user: hier der Username von meinem Mqtt Broker
  password: hier das Password dazu
serial:
  port: /dev/ttyACM0 
advanced:
  network_key:  GENERATE
  
     frontend: true
  port: 7080
Die Zigbee2mqqt.service Datei sieht wie folgt aus:

Code: Alles auswählen

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
ExecStart=/home/pi/node-v16.14.2-linux-armv7l/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling sys>
StandardOutput=inherit
StandardError=inherit
Restart=always
RestartSec=10s
User= hier der username 

[Install]
WantedBy=multi-user.target

Habe mir die Anleitung von dieser Seite angeschaut: https://nerdiy.de/howto-zigbee-installa ... pberry-pi/

Wenn ich jetzt mit

Code: Alles auswählen

 cd /opt/zigbee2mqtt/ 
und

Code: Alles auswählen

 npm start 
die Installation testen will wird mir folgendes angezeigt:

Code: Alles auswählen

> zigbee2mqtt@1.29.2 start
> node index.js


/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:183
  return new YAMLException(message, mark);
         ^
YAMLException: bad indentation of a mapping entry (29:7)

 26 |     - 152
 27 |     - 184
 28 | frontend: true
 29 |   port: 7080
------------^
    at generateError (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:183:10)
    at throwError (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:187:9)
    at readBlockMapping (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:1182:7)
    at composeNode (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:1441:12)
    at readDocument (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:1625:3)
    at loadDocuments (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:1688:5)
    at Object.load (/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:1714:19)
    at Object.read (/opt/zigbee2mqtt/lib/util/yaml.ts:7:21)
    at read (/opt/zigbee2mqtt/lib/util/settings.ts:328:20)
    at getInternalSettings (/opt/zigbee2mqtt/lib/util/settings.ts:433:21)
Wenn ich dann versuche den Zigbee2mqtt zu enablen und zu starten bekomme ich folgende Meldung wenn ich mir die Logfile anschauen will:

Code: Alles auswählen

-- Journal begins at Tue 2022-10-25 17:41:52 CEST. --
Feb 23 11:09:22 pi187 systemd[1]: Started zigbee2mqtt.
Feb 23 11:09:22 pi187 systemd[4907]: zigbee2mqtt.service: Failed to determine user credentials: No such process
Feb 23 11:09:22 pi187 systemd[4907]: zigbee2mqtt.service: Failed at step USER spawning /home/pi/node-v16.14.2-linux-armv7l/bin/npm: No such process
Feb 23 11:09:22 pi187 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=217/USER
Feb 23 11:09:22 pi187 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Und zu guter Letzt wird mir folgendes bei der Statusabfrage angezeigt:

Code: Alles auswählen

● zigbee2mqtt.service - zigbee2mqtt
     Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; vendor preset>
     Active: activating (auto-restart) (Result: exit-code) since Thu 2023-02-23 11:1>
    Process: 5073 ExecStart=/home/pi/node-v16.14.2-linux-armv7l/bin/npm start (code=exited, status=217/USER) 
      Main PID: 5073 (code=exited, status=217/USER)
        CPU: 9ms

Meine Mosquitto Konfigurationsdatei sieht wie folgt aus:

Code: Alles auswählen

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

listener 1883
allow_anonymous true

Kann mir da jemand behilflich sein? Vielen Dank im Voraus!
Zuletzt geändert von gem am 25. Feb 2023 15:14, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von udo1toni »

Erste Frage: Wie hast Du openHAB eingerichtet?
Falls Du das openHABian Image verwendest, kannst Du Zigbee2MQTT einfach aus openhabian-config heraus installieren :)

Da die Einrichtung nach der Anleitung ziemlich komplex aussieht: bist Du alle Schritte nochmal gründlich durchgegangen?
Hast Du die Konfiguration genau überprüft, z.B. auf etwaige Schreibfehler?

Solange der Start über npm start nicht reibungslos klappt, musst Du gar nicht weiter machen.

Die Fehlermeldung

Code: Alles auswählen

> zigbee2mqtt@1.29.2 start
> node index.js


/opt/zigbee2mqtt/node_modules/js-yaml/lib/loader.js:183
  return new YAMLException(message, mark);
         ^
YAMLException: bad indentation of a mapping entry (29:7)

 26 |     - 152
 27 |     - 184
 28 | frontend: true
 29 |   port: 7080
------------^
besagt, dass die Einrückung (indentation) fehlerhaft ist. wie sieht Deine /opt/zigbee2mqtt/data/configuration.yaml exakt aus (bitte hier als Code einfügen, User und Passwort kannst Du unkenntlich machen)?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

OpenHAB haben wir über den Paketmanager heruntergeladen. Ich habe jede Zeile aus der Anleitung kopiert und nochmal nach Tippfehler geschaut aber wurde nicht fündig. Hier mein Code:

Code: Alles auswählen

  

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
  user: 
  password: 
serial:
  port: /dev/ttyACM0
advanced:
  network_key:  GENERATE

frontend: true
  port: 7080
Und alle eingerückten Parameter haben zwei Leerzeichen davor(und auch nach dem Doppelpunkt).

EDIT: Habe jetzt nach frontend true weggemacht und jetzt wird mir folgendes Angezeigt:

Code: Alles auswählen

Zigbee2MQTT:info  2023-02-23 21:32:13: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2023-02-23.21-32-13' filename: log.txt
Zigbee2MQTT:info  2023-02-23 21:32:13: Starting Zigbee2MQTT version 1.29.2 (commit #14021395)
Zigbee2MQTT:info  2023-02-23 21:32:13: Starting zigbee-herdsman (0.14.83-hotfix.0)
Zigbee2MQTT:info  2023-02-23 21:32:16: zigbee-herdsman started (resumed)
Zigbee2MQTT:info  2023-02-23 21:32:16: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info  2023-02-23 21:32:16: Currently 0 devices are joined:
Zigbee2MQTT:warn  2023-02-23 21:32:16: `permit_join` set to  `true` in configuration.yaml.
Zigbee2MQTT:warn  2023-02-23 21:32:16: Allowing new devices to join.
Zigbee2MQTT:warn  2023-02-23 21:32:16: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info  2023-02-23 21:32:16: Zigbee: allowing new devices to join.
Zigbee2MQTT:info  2023-02-23 21:32:16: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:error 2023-02-23 21:32:16: MQTT error: connect ECONNREFUSED localhost:1883
Zigbee2MQTT:error 2023-02-23 21:32:16: MQTT failed to connect, exiting...
Zigbee2MQTT:info  2023-02-23 21:32:16: Stopping zigbee-herdsman...
Zigbee2MQTT:info  2023-02-23 21:32:17: Stopped zigbee-herdsman
Verstehe nicht wieso sich Zigbee2mqtt nicht mit Mqtt verbindet.

Habe jetzt auch auf OpenHAB geschaut und da wird jetzt bei Mqtt Broker ein Error angezeigt:

Code: Alles auswählen

COMMUNICATION_ERROR
io.netty.channel.AbstractChannel$AnnotatedConnectException: Verbindungsaufbau abgelehnt: /localhost:1883
Zuletzt geändert von gem am 25. Feb 2023 15:13, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von udo1toni »

In der verlinkten Anleitung steht da aber nichts von frontend: true
So sieht die Datei laut der Anleitung aus:

Code: Alles auswählen

# MQTT settings
mqtt:
  # MQTT base topic for Zigbee2MQTT MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'
  # MQTT server authentication, uncomment if required:
  # user: my_user
  # password: my_password

# Serial settings
serial:
  # Location of the adapter (see first step of this guide)
  port: /dev/ttyACM0

advanced:
  network_key: GENERATE
  ikea_ota_use_test_url: true
  legacy_api: false
  log_level: debug

frontend:
  port: 8038
  host: 0.0.0.0
  auth_token: secretPassword123
  url: http://localhost
Wenn der Zugriff auf mqtt nicht funktioniert, spricht einiges dafür, dass Du noch eine Zeile in der mosquitto.conf ergänzen musst, und zwar gehört da als erste Zeile ohne Kommentarzeichen (noch vor der Zeile mit pid_file) diese Zeile rein:

Code: Alles auswählen

listener 1883
Diese sorgt dafür, dass mqtt nicht nur auf dem lokalen Port lauscht (das wäre tatsächlich localhost oder alternativ 127.0.0.1, nicht 192.168.2.105)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

Um eine Lösung zu finden hab ich mir auch auf anderen Seiten die Konfigurationsdatei angeschaut und den Teil:

Code: Alles auswählen

host: 0.0.0.0
  auth_token: secretPassword123
  url: http://localhost
  
weggelassen. Ist dieser Teil denn zwingend notwendig?
Ich habe jetzt nämlich in der Konfigurationsdatei mosquitto den listender 1883 entfernt und habe endlich Zugriff auf das Dashboard. Wobei ich nicht weiß ob das so richtig ist.

Nur startet das ganze nicht automatisch obwohl ich

Code: Alles auswählen

sudo systemctl enable zigbee2mqtt.service

und reboot ausgeführt habe.
Das ganze funktioniert nur wenn ich

Code: Alles auswählen

 cd /opt/zigbee2mqtt/

Code: Alles auswählen

npm start 
eingebe.
Und wenn ich dann auf dem Dashboard Geräte hinzufügen möchte wird mir nur folgendes Angezeigt bei den Logs:

Code: Alles auswählen

Debug 2023-02-25 14:01:02Received MQTT message on 'zigbee2mqtt/bridge/request/options' with data '{"options":{"advanced":{"log_level":"error"}},"transaction":"kbts9-1"}'
Info 2023-02-25 14:01:07Succesfully changed options
Info 2023-02-25 14:01:07MQTT publish: topic 'zigbee2mqtt/bridge/response/options', payload '{"data":{"restart_required":false},"status":"ok","transaction":"kbts9-2"}'
Info 2023-02-25 14:01:45Succesfully changed options
Info 2023-02-25 14:01:45MQTT publish: topic 'zigbee2mqtt/bridge/response/options', payload '{"data":{"restart_required":false},"status":"ok","transaction":"kbts9-5"}'
Debug 2023-02-25 14:01:49Received MQTT message on 'zigbee2mqtt/bridge/request/options' with data '{"options":{"advanced":{"log_level":"info"}},"transaction":"kbts9-6"}'
Info 2023-02-25 14:01:49Succesfully changed options
Info 2023-02-25 14:01:49MQTT publish: topic 'zigbee2mqtt/bridge/response/options', payload '{"data":{"restart_required":false},"status":"ok","transaction":"kbts9-6"}'
Habe auch versucht den Knopf auf der Rückseite des Bewegungssensors für 10 Sekunden gedrückt zu halten, aber es wird mir nirgends angezeigt.

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

Ich habe es geschafft den Bewegungssensor hinzuzufügen, musste den Konfigurationsbutton 4 mal drücken. Nur habe ich immer noch Probleme diesen bei OpenHAB hinzuzufügen. Mir wird auch nach diesem Befehl:

Code: Alles auswählen

   sudo journalctl -f -u zigbee2mqtt
 
folgende Fehler angezeigt:

Code: Alles auswählen

-- Journal begins at Tue 2022-10-25 22:22:05 CEST. --
Mär 02 12:55:32 pi187 systemd[4840]: zigbee2mqtt.service: Failed at step USER spawning /home/pi/node-v16.14.2-linux-armv7l/bin/npm: No such process
Mär 02 12:55:32 pi187 systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=217/USER
Mär 02 12:55:32 pi187 systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Mär 02 12:55:43 pi187 systemd[1]: zigbee2mqtt.service: Scheduled restart job, restart counter is at 262.
Mär 02 12:55:43 pi187 systemd[1]: Stopped zigbee2mqtt.
Mär 02 12:55:43 pi187 systemd[1]: Started zigbee2mqtt.
Mär 02 12:55:43 pi187 systemd[4853]: zigbee2mqtt.service: Failed to determine user credentials: No such process 
Wenn ich den Bewegungssensor jetzt bei OpenHAB hinzufügen will und wie in den Tutorials bei

Code: Alles auswählen

  Availability Topic: zigbee2mqtt/IkeaBewegungsmelder/availability  
angebe, steht da offline. Dieser Ordner wird mir auch nirgends angezeigt.

Das was mir angezeigt wird ist nur das:

Code: Alles auswählen

Zigbee2MQTT:info  2023-03-02 15:47:10: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"14021395","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"},"log_level":"debug","network":{"channel":11,"extendedPanID":"0x00124b001cdd272c","panID":6754},"permit_join":true,"version":"1.29.2"}'
Zigbee2MQTT:info  2023-03-02 15:47:10: MQTT publish: topic 'zigbee2mqtt/IkeaBewegungsmelder', payload '{"battery":87,"illuminance_above_threshold":false,"linkquality":81,"occupancy":false,"requested_brightness_level":254,"requested_brightness_percent":100,"update":{"installed_version":537011747,"latest_version":537011747,"state":"idle"},"update_available":false}'

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von udo1toni »

Das availability Topic ist gewöhnlich mit dem LWT gesetzt.

LWT steht für Last Will and Testament. Wenn ein Client sich mit dem MQTT Broker verbindet, kann er ein LWT setzen. dazu wird zum einen das LWT Topic bekanntegegeben, zum anderen wird der Sollwert hinterlegt, für den Fall, dass der Client Offline ist. Anschließend schreibt der Client de nOnline-Wert ins LWT.
Bricht nun die Verbindung zwischen client und Broker zusammen, übernimmt der Broker die Aufgabe, das LWT mit der vereinbarten Payload zu füllen.
Konkretes Beispiel bei Tasmota: tele/Devicename/LWT = Online (oder Offline)
Dann setzt man in openHAB als Availability Topic tele/Devicename/LWT und als Zustände Online und Offline.
Es gibt weder eine Festlegung, wie das LWT heißt, noch, welchen Inhalt es hat, das muss man also in den Unterlagen zum Client nachschauen.

In zigbee2mqtt kann man die availability als Topic ausgeben, das muss aber aktiviert werden: https://www.zigbee2mqtt.io/guide/config ... ailability

Aber beim Starten von zigbee2mqtt muss auch noch irgendwas schief sein, sonst gäbe es nicht die Fehlermeldung im Journal. systemd startet also zigbee2mqtt immer wieder, weil es ein Problem hat, zu erkennen, welcher User das Programm gestartet hat. Also, vermutlich...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

Vielen Dank für die ausführliche Erklärung! Ich habe jetzt in meiner Konfigurationsdatei noch

Code: Alles auswählen

 availability: true 
hinzugefügt und jetzt hat das Hinzufügen bei OpenHAB3 geklappt. Die Glühlampe kann ich auch über OH3 an und ausschalten und auch mit einem zusätzlichen Timer dafür sorgen, dass diese nach einer beliebigen Zeit wieder ausgeschaltet wird.

Jedoch kann ich die Glühbirne nicht mit dem Bewegungsmelder verbinden. Also habe mir Tutorials auf Youtube angeschaut und alles 1:1 auch übernommen. Nur wenn ich über den Bewegungsmelder winke, leuchtet die Glühbirne nicht automatisch.

Bewegungsmelder und Glühbirne werden auch beide als online angezeigt.

Hier sind auch die Links zu den Tutorials: https://www.youtube.com/watch?v=vXvB0p7SpVw und https://www.youtube.com/watch?v=mW2yUA8DhdA&t=816s für die Glühlampe. Ich weiß, dass es sich in dem Tutorial nicht um den Bewegungsmelder von Ikea handelt, aber ich gehe mal davon aus dass der Vorgang sich schon ähneln muss.

Was müsste ich den tun damit der Bewegungsmelder auch eine Bewegung wahrnimmt?

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von udo1toni »

Im Zweifel gibt es kleine, aber feine Unterschiede, wie Geräte eingerichtet werden müssen.

Welche Anleitung Du verwendet hast, ist auch eher zweitrangig, wichtiger wäre Deine konkrete Konfiguration.

Die Things kannst Du dabei als Code einfügen, ebenso eventuell verwendete Rules. Bei den Items geht das leider nicht, da ist eine entsprechende Ansicht nicht vorgesehen. Bei den Items hilft aber auch eine Beschreibung, was Du konfiguriert hast, also welcher Itemtyp, welches Links, Profile gesetzt usw.
Bilder sind eher nicht so gut :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Zigbee2mqtt- Probleme beim Downloaden und Einrichten

Beitrag von gem »

Ich habe auf dieser Seite geschaut: https://www.zigbee2mqtt.io/devices/E1525_E1745.html
Und dementsprechend habe ich die Channels erstellt. Also für die Batterie habe ich den Channel-Typ Number gewählt und in die MQTT-Topic folgenden Pfad angegeben:

Code: Alles auswählen

 zigbee2mqtt/IkeaBewegunsmelder/battery 
Minimum 0 und Maximum 100 angegeben.
Obwohl der Bewegungsmelder online ist, wird mir hier nur NULL ausgegeben, statt 87%. Und das selbe dann auch mit der occupancy. Weiß leider nicht was ich falsch mache.

Antworten