[Gelöst] Docker zigbee2mqtt, Probleme mit xBridge

Begonnen von Gear, 06 Januar 2023, 14:52:52

Vorheriges Thema - Nächstes Thema

Gear

Hallo zusammen,

bin gerade am auf einen neuen SmartHome-Server.

Im Docker:
- FHEM
- MQTT (Ich weiß, es gibt MQTT2, möchte das aber so lösen.)
- Zigbee2MQTT

Alle drei Container laufen.
- FHEM und MQTT kommunizieren
- Zigbee2MQTT und MQTT kommunizieren

Zigbee2MQTT kommen in FHEM an, werden aber nicht von der xBridge erkannt.
Wahrscheinlich fehlt hier einfach etwas.

Nun besteht das Problem, wenn ich die xBridge anlege, dann wird kein Coordinator angelegt und auch keine Verbindung aufgebaut.
Habe das ganze auf meinem RPi4 ohne Docker am Laufen. (Habe zwei von den Zigbee Sticks)

Device: xBridge
define xBridge XiaomiMQTTDevice bridge
#   CFGFN     
#   DEF        bridge
#   FRIENDLYNAME
#   FUUID      63b821e5-f33f-6533-1567-bae9557ed9305016
#   IODev      Mosquitto
#   MODEL      bridge
#   NAME       xBridge
#   NOTIFYDEV  global
#   NR         56
#   NTFY_ORDER 50-xBridge
#   SID       
#   STATE      paired
#   TOPIC     
#   TYPE       XiaomiMQTTDevice
#   eventCount 32
#   Helper:
#     DBLOG:
#       state:
#         DBLogging:
#           TIME       1673012712.25958
#           VALUE      pair 1
#       transmission-state:
#         DBLogging:
#           TIME       1673012712.26105
#           VALUE      outgoing publish acknowledged
#   READINGS:
#     2023-01-06 14:44:55   IODev           Mosquitto
#     2023-01-06 14:45:12   transmission-state outgoing publish acknowledged
#   message_ids:
#   subscribe:
#     zigbee2mqtt/
#     xiaomi//#
#     zigbee2mqtt/bridge/#
#   subscribeExpr:
#     ^zigbee2mqtt\/$
#     ^xiaomi\/.*$
#     ^zigbee2mqtt\/bridge.*$
#   subscribeQos:
#     xiaomi//#  0
#     zigbee2mqtt/ 0
#     zigbee2mqtt/bridge/# 0
#   subscribeReadings:
#     zigbee2mqtt/bridge/config/devices:
#     zigbee2mqtt/bridge/config/permit_join:
#
setstate xBridge paired
setstate xBridge 2023-01-06 14:44:55 IODev Mosquitto
setstate xBridge 2023-01-06 14:45:12 transmission-state outgoing publish acknowledged



Device: MQTT
define Mosquitto MQTT 172.17.0.1:1883
attr Mosquitto DbLogExclude .*
#   DEF        172.17.0.1:1883
#   DeviceName 172.17.0.1:1883
#   FD         4
#   FUUID      63b813ae-f33f-6533-54dd-aa254066161173e7
#   FVERSION   00_MQTT.pm:0.249810/2021-09-16
#   NAME       Mosquitto
#   NOTIFYDEV  global
#   NR         47
#   NTFY_ORDER 50-Mosquitto
#   PARTIAL   
#   STATE      opened
#   TYPE       MQTT
#   buf       
#   eventCount 23
#   msgid      19
#   ping_received 1
#   timeout    60
#   READINGS:
#     2023-01-06 14:46:46   connection      active
#     2023-01-06 14:27:46   state           opened
#   messages:
#
setstate Mosquitto opened
setstate Mosquitto 2023-01-06 14:46:46 connection active
setstate Mosquitto 2023-01-06 14:27:46 state opened



Device: Zum Testen, ob Zigbee2MQTT in FHEM ankommt.
define Z2M.Test MQTT_DEVICE
attr Z2M.Test DbLogExclude .*
attr Z2M.Test stateFormat state
attr Z2M.Test subscribeReading_state Zigbee2MQTT/0x00158d00022c63fd
#   CFGFN     
#   FUUID      63b826ee-f33f-6533-b5ab-f0e3751f8062dc41
#   IODev      Mosquitto
#   NAME       Z2M.Test
#   NR         272
#   STATE      {"battery":100,"humidity":40.76,"linkquality":115,"power_outage_count":7391,"pressure":945.2,"temperature":25.79,"voltage":3065}
#   TYPE       MQTT_DEVICE
#   eventCount 4
#   READINGS:
#     2023-01-06 14:49:34   IODev           Mosquitto
#     2023-01-06 14:49:43   state           {"battery":100,"humidity":40.76,"linkquality":115,"power_outage_count":7391,"pressure":945.2,"temperature":25.79,"voltage":3065}
#     2023-01-06 14:49:43   transmission-state incoming publish received
#   message_ids:
#   sets:
#   subscribe:
#     Zigbee2MQTT/0x00158d00022c63fd
#   subscribeExpr:
#     ^Zigbee2MQTT\/0x00158d00022c63fd$
#   subscribeQos:
#     Zigbee2MQTT/0x00158d00022c63fd 0
#   subscribeReadings:
#     Zigbee2MQTT/0x00158d00022c63fd:
#       cmd       
#       name       state
#
setstate Z2M.Test {"battery":100,"humidity":40.76,"linkquality":115,"power_outage_count":7391,"pressure":945.2,"temperature":25.79,"voltage":3065}
setstate Z2M.Test 2023-01-06 14:49:34 IODev Mosquitto
setstate Z2M.Test 2023-01-06 14:49:43 state {"battery":100,"humidity":40.76,"linkquality":115,"power_outage_count":7391,"pressure":945.2,"temperature":25.79,"voltage":3065}
setstate Z2M.Test 2023-01-06 14:49:43 transmission-state incoming publish received



Vielen Dank
Grüße
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Sidey

Bist Du sicher, dass der mqtt Container immer die genannte IP Adresse hat?

Vielleicht hat er die ja nicht mehr. Wenn Du mittels Hostname verbindest, kannst Du das ausschließen.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Gear

Per Hostname geht das irgendwie nicht.
Ich nutze die Gateway-IP, diese bleibt immer gleich.

Aber mal davon abgesehen, die Kommunikation funktioniert ja, nur die xBridge nicht.

Theoretisch könnte ich auch einfach MQTT Device's anlegen und per "expandJSON" das JSON "zerlegen".
Schöner wäre halt die xBridge.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

OdfFhem

Hinweis: "zigbee2mqtt" ist nicht gleich "Zigbee2MQTT"

Sidey

Zitat von: Gear am 06 Januar 2023, 15:29:54
Per Hostname geht das irgendwie nicht.
Ich nutze die Gateway-IP, diese bleibt immer gleich.

Was verwendest Du denn als hostnamen, dass es nicht geht?
Docker registriert für jeden container automatisch im internen Netzwerk einen Hostnamen. Das die IP-Adressen immer gleich bleiben, das ist mir neu, wie hast Du das realisiert?

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Gear

Die Hostname Sache funktioniert jetzt.

Das Zigbee2MQTT habe ich jetzt so gelöst:
Habe MQTT Devices für die Geräte und lasse das JSON mit expandJSON zerlegen.

Da ich hier nur Schalter / Buttons / Klimasensoren habe, kein Problem.

Danke und einen schönen Tag.
Grüße
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <