Anderen Port für Zigbee2MQTT-Dashboard verwenden?

Ich möchte einen anderen Port für Zigbee2MQTT verwenden, anstatt 8080. So kann ich diesen für einen anderen Docker-Container verwenden. Wie kann ich das sicher tun?

Hallo,

Gehe auf die Integrationsseite, gehe zu den Einstellungen von ZigBee2MQTT und klicke auf den zweiten „Bearbeiten“-Button

Dann kannst du den verwendeten Port auswählen!

Danke!

Leider hat es nicht funktioniert. :frowning:
Versucht in Opera und Chrome unter Win11.

Ich konnte den Port nicht ändern, er ändert sich nicht. Das Einzige, was funktioniert, ist das Feld leer zu lassen. Dann wurde Port 12000 ausgewählt. Ich konnte ihn auch nicht wieder auf 8080 ändern

Danach konnten die Dienste nicht mehr miteinander kommunizieren und es gibt Fehler im Log. Das Z2M-Dashboard konnte ich auch nicht öffnen.

Fehler:

2025-12-10T17:08:16+0100 <info> installZ2mContainer.js:90 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt container erfolgreich gestartet
2025-12-10T17:08:16+0100 <info> connect.js:17 (Zigbee2mqttManager.connect) Trennt bestehenden MQTT-Client...
2025-12-10T17:08:16+0100 <info> connect.js:25 (Zigbee2mqttManager.connect) Verbindung von Gladys zu MQTT-Broker mqtt://localhost:1884 herstellen...
2025-12-10T17:08:16+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:16+0100 <warn> connect.js:53 (MqttClient.<anonymous>) Von MQTT-Server getrennt
2025-12-10T17:08:17+0100 <info> system.isDocker.js:13 (System.isDocker) System.isDocker: Dieses System läuft in Docker.
2025-12-10T17:08:21+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:26+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:31+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:36+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:41+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:46+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:51+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:08:56+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert
2025-12-10T17:09:01+0100 <warn> connect.js:46 (MqttClient.<anonymous>) Fehler beim Verbinden mit MQTT - Fehler: Verbindung abgelehnt: Nicht autorisiert

Ist die z2m-Schnittstelle auf Port 12000 erreichbar?

Nein. ERR_CONNECTION_REFUSED

Versuchen Sie, den Dienst mit dem Aktivieren/Deaktivieren-Schalter zu stoppen und starten Sie ihn dann neu.

Warten Sie, bis alle Container wiederhergestellt sind, da sie neu heruntergeladen und dann neu erstellt werden (ein paar Minuten).

Beide laufen jetzt OK. Aber ich kann immer noch nicht auf das Z2M-Dashboard zugreifen. Keine Fehler in den Logs.

Was gibt der Befehl docker ps -a aus? (Wir schauen uns die verwendeten Ports an)

CONTAINER ID   IMAGE                                               COMMAND                  CREATED              STATUS                             PORTS                                                                                                                                     NAMES

a32acb4039e9   koenkk/zigbee2mqtt:2.6.1                            « docker-entrypoint.s… »   Vor etwa einer Stunde   Vor etwa einer Stunde                                                                                                                                                             gladys-z2m-zigbee2mqtt

f7482e46285f   eclipse-mosquitto:2.0.15                            « /docker-entrypoint.… »   Vor etwa einer Stunde   Vor etwa einer Stunde                                                                                                                                                             gladys-z2m-mqtt

085b6f213e91   gladysassistant/gladys:latest                       « docker-entrypoint.s… »   Vor etwa einer Stunde   Vor etwa einer Stunde                                                                                                                                                             gladys

Dies ausführend:

sudo docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Amsterdam \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:latest

Versuche diesen Befehl, um zu sehen, welcher Frontend-Port konfiguriert ist:

sudo nano /var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml

@NoiZe
Falls ich mich nicht irre und du die MQTT- und zigbee2mqtt-Dienste von Gladys verwendest (also interne Dienste), dann solltest du haben:

Gladys: Port 8001 (laut deiner Docker-Befehlszeile)

MQTT: 1884 (das sagt dein Log und Gladys kann sich nicht verbinden, vielleicht wegen falschem Benutzernamen und/oder Passwort)

Zigbee2mqtt: Port 12000

Kleiner Hinweis: Du hast zigbee2mqtt in Version 2.6.1, was bedeutet, dass du entweder das Gladys-Update nicht hast, das jetzt 2.7.1 verwendet, oder du hast ein externes zigbee2mqtt.

Ein weiterer Punkt: Ich glaube, du hattest ein Problem mit der Verbindung zu deinem Zigbee-Dongle. Hast du den ZBDongle-P zu ZBDongle-E geändert, um es zu testen?
Solange sich zigbee2mqtt nicht mit dem Dongle verbinden kann, wird es sich endlos neu starten und das System wird nicht funktionieren.

Kurz gesagt, keiner dieser Dienste verwendet den Port 8080, also denke ich, dass du etwas anderes auf deinem Computer hast, das diesen Port verwendet, und es ist nicht Gladys Assistant und seine Dienste.

Ich betreibe MQTT und Z2M innerhalb von Gladys. Habe ein manuelles Update über die CLI versucht, es wurde auf die neueste Version aktualisiert, auch z2m auf 2.7.1. Alles ist verbunden und funktioniert, außer der z2m-Verwaltungsseite.

/var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml:
Frontend-Port: 12000

Ich habe ihn in der Datei auf 8080 geändert und bekomme trotzdem irgendwie Verbindung abgelehnt.
In der GUI wurde er auf 8080 geändert. Kann den Port in der GUI selbst immer noch nicht ändern. :expressionless:

P.s. Ich hatte Probleme mit einem Zigbee-Dongle, aber ich habe diesen neuen gekauft, der einwandfrei funktioniert.

Log nach Neustart und Docker-Bereinigung (der Hue-Fehler ist egal):

2025-12-10T21:01:04+0100 <info> index.js:149 (Object.duckDbShowVersion) DuckDB-Version = v1.4.1
2025-12-10T21:01:04+0100 <info> index.js:98 (Object.duckDbCreateTableIfNotExist) DuckDB - Erstellen der Datenbanktabelle, falls nicht vorhanden
2025-12-10T21:01:04+0100 <info> job.purge.js:17 (Job.purge) Löschen aller Hintergrundaufträge, die vor = Mi Dez 03 2025 21:01:04 GMT+0100 (Mitteleuropäische Standardzeit) erstellt wurden
2025-12-10T21:01:04+0100 <info> system.setDuckDbTimezone.js:14 (System.setDuckDbTimezone) DuckDB-Zeitzone auf Europe/Amsterdam setzen
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst alexa wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst caldav wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst openweather wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst ecowatt wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst enedis wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst rtsp-camera wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst telegram wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst usb wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst xiaomi wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst bluetooth wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst ewelink wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst tp-link wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst google-actions wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst homekit wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst broadlink wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst lan-manager wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst nextcloud-talk wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst tuya wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst melcloud wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst node-red wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst netatmo wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst sonos wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst zwavejs-ui wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst google-cast wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst airplay wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst free-mobile wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst edf-tempo wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst mqtt wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> service.startAll.js:30 () Der Dienst example wurde manuell gestoppt, daher wird er beim Start ignoriert
2025-12-10T21:01:10+0100 <info> index.js:15 (Object.start) Starten des Energiemonitorings-Dienstes
2025-12-10T21:01:10+0100 <info> index.js:29 (Object.start) Starten des MCP-Dienstes
2025-12-10T21:01:11+0100 <info> index.js:18 (Object.start) Starten des Matter-Dienstes
2025-12-10T21:01:11+0100 <info> index.js:21 (Object.start) Matter ist nicht aktiviert
2025-12-10T21:01:11+0100 <info> system.isDocker.js:13 (System.isDocker) System.isDocker: Dieses System wird innerhalb von Docker ausgeführt.
2025-12-10T21:01:11+0100 <info> init.js:63 (Zigbee2mqttManager.init) Zigbee2mqtt-USB-Dongle an /dev/ttyUSB0 angeschlossen
2025-12-10T21:01:11+0100 <info> checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Überprüfen der aktuell installierten Versionen und erforderlichen Updates...
2025-12-10T21:01:11+0100 <info> installMqttContainer.js:114 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker-Container erfolgreich gestartet
2025-12-10T21:01:11+0100 <info> configureContainer.js:23 (Zigbee2mqttManager.configureContainer) Z2M-Docker-Container wird konfiguriert...
2025-12-10T21:01:11+0100 <info> configureContainer.js:36 (Zigbee2mqttManager.configureContainer) Z2M-Konfigurationsdatei existiert bereits.
2025-12-10T21:01:11+0100 <info> installZ2mContainer.js:90 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container erfolgreich gestartet
2025-12-10T21:01:11+0100 <info> connect.js:25 (Zigbee2mqttManager.connect) Verbinden von Gladys mit dem MQTT-Broker mqtt://localhost:1884...
2025-12-10T21:01:11+0100 <info> connect.js:35 (MqttClient.<anonymous>) Verbunden mit dem MQTT-Container mqtt://localhost:1884
2025-12-10T21:01:11+0100 <info> subscribe.js:12 (Zigbee2mqttManager.subscribe) Abonnieren des MQTT-Themas zigbee2mqtt/#
2025-12-10T21:01:11+0100 <info> index.js:15 (Object.start) Starten des Tasmota-Dienstes
2025-12-10T21:01:11+0100 <info> index.js:18 (Object.start) Starten des Philips Hue-Dienstes
2025-12-10T21:01:11+0100 <info> index.js:14 (Object.start) Starten des CallMeBot-Dienstes
2025-12-10T21:01:12+0100 <info> scene.dailyUpdate.js:58 () Heute geht die Sonne um 8:37 Uhr in Ihrer Zeitzone = Europe/Amsterdam auf
2025-12-10T21:01:12+0100 <info> scene.dailyUpdate.js:59 () Heute geht die Sonne um 16:28 Uhr in Ihrer Zeitzone = Europe/Amsterdam unter
2025-12-10T21:01:12+0100 <info> scene.dailyUpdate.js:70 () Die Sonne ist heute Morgen aufgegangen. Heute nicht planen.
2025-12-10T21:01:12+0100 <info> scene.dailyUpdate.js:84 () Die Sonne ist bereits untergegangen. Heute nicht planen.
2025-12-10T21:01:12+0100 <warn> light.init.js:29 () Kann nicht mit der Philips Hue Bridge „Hue Bridge“ verbinden
2025-12-10T21:01:12+0100 <info> device.migrateFromSQLiteToDuckDb.js:36 (DeviceManager.migrateFromSQLiteToDuckDb) DuckDB: Bereits von SQLite migriert. Wird nicht migriert.
2025-12-10T21:01:12+0100 <info> system.checkIfGladysUpgraded.js:17 (System.checkIfGladysUpgraded) Gladys wurde gerade von null auf v4.66.1 aktualisiert
2025-12-10T21:01:12+0100 <error> system.checkIfGladysUpgraded.js:44 (System.checkIfGladysUpgraded) ServiceNotConfiguredError: Telegram nicht konfiguriert
    at MessageHandler.send (/src/server/services/telegram/lib/message.send.js:17:11)
    at MessageHandler.sendToUser (/src/server/lib/message/message.sendToUser.js:38:35)
    at /src/server/lib/system/system.checkIfGladysUpgraded.js:26:9
