Bouton qui ne marche plus depuis Z2M 2.0

Bonjour,

Suite au passage à la version 2.0 de Zigbee2Mqtt, mes boutons ne marchent plus.

par exemple le sensor.bouton_tete_de_lit_action a disparu.
c’est un SNZB-01
si je vais sur mon bouton, il est toujours vu dans Z2M, mais dans exposes, il manque bien la partie action:


d’ailleurs c’est pareil pour mes TS0041 et TS0042.
j’utilisais un blueprint qui ne fonctionne plus.

comme je commande deux lampes qui peuvent être soit allumées ou éteintes, avec un simple clic, j’allumais les 2 et avec un double clic j’éteignait les deux, peu importe l’état de départ.
Y a il un moyen de faire marcher ces boutons maintenant ?

Ma configuration


System Information

version core-2025.1.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.62-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 4985
Installed Version 2.0.3
Stage running
Available Repositories 1508
Downloaded Repositories 65
Home Assistant Cloud
logged_in true
subscription_expiration 19 décembre 2025 à 01:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled true
cloud_ice_servers_enabled true
remote_server eu-central-1-2.ui.nabu.casa
certificate_status ready
instance_id ac9ac8ddbfe9468f950a04eac5615569
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.1
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 457.7 GB
disk_used 37.0 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi5-64
supervisor_api ok
version_api ok
installed_addons Mosquitto broker (6.5.0), Samba share (12.4.0), ESPHome Device Builder (2024.12.2), SQLite Web (4.3.0), chrony (5.0.0), Zigbee2MQTT (2.0.0-2), Home Assistant Google Drive Backup (0.112.1), Studio Code Server (5.18.0), OpenThread Border Router (2.13.0), Matter Server (7.0.0), Piper (1.5.2), openWakeWord (1.10.0), Whisper (2.4.0), Advanced SSH & Web Terminal (20.0.0), Terminal & SSH (9.16.0), Network UPS Tools (0.14.0), SNMPD (0.4.0), Node-RED (19.0.0)
Dashboards
dashboards 11
resources 42
views 48
mode storage
Recorder
oldest_recorder_run 7 janvier 2025 à 09:24
current_recorder_run 15 janvier 2025 à 18:16
estimated_db_size 1521.21 MiB
database_engine sqlite
database_version 3.47.1
Sonoff
version 3.8.1 (c4b6fda)
cloud_online 0 / 2
local_online 0 / 0
Spotify
api_endpoint_reachable ok
___

Salut,

Tu as raté le changelog


Et tous les sujets sur le forum ???

non, j’ai bien vu ces posts, je les ai même lus pour re-faire marcher mon Z2M qui refusait de démarrer suite à une modif adapter: zstack qu’il fallait mettre au niveau serial et qui a disparu maintenant… donné par @WarC0zes
mais au niveau de la gestion d’un bouton, j’y entrave quedale…

je vais re regarder là dedans…

Au contraire, c’est obligatoire maintenant adapter: zstack pour la Sonoff P. Qui ne l’était pas avant la v2.0.
image

C’est ce que j’ais mis dans le fichier de configuration:


mais qui disparait dans la config…

C’est normal, ce que tu mets dans le configuration.yaml, ne se rajoute pas dans la configuration de l’UI.
La configuration de l’UI, c’est juste pour le premier lancement de Z2M, après , tu changes par le fichier configuration.yaml.

1 « J'aime »

Est ce que ce problème va impacter également ZHA ?

Normalement non.
Mais tu utilises ZHA et Z2M ?

Non, mais je préfère me renseigner si il faut que je repasse sur ZHA pour pouvoir allumer mes ampoules avec les interrupteurs sans fils.

Pourquoi repasser sur ZHA :stuck_out_tongue:
je t’ai donné la solution, il faut utiliser le MQTT Trigger. C’est-à-dire choisir en déclencheur appareil puis tu sélectionnes ton bouton et les actions que tu veux faire.

C’est pas vraiment concluant…
voila mes 2 automatisations:

alias: Automatisation Bouton tete de lit - liseuses off
description: ""
triggers:
  - domain: mqtt
    device_id: b2ff589c136cda57000b1cc24ef8785f
    type: action
    subtype: double
    trigger: device
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.to_state.attributes.event_type == 'single'}}"
actions:
  - action: light.turn_off
    target:
      entity_id:
        - light.liseuse_benoit
        - light.liseuse_sandrine
    data: {}
mode: single

et

alias: Automatisation Bouton tete de lit - liseuses on
description: ""
triggers:
  - domain: mqtt
    device_id: b2ff589c136cda57000b1cc24ef8785f
    type: action
    subtype: single
    trigger: device
conditions:
  - condition: template
    value_template: "{{trigger.from_state.state != 'unavailable'}}"
  - condition: template
    value_template: "{{trigger.to_state.attributes.event_type == 'single'}}"
actions:
  - action: light.turn_on
    target:
      entity_id:
        - light.liseuse_benoit
        - light.liseuse_sandrine
    data: {}
mode: single

Quand je lance executer les actions: Ok, allume et éteint bien les lampes.
Déclanché s’affiche bien en bleu lors d’un simple clic ou un double clic dans la bonne automatisation.

dans mqtt explorer, je vois bien simple ou double dans zigbee2mqtt/Bouton Tete de lit/action quand je clic une ou deux fois.

mais un simple clic ou un double clic ne commandent rien du tout…

Enregistreur: homeassistant.components.automation
Source: helpers/condition.py:1108
intégration: Automatisation (documentation, problèmes)
S'est produit pour la première fois: 18:40:36 (21 occurrences)
Dernier enregistrement: 18:45:47

Error evaluating condition in 'Automatisation Bouton tete de lit - liseuses on': In 'condition' (item 1 of 2): In 'template' condition: UndefinedError: 'dict object' has no attribute 'from_state' In 'condition' (item 2 of 2): In 'template' condition: UndefinedError: 'dict object' has no attribute 'to_state'
Error evaluating condition in 'Automatisation Bouton tete de lit - liseuses off': In 'condition' (item 1 of 2): In 'template' condition: UndefinedError: 'dict object' has no attribute 'from_state' In 'condition' (item 2 of 2): In 'template' condition: UndefinedError: 'dict object' has no attribute 'to_state'

C’est pas le trigger le problème mais les conditions…
Vire la ligne du test sur le single

Pourquoi tu utilises des conditions?

deux exemple possible:

alias: Aqara Mini Switch Séjour mqtt
description: ""
triggers:
  - domain: mqtt
    device_id: e53474e43db1a26b560a65a492ba280c
    type: action
    subtype: single
    trigger: device
    id: single
  - domain: mqtt
    device_id: e53474e43db1a26b560a65a492ba280c
    type: action
    subtype: double
    trigger: device
    id: double
  - domain: mqtt
    device_id: e53474e43db1a26b560a65a492ba280c
    type: action
    subtype: hold
    trigger: device
    id: hold
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - single
        sequence:
          - action: light.toggle
            metadata: {}
            data: {}
            target:
              entity_id: light.0x00158d0002e75493
      - conditions:
          - condition: trigger
            id:
              - double
        sequence:
          - choose:
              - conditions:
                  - condition: state
                    entity_id: sun.sun
                    state: above_horizon
                sequence:
                  - action: light.toggle
                    metadata: {}
                    data:
                      brightness_pct: 90
                      kelvin: 3984
                    target:
                      entity_id: light.0x00158d0007b079f0
              - conditions:
                  - condition: state
                    entity_id: sun.sun
                    state: below_horizon
                sequence:
                  - action: light.toggle
                    metadata: {}
                    data:
                      brightness_pct: 30
                      kelvin: 2702
                    target:
                      entity_id: light.0x00158d0007b079f0
      - conditions:
          - condition: trigger
            id:
              - hold
        sequence:
          - action: light.toggle
            metadata: {}
            data: {}
            target:
              entity_id: light.lumieres_hotte_aspirante
          - action: switch.toggle
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.shellyplus2pm_e465b8b25d94_switch_1
mode: single

alias: Aqara Mini Switch Séjour mqtt 2
description: ""
triggers:
  - trigger: mqtt
    topic: zigbee2mqtt/Mini_Interrupteur_Séjour/action
conditions: []
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ trigger.payload == 'single' }}"
        sequence:
          - action: light.toggle
            metadata: {}
            data: {}
            target:
              entity_id: light.0x00158d0002e75493
mode: single

je suppose que les tests de condition venaient du script
dans https://www.zigbee2mqtt.io/guide/usage/integrations/home_assistant.html et que je les avais pas virés.

alias: Automatisation Bouton tete de lit - liseuses on
description: ""
triggers:
  - domain: mqtt
    device_id: b2ff589c136cda57000b1cc24ef8785f
    type: action
    subtype: single
    trigger: device
conditions: []
actions:
  - action: light.turn_on
    target:
      entity_id:
        - light.liseuse_benoit
        - light.liseuse_sandrine
    data: {}
mode: single

la c’est OK, ca marche.

Non , tu as utiliser l’exemple des events :stuck_out_tongue:

MQTT trigger