MQTT2_Discovery - nativer HA/Tasmota discovery Support

Begonnen von Guybrush, 19 August 2026, 23:50:58

Vorheriges Thema - Nächstes Thema

Guybrush

Das ist alles richtig so, da zigbee2mqtt den bridgestatus auch bei jedem einzelnen device im discovery mitschickt. HA nutzt das für die Verfügbarkeitsprüfung. Dort werden bei zigbee2mqtt default 2 Werte im discovery topic eines devices übertragen - die des devices und die der bridge. wenn beide positiv sind, dann ist availability = 1 bei HA.

Wenn du in Zigbee2mqtt unter settings>home assistant integration "enabled" aktivierst, wird auch automatisch ein Zigbee Bridge Device angelegt. HA funktioniert ja etwas anders als fhem. Das ist eigentlich unnötig in jedem device den bridge status zu haben. Aber es ist auch komfortabel, weil man so nichts händisch machen muss, wie bei fhem. MQTT2_Discovery soll das HA / Tasmota Protokoll insoweit 1:1 umsetzen und verzichtet auf hardcodierte Umbiegungen. Das funktioniert also alles so wie gewollt und würde in HA auch nicht anders laufen.

ich bau das aber gerade schon ein, dass entsprechend der HA Vorgaben ein availabilty topic gesetzt wird. die readings von device+bridge würden dann ausgeblendet, oder optional über attribut trotzdem angelegt werden. so in etwa solls werden.

Guybrush

Zitat von: SH_Heini am 23 August 2026, 11:28:40Bei Schaltern sieht es momentan noch so aus.
automatisch angelegtes Gerät:

kannst du davon die discovery message einmal posten?

SH_Heini

Zitatkannst du davon die discovery message einmal posten?

da stehe ich gerade auf dem Schlauch, was meinst Du mit discovery message?

Guybrush

das sind die mqtt nachrichten mit discovery prefixen. default:
homeassistant/...
tasmota/discovery/...

nur diese nachrichten verarbeitet MQTT2_Discovery. alle anderen sind states/cmd und werden unverändert von MQTT2_Device verarbeitet. Ich brauch also die zu dem Gerät gehörende Nachricht die mit einem der beiden präfixe beginnt. also z.b. tasmota/discovery/<gerät>/...

SH_Heini

{
  "availability": [
    {
      "topic": "zigbee2mqtt/bridge/state",
      "value_template": "{{ value_json.state }}"
    },
    {
      "topic": "zigbee2mqtt/SCHALTER_WAND_SZ/availability",
      "value_template": "{{ value_json.state }}"
    }
  ],
  "availability_mode": "all",
  "command_topic": "zigbee2mqtt/SCHALTER_WAND_SZ/set/identify",
  "default_entity_id": "button.schalter_wand_sz_identify",
  "device": {
    "hw_version": 1,
    "identifiers": [
      "zigbee2mqtt_0xf4b3b1fffea4daf8"
    ],
    "manufacturer": "IKEA",
    "model": "TRADFRI on/off switch",
    "model_id": "E1743",
    "name": "SCHALTER_WAND_SZ",
    "sw_version": "24.4.6",
    "via_device": "zigbee2mqtt_bridge_0x983268fffe1c1485"
  },
  "device_class": "identify",
  "entity_category": "config",
  "object_id": "schalter_wand_sz_identify",
  "origin": {
    "name": "Zigbee2MQTT",
    "sw": "2.13.0",
    "url": "https://www.zigbee2mqtt.io"
  },
  "payload_press": "identify",
  "unique_id": "0xf4b3b1fffea4daf8_identify_zigbee2mqtt"
}

das hier?