2025-12-10T21:01:12+0100 <info> index.js:64 (Server.<anonymous>) Server hört auf Port 8001

Wenn ich sudo ss -tunlp ausführe, sehe ich, dass kein Prozess Port 8080 verwendet. Ich sehe jedoch die Ports 8001 (Gladys) und 1884 (MQTT).

Ich habe curl http://localhost:8080 auf dem Pi und innerhalb der Container ausgeführt und diese Antwort erhalten:
curl: (7) Verbindung zu localhost auf Port 8080 fehlgeschlagen: Verbindung zum Server nicht möglich

Ich habe auch innerhalb der Container nach offenen Ports gesucht und den Port 8080 nicht gefunden.

Da es auf Port 8080 vorher einwandfrei funktionierte, bevor ich ihn in der GUI auf etwas anderes geändert habe, könnte dort etwas schiefgelaufen sein?

Laut deinen Logs ist jetzt alles in Ordnung mit Z2M und MQTT!
Aber ich komme nicht weiter mit dem Port :roll_eyes:
Bei mir verbinde ich mich mit http://ip-von-gladys:12000 und Z2M erscheint.

Gibt es in Ihrem System einen offenen Port 12000 (oder 8080) innerhalb oder außerhalb der Container?

Nein, ich habe nichts anderes auf Port 12000 offen. Dieser Port ist nur für z2m in meiner Konfiguration und es ist der Standardport.
Ich habe viele Container auf verschiedenen Ports auf meinem Synology und z2m ist ein externer Container zu Gladys, daher habe ich eine andere Installation als du.

Ich glaube, dein Nachricht fehlt ein Stück.

Offensichtlich ein Übersetzungsfehler, ich habe es manuell korrigiert!

Einige Erwähnungen dazu auf dem Z2M-GitHub gefunden. Vielleicht bindet der Port nicht.

Meine Lösung war dies

frontend: enabled: true port: 8080 host: 0.0.0.0

scheint, als würde das neueste Update den Container-Port nicht automatisch an 0.0.0.0:8080 binden … nervig, aber egal. Füge das zu deiner configuration.yaml hinzu und es funktioniert.

Kommentar überprüfen

Vielleicht ist das auch bei der configuration.yaml der Fall, die Gladys verwendet?

Meine configuration.yaml enthält nur:

frontend:
  enabled: true
  port: 8080

Und es funktioniert einwandfrei

Ich bin mir nicht sicher, ob das hier das Problem ist!