Einbindung ZG-101Z/D über Zigbee2MQTT in Home Assistant - Invalid event single, double, hold

Hi,

ich versuche einen Drehknopf von Ali, der als ZG-101Z/D erkannt wird über Zigbee2MQTT (läuft in einem eigenen LXC Container in Proxmox) in Home Assistant einzubinden.

Nachdem ich verstanden habe, dass man erst “Home Assistant experimental event entities” aktivieren muss, kommen auch Events in HA an.
Leider nur “rotate_left” und “rotate_right”.

Der Knopf kann aber auch gedrückt werden. In Z2M werden die Actions single, double, hold auch beim Gerät angezeigt.
In den HA Logfiles wird mir folgendes für die MQTT Integration angezeigt:

Invalid event type single for event.0xa4c138e6c9be20d4_action received on topic zigbee2mqtt/0xa4c138e6c9be20d4, payload {"event_type":"single"}
Invalid event type double for event.0xa4c138e6c9be20d4_action received on topic zigbee2mqtt/0xa4c138e6c9be20d4, payload {"event_type":"double"}
Invalid event type hold for event.0xa4c138e6c9be20d4_action received on topic zigbee2mqtt/0xa4c138e6c9be20d4, payload {"event_type":"hold"}

Wie schaffe ich es, dass auch diese actions in der MQTT Integration/dem MQTT Gerät ankommen?

Auf Tuya ZG-101Z/D control via MQTT | Zigbee2MQTT werden auch nur die Actions rotate_left, rotate_right genannt - obwohl auf der Geräte Details/Exposes Seite auch die anderen Actions angezeigt werden. Wird das Gerät evtl. falsch erkannt?

Schonmal danke, Christoph

Suche mal nach “Gerät Integration Blueprint”.
Da gibt es für fast alles was.
Habe auch für ein Gerät ein Blueprint wo der Blueprint den mqtt topic selber abfragt da nicht alles in HA weiter gegeben wird.

LG

Moin,

schau dir mal unter Entwicklerwerkzeuge -> Zustände dieses Gerät an, z. B.

Dann kann man entweder wie @totow schon geschrieben hat ein Blueprint nehmen und auf diese Events reagieren, oder den alten zustand nutzen

VG
Bernd

Danke schonmal für eure Antworten.

Mich irritiert, dass unter Zustände des Geräts auch nur rotate_left, rotate_right gelistet sind.

image

In Z2M wird beispielsweise auch die Action “double” angezeigt.

Und im MQTT Explorer tauchen diese actions auch auf.

image

Wenn im HA Gerät diese Actions gar nicht vorgesehen sind, kann ich sie dann in einem Blueprint nutzen?

Ich werde mal noch die Z2M legacy Einstellung probieren.
Da ich gerade mit Zigbee anfange rumzuspielen, wollte ich aber eigentlich nicht auf ein Auslaufmodell setzen.

Moin,

Was passiert denn, wenn Du das einstellst?

VG
Bernd

Ich habe das Legacy Verhalten jetzt in Z2M eingestellt und erhalte nun auch z.B. single

Also scheint erstmal zu funktionieren. Danke.

Trotzdem würde mich interessieren, warum es mit dem neuen/zukünftigen Verhalten von Z2M nicht funktioniert. Wo könnte man so einen “Bug” ggf. melden?

Moin,

ich bin mir da nicht sicher, dass das ein Fehler ist.
Was passiert denn, wenn Du in Z2M von command auf event umstellst?
Aus der Beschreibung Tuya ZG-101Z/D control via MQTT | Zigbee2MQTT geht ja das daraus hervor!

Operation mode: “command” - for group control, “event” - for clicks.

VG
Bernd

ich habe jetzt nochmal command und event für beide Optionen (legacy, experimental) ausprobiert.
Der Drehknopf verhält sich aus meiner Sicht exakt gleich in der HA/MQTT integration. (ich habe noch nichts mit dem Knopf verknüpft)

  • legacy: single, double, hold kommt an
  • experimental: das Drücken des Knopfs kommt nicht an.

Werde wahrscheinlich mal hier fragen oder lesen: Koenkk/zigbee2mqtt · Discussions · GitHub

Hallo crs,

ich habe auch einen solchen Taster gekauft und stehe vor dem vgl. Problem des Einsatztes im HA. Egal ob auf “command” oder “event” gestellt bekomme ich nichts damit zum Laufen.
Hast Du eine Lösung gefunden?

Grüße

Thomas

Hi,

Ja, ich haben für mich eine Lösung gefunden. Habe die Events direkt aus der MQTT Nachricht eingebunden, da z.B. double nicht im Gerät ankam.

Hier meine Automation (eine Action bei double wurde noch nicht definiert):

> alias: Drehknopf
> description: “”
> triggers:
>
> * topic: zigbee2mqtt/Drehknopf/action
>   value_template: “{{ value_json.payload }}”
>   trigger: mqtt
>   actions:
> * choose:
>   * conditions:
>     * condition: template
>       value_template: “{{ trigger.payload == ‘single’ }}”
>       sequence:
>     * action: media_player.media_play_pause
>       metadata: {}
>       data: {}
>       target:
>       device_id: 9d76e70a598c83b734e4d727d0103778
>   * conditions:
>     * condition: template
>       value_template: “{{ trigger.payload == ‘rotate_left’ }}”
>       sequence:
>     * metadata: {}
>       data: {}
>       target:
>       device_id: 9d76e70a598c83b734e4d727d0103778
>       action: media_player.volume_down
>   * conditions:
>     * condition: template
>       value_template: “{{ trigger.payload == ‘rotate_right’ }}”
>       sequence:
>     * action: media_player.volume_up
>       metadata: {}
>       data: {}
>       target:
>       device_id: 9d76e70a598c83b734e4d727d0103778
>   * conditions:
>     * condition: template
>       value_template: “{{ trigger.payload == ‘hold’ }}”
>       sequence:
>     * action: media_player.turn_off
>       metadata: {}
>       data: {}
>       target:
>       device_id: fa7c8db4e884714f194f50c9d409a908
>     * action: media_player.turn_off
>       metadata: {}
>       data: {}
>       target:
>       device_id: 6ce722839b5f26a0783ce0a52264bd46
>   * conditions:
>     * condition: template
>       value_template: “{{ trigger.payload == ‘double’ }}”
>       sequence: [ ]
>       mode: single

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)

Super - Vielen Dank für die Idee!

Das hat funktioniert :slight_smile:

Grüße Thomas