Forum: PC-Programmierung Zigbee2Mqtt keine Weboberfläche


von Chandler B. (chandler)


Lesenswert?

Hallo,
ich möchte auf einem Rasperry-Pi verschiedene Docker laufen lassen und 
habe da bei mosquitto und zigbee2mqtt ein Problem.

Tree:
home/docker-compose/mosquitto/docker-compose.yml
home/docker-compose/nodered/docker-compose.yml
home/docker-compose/pihole/docker-compose.yml

nodered und pihole starten und ich kann auch auf die weboderfläche 
zugreifen

home/docker-compose/mosquitto/docker-compose.yml
home/docker-compose/mosquitto/mosquitto/config/
home/docker-compose/mosquitto/mosquitto/data/
home/docker-compose/mosquitto/mosquitto/log/
home/docker-compose/mosquitto/mosquitto/pwfile/
home/docker-compose/mosquitto/zigbee2mqtt/configuration.yaml
home/docker-compose/mosquitto/zigbee2mqtt/coorinator_backup.json
home/docker-compose/mosquitto/zigbee2mqtt/database.db
home/docker-compose/mosquitto/zigbee2mqtt/log/
home/docker-compose/mosquitto/zigbee2mqtt/state.json


home/docker-compose/mosquitto/docker-compose.yml:
1
(version: "3.6"
2
3
services:
4
  mosquitto:
5
    container_name: mosquitto
6
    image: eclipse-mosquitto:latest
7
    restart: unless-stopped
8
    environment:
9
      - TZ=Europe/Berlin
10
    ports:
11
      - "1883:1883"
12
      - "9001:9001"
13
    volumes:
14
      - ./mosquitto/config:/config
15
      - ./mosquitto/data:/data
16
      - ./mosquitto/log:/log
17
      - ./mosquitto/pwfile:/pwfile
18
19
  zigbee2mqtt:
20
    container_name: zigbee2mqtt
21
    image: koenkk/zigbee2mqtt:latest
22
    environment:
23
      - TZ=Europe/Berlin
24
      - ZIGBEE2MQTT_CONFIG_MQTT_SERVER=mqtt://mosquitto:1883
25
      - ZIGBEE2MQTT_CONFIG_FRONTEND=true
26
      - ZIEGBEE2MQTT_CONFIG_ADVANCED_LOG_SYMLINK_CURRENT=true
27
      - DEBUG=zigbee-herdsman*
28
    ports:
29
      - "8080:8080"
30
    volumes:
31
      - ./zigbee2mqtt/data:/app/data
32
    devices:
33
      - /dev/ttyUSB0:/dev/ttyACM0
34
    restart: unless-stopped
35
    depends_on:
36
      - mosquitto


ausgabe
1
docker ps
1
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS                    PORTS                                                                                                             NAMES
2
c7ebc0126ecf   koenkk/zigbee2mqtt:latest   "docker-entrypoint.s…"   11 minutes ago   Up 2 seconds              0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                                         zigbee2mqtt
3
4c5ca5d2045b   eclipse-mosquitto:latest    "/docker-entrypoint.…"   11 minutes ago   Up 11 minutes             0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:9001->9001/tcp, :::9001->9001/tcp                              mosquitto
4
bffd3fd2611e   nodered_node-red            "./entrypoint.sh"        2 hours ago      Up 14 minutes (healthy)   0.0.0.0:1880->1880/tcp, :::1880->1880/tcp                                                                         node-red
5
a05ffd890a79   pihole/pihole:latest        "/s6-init"               5 hours ago      Up 14 minutes (healthy)   0.0.0.0:53->53/tcp, :::53->53/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:53->53/udp, :::80->80/tcp, :::53->53/udp, 67/udp   pihole

Wenn ich jetzt allerdings
192.168.178.25:8080 im Browser aufrufe, bekomme ich den Fehler, dass die 
Verbindung nicht aufgebaut werden kann.

Im Log steht
1
debug 2024-10-08 13:12:19: Loaded state from file /app/data/state.json
2
info  2024-10-08 13:12:19: Logging to console and directory: '/app/data/log/2024-10-08.13-12-19' filename: log.txt
3
debug 2024-10-08 13:12:19: Removing old log directory '/app/data/log/2024-10-08.13-08-28'
4
info  2024-10-08 13:12:20: Starting Zigbee2MQTT version 1.33.2 (commit #9996c93)
5
info  2024-10-08 13:12:20: Starting zigbee-herdsman (0.21.0)
6
debug 2024-10-08 13:12:20: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/app/data/coordinator_backup.json","databaseBackupPath":"/app/data/database.db.backup","databasePath":"/app/data/database.db","network":{"channelList":[11],"extendedPanID":[43,108,88,248,115,234,161,123],"networkKey":"HIDDEN","panID":27581},"serialPort":{"path":"/dev/ttyACM0"}}'
7
error 2024-10-08 13:12:22: Configuration is not consistent with adapter state/backup!
8
error 2024-10-08 13:12:22: - PAN ID: configured=27581, adapter=44797
9
error 2024-10-08 13:12:22: - Extended PAN ID: configured=2b6c58f873eaa17b, adapter=925a544669ced9b5
10
error 2024-10-08 13:12:22: - Network Key: configured=905e45b18fee9ae5a4ac58ac2f4b1949, adapter=633debc31e579e82dd927d9a5efa32dd
11
error 2024-10-08 13:12:22: - Channel List: configured=11, adapter=11
12
error 2024-10-08 13:12:22: Please update configuration to prevent further issues.
13
error 2024-10-08 13:12:22: If you wish to re-commission your network, please remove coordinator backup at /app/data/coordinator_backup.json.
14
error 2024-10-08 13:12:22: Re-commissioning your network will require re-pairing of all devices!
15
error 2024-10-08 13:12:22: Error while starting zigbee-herdsman
16
error 2024-10-08 13:12:22: Failed to start zigbee
17
error 2024-10-08 13:12:22: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
18
error 2024-10-08 13:12:22: Exiting...
19
error 2024-10-08 13:12:22: Error: startup failed - configuration-adapter mismatch - see logs above for more information
20
    at ZnpAdapterManager.determineStrategy (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:229:35)
21
    at ZnpAdapterManager.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:63:26)
22
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
23
    at Zigbee.start (/app/lib/zigbee.ts:60:27)
24
    at Controller.start (/app/lib/controller.ts:101:27)
25
    at start (/app/index.js:107:5)
1
debug 2024-10-08 13:12:19: Loaded state from file /app/data/state.json
wo finde ich den ordner /app/data/?
1
error 2024-10-08 13:12:22: Configuration is not consistent with adapter state/backup!
das Problem ist wahrscheinlich schon in der ersten debug-Nachricht?


Es ist zwar gestartet, aber im Nodered wird auch nichts gefunden.

Ziel ist es ein Bewegungsmelder von LIDL (Zigbee) in nodered einzubinden 
und damit eine HUE-Lampe schalten

von Εrnst B. (ernst)


Lesenswert?

Das Frontend startet nicht, wenn das Backend nicht starten kann.

Hast du zwischendurch mal den USB-Stick gewechselt oder dem eine andere 
ID draufgeflasht?

Dann genauso machen wie's in deiner Fehlermeldung steht:
> If you wish to re-commission your network, please remove
> coordinator backup at /app/data/coordinator_backup.json.

Chandler B. schrieb:
> wo finde ich den ordner /app/data/?

da wo du ihn in deiner docker-compose.yml hinkonfiguriert hast:
>    volumes:
>      - ./zigbee2mqtt/data:/app/data

also Ordner zigbee2mqtt/data

PS: die "ZIEGE" da entfernen:
>      - ZIEGBEE2MQTT_CONFIG_ADVANCED_LOG_SYMLINK_CURRENT=true
Wobei das nicht dein Problem verursacht.

: Bearbeitet durch User
von Chandler B. (chandler)


Lesenswert?

Εrnst B. schrieb:
> Hast du zwischendurch mal den USB-Stick gewechselt oder dem eine andere
> ID draufgeflasht?

Nein, den Raspberry pi habe ich mal neu gestartet und das alte docker 
gelöscht und jetzt neu gemacht.

Εrnst B. schrieb:
> PS: die "ZIEGE" da entfernen:
>>      - ZIEGBEE2MQTT_CONFIG_ADVANCED_LOG_SYMLINK_CURRENT=true
> Wobei das nicht dein Problem verursacht.

Das ist mir auch schon aufgefallen und habe es geändert.

Εrnst B. schrieb:
> da wo du ihn in deiner docker-compose.yml hinkonfiguriert hast:
>>    volumes:
>>      - ./zigbee2mqtt/data:/app/data
>
> also Ordner zigbee2mqtt/data

Habe den kompletten Ordner zigbee2mqtt gelöscht, den docker gestoppt und 
neu gestartet.
Der Ordner wurde neu erzeugt, aber auf der oberfläche komme ich immer 
noch nicht drauf

von Εrnst B. (ernst)


Lesenswert?

Chandler B. schrieb:
> Habe den kompletten Ordner zigbee2mqtt gelöscht, den docker gestoppt und
> neu gestartet.

Falsche Reihenfolge. Erst Container stoppen, dann Ordner löschen, dann 
Neustarten. (echtes Recreate vom Container, ggfs. docker-compose rm 
zigbee2mqtt)

Wie ist die Fehlermeldung dann? "Erinnert" sich dein Container trotzdem 
noch an einen Adapter 905e45b18fee9ae5a4ac58ac2f4b1949 obwohl du den 
Adapter 633debc31e579e82dd927d9a5efa32dd eingesteckt hast?

zum Vergleich, Ausschnitt aus meiner docker-compose.yml, wo zigbee2mqtt 
problemlos läuft:
1
  zigbee2mqtt:
2
    container_name: zigbee2mqtt
3
    image: koenkk/zigbee2mqtt
4
    restart: unless-stopped
5
    volumes:
6
      - ./zigbee:/app/data
7
      - /run/udev:/run/udev:ro
8
    ports:
9
      - "127.0.0.1:8087:8080"
10
      - "192.168.99.66:8087:8080"
11
    environment:
12
      - TZ=Europe/Berlin
13
    devices:
14
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_550D016712-if00:/dev/ttyACM0
(Bin mir gerade nicht sicher, für was "/run/udev" gebraucht wird, war 
aber so in der Vorlage auf der zb2mqtt-Homepage)
https://www.zigbee2mqtt.io/guide/installation/02_docker.html#docker-compose

Anfang meiner ./zigbee(/data)/configuration.yaml:
1
homeassistant: false
2
availability: true
3
frontend: true
4
permit_join: false
5
advanced: ....

: Bearbeitet durch User
von Chandler B. (chandler)


Lesenswert?

Εrnst B. schrieb:
> Falsche Reihenfolge. Erst Container stoppen, dann Ordner löschen, dann
> Neustarten. (echtes Recreate vom Container, ggfs. docker-compose rm
> zigbee2mqtt)

Habe jetzt den Docker gestoppt, "docker system prune" ausgeführt, den 
Ordner gelöscht und neu gestartet.
Habe auch
1
      - /zigbee2mqtt/run/udev:/run/udev:ro
und
1
devices:
2
  - /dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0:/dev/ttyACM0
abgeändert.

Jetzt habe ich aber das Problem, dass state from file 
/app/data/state.json nicht geladen werden kann, da diese datei gar nicht 
existiert
1
debug 2024-10-08 16:52:02: Can't load state from file /app/data/state.json (doesn't exist)
sowie
1
error 2024-10-08 16:52:27: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
1
debug 2024-10-08 16:52:02: Can't load state from file /app/data/state.json (doesn't exist)
2
info  2024-10-08 16:52:02: Logging to console and directory: '/app/data/log/2024-10-08.16-52-02' filename: log.txt
3
info  2024-10-08 16:52:02: Starting Zigbee2MQTT version 1.33.2 (commit #9996c93)
4
info  2024-10-08 16:52:02: Starting zigbee-herdsman (0.21.0)
5
debug 2024-10-08 16:52:03: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/app/data/coordinator_backup.json","databaseBackupPath":"/app/data/database.db.backup","databasePath":"/app/data/database.db","network":{"channelList":[11],"extendedPanID":[104,80,184,165,246,184,192,193],"networkKey":"HIDDEN","panID":14971},"serialPort":{"path":"/dev/ttyACM0"}}'
6
info  2024-10-08 16:52:26: zigbee-herdsman started (reset)
7
info  2024-10-08 16:52:26: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20210708,"transportrev":2},"type":"zStack3x0"}'
8
debug 2024-10-08 16:52:26: Zigbee network parameters: {"channel":11,"extendedPanID":"0x6850b8a5f6b8c0c1","panID":14971}
9
info  2024-10-08 16:52:26: Currently 0 devices are joined:
10
info  2024-10-08 16:52:26: Zigbee: disabling joining new devices.
11
info  2024-10-08 16:52:26: Connecting to MQTT server at mqtt://mosquitto:1883
12
debug 2024-10-08 16:52:26: Using MQTT anonymous login
13
error 2024-10-08 16:52:27: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
14
error 2024-10-08 16:52:27: MQTT failed to connect, exiting...
15
info  2024-10-08 16:52:27: Stopping zigbee-herdsman...
16
error 2024-10-08 16:52:28: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
17
error 2024-10-08 16:52:29: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
18
error 2024-10-08 16:52:30: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
19
error 2024-10-08 16:52:31: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
20
error 2024-10-08 16:52:32: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
21
error 2024-10-08 16:52:33: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
22
error 2024-10-08 16:52:34: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
23
error 2024-10-08 16:52:35: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
24
error 2024-10-08 16:52:36: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
25
error 2024-10-08 16:52:37: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
26
error 2024-10-08 16:52:38: MQTT error: connect ECONNREFUSED 172.20.0.2:1883


Wenn ich die Datei manuell wieder hinzufüge, bekomme ich ebenfalls den 
Fehler
1
error 2024-10-08 17:00:11: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
2
error 2024-10-08 17:00:11: MQTT failed to connect, exiting...
1
debug 2024-10-08 17:00:07: Loaded state from file /app/data/state.json
2
info  2024-10-08 17:00:07: Logging to console and directory: '/app/data/log/2024-10-08.17-00-07' filename: log.txt
3
debug 2024-10-08 17:00:07: Removing old log directory '/app/data/log/2024-10-08.16-54-44'
4
info  2024-10-08 17:00:07: Starting Zigbee2MQTT version 1.33.2 (commit #9996c93)
5
info  2024-10-08 17:00:07: Starting zigbee-herdsman (0.21.0)
6
debug 2024-10-08 17:00:07: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/app/data/coordinator_backup.json","databaseBackupPath":"/app/data/database.db.backup","databasePath":"/app/data/database.db","network":{"channelList":[11],"extendedPanID":[104,80,184,165,246,184,192,193],"networkKey":"HIDDEN","panID":14971},"serialPort":{"path":"/dev/ttyACM0"}}'
7
info  2024-10-08 17:00:10: zigbee-herdsman started (resumed)
8
info  2024-10-08 17:00:10: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20210708,"transportrev":2},"type":"zStack3x0"}'
9
debug 2024-10-08 17:00:10: Zigbee network parameters: {"channel":11,"extendedPanID":"0x6850b8a5f6b8c0c1","panID":14971}
10
info  2024-10-08 17:00:10: Currently 0 devices are joined:
11
info  2024-10-08 17:00:10: Zigbee: disabling joining new devices.
12
info  2024-10-08 17:00:10: Connecting to MQTT server at mqtt://mosquitto:1883
13
debug 2024-10-08 17:00:10: Using MQTT anonymous login
14
error 2024-10-08 17:00:11: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
15
error 2024-10-08 17:00:11: MQTT failed to connect, exiting...
16
info  2024-10-08 17:00:11: Stopping zigbee-herdsman...
17
error 2024-10-08 17:00:12: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
18
error 2024-10-08 17:00:13: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
19
error 2024-10-08 17:00:14: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
20
error 2024-10-08 17:00:15: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
21
error 2024-10-08 17:00:16: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
22
error 2024-10-08 17:00:17: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
23
error 2024-10-08 17:00:18: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
24
error 2024-10-08 17:00:19: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
25
error 2024-10-08 17:00:20: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
26
error 2024-10-08 17:00:21: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
27
error 2024-10-08 17:00:22: MQTT error: connect ECONNREFUSED 172.20.0.2:1883
28
info  2024-10-08 17:00:22: Stopped zigbee-herdsman

von Εrnst B. (ernst)


Lesenswert?

Chandler B. schrieb:
> - /zigbee2mqtt/run/udev:/run/udev:ro

das ist falsch. Falls das image den /run/udev-Ordner braucht, braucht es 
auch den echten.

> Can't load state from file /app/data/state.json
ist beim ersten Start normal. Muss ja erstmal den Dongle und die 
Zigbee-Geräte anlernen.

> MQTT error: connect ECONNREFUSED 172.20.0.2:1883

dein mosquitto-Container läuft nicht oder ist falsch konfiguriert.

auch mal das Log von dem prüfen.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Mal probieren ob der MQTT Zugriff lokal möglich ist von 127.1. für 
externe Zugriffe muss das in der Konfigdatei explizit erlaubt werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.