FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Gear am 06 Januar 2023, 14:52:52

Titel: [Gelöst] Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: Gear am 06 Januar 2023, 14:52:52
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
Titel: Antw:Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: Sidey am 06 Januar 2023, 15:20:58
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
Titel: Antw:Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: Gear am 06 Januar 2023, 15:29:54
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.
Titel: Antw:Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: OdfFhem am 06 Januar 2023, 17:49:35
Hinweis: "zigbee2mqtt" ist nicht gleich "Zigbee2MQTT"
Titel: Antw:Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: Sidey am 06 Januar 2023, 17:52:19
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
Titel: Antw:Docker zigbee2mqtt, Probleme mit xBridge
Beitrag von: Gear am 07 Januar 2023, 07:46:47
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