[ZHA ou Z2M] Module volet roulant Sunricher sr-zg9080a / Commandes inversées

Mon problème

Suite à l’intégration du module Suricher SR-ZG9080A dans mon réseau Zigbee (avec ZHA et une clé Conbee 2), les commandes, pour contrôler mon volet roulant électrique, sont inversées.

Je précise que la calibration fonctionne et que mon interrupteur « haut-bas » connecté sur le module fonctionne correctement : haut = le volet se lève. bas = le volet descend.

Autre information : Le module se nomme également HK-ZCC-A dans ZHA et le firmwire installé est le 0x00000030

J’ai tenté une réinitialisation du module puis une réintégration et les commandes sont restées inversées.
J’ai essayé d’utiliser la technique décrite dans cette conversation : Retour d'état volet inverser par @Pulpy-Luke mais cela ne fonctionne pas, voici ce qu’il se passe :
Etat réel : Volet fermé
Etat du cover dans ZHA (Volet roulant Chambre RDC) : Volet ouvert
Etat du nouveau cover créé (Volet Chambre RDC dans config.yaml) : Volet fermé
(en haut mon cover créé dans ZHA et en bas le cover créé dans config.yaml)
Presse-papiers-1

Ensuite, j’appuie sur la flèche vers le haut de mon cover créé dans config.yaml
Donc, cela fait fonctionner la commande suivante :

        open_cover:
          service: cover.close_cover
          data:
            entity_id: cover.volet_roulant_chambre_rdc

Le cover du haut (celui de ZHA) change de statut la flèche vers le bas devient grise mais rien ne se passe.
Presse-papiers-2

Seul le statut du cover du haut (celui de ZHA) va passé en « closing » mais au bout de quelques secondes il va revenir en état ouvert.

Autre élément intéressant :
Lorsque je lance cette commande sur le cover créé dans ZHA

service: cover.set_cover_position
data:
  position: 50
target:
  entity_id: cover.volet_roulant_chambre_rdc

Le volet se met bien à 50%. Ensuite je lance cette commande, toujours sur le cover créé dans ZHA

service: cover.close_cover
data: {}
target:
  entity_id: cover.volet_roulant_chambre_rdc

Et le volet se ferme ! C’est dingue…

Une fois fermé, la commande « cover.open_cover » ne fonctionne pas !

En conclusion, je pense qu’il y a un gros problème avec les informations reçues par ZHA et leur correspondance dans l’entité cover !
Quelqu’un a déjà eu ce problème ?

Pour l’instant, j’arrive à trouver une solution en indiquant au cover, celui créé dans ZHA, que « ouvrir le volet » = « aller à 100% » et « fermer le volet » = « aller à 0% » :neutral_face:

Ma configuration

version core-2022.2.6
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.92-v8
arch aarch64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 5000
Installed Version 1.22.0
Stage running
Available Repositories 977
Downloaded Repositories 18
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 7.4
update_channel stable
supervisor_version supervisor-2022.01.1
docker_version 20.10.9
disk_total 222.8 GB
disk_used 8.7 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons File editor (5.3.3), Mosquitto broker (6.0.1), Samba share (9.5.1), Samba Backup (5.0.0), Terminal & SSH (9.3.0), Z-Wave JS to MQTT (0.35.0)
Lovelace
dashboards 1
resources 10
views 13
mode storage
___

Pour info :
Je viens de passer à Z2M et j’ai toujours le même problème.
J’ai trouvé une issue qui mentionne ce problème. Seule solution pour l’instant, inverser les fils entre le moteur et le module… Pas top…

Saut dans zigbee2mqtt en allant sur ton module tu dois avoir un onglet expose ou dans paramètres spécifiques l’option invert_cover
Teste cela

Oui j’ai testé cette fonction mais cela inverse juste la position du curseur dans HA.
Soit ouvert à 0% soit ouvert à 100%.
Merci quand même !

Salut,

As-tu résolu ton soucis ?

Bonjour @Neuvidor,
Suite à l’intégration de ce module avec Z2M, mon module est bien reconnu.
Le seul problème, c’est qu’il ne comprend pas les commandes « open » et « close ». Il comprend seulement les positions.
J’ai donc créé un volet dans config.yaml :

# Volet roulant Chambre RDC
  - platform: template
    covers:
      chambre_rdc:
        device_class: shutter
        friendly_name: "Volet Chambre RDC"
        position_template: "{{ (state_attr('cover.volet_chambre_rdc', 'current_position') | int(0)) }}"
        open_cover:
          service: cover.set_cover_position
          data:
            entity_id: cover.volet_chambre_rdc
            position: 100
        close_cover:
          service: cover.set_cover_position
          data:
            entity_id: cover.volet_chambre_rdc
            position: 0
        stop_cover:
          service: cover.stop_cover
          data:
            entity_id: cover.volet_chambre_rdc
        set_cover_position:
          service: cover.set_cover_position
          data_template:
            entity_id: cover.volet_chambre_rdc
            position: "{{ position }}"

Avec « cover.volet_chambre_rdc » qui est mon volet créé par Z2M et « cover.chambre_rdc » qui est mon volet créé par ce template.
Et cela fonctionne très bien !

1 « J'aime »