Position des volets

Bonjour,

J’ai essayé plusieurs fois mais sans succès. Les volets équipés d’un commutateur Zigbee curtain module TS130F model QS-Zigbee-C03 ne restent pas fermés.

J’utilise Z2MQTT,

image

J’ai une valeur dans Calibration time mais rien à faire, après quelques minutes les volets se retrouvent ouverts. Est ce que vous avez une idée de comment faire pour que ça fonctionne?

Salut

Tu les as calibré ?

oui à plusieurs reprises

tu as quoi comme valeur dans calibration time ?

Pour les miens, j’ai dû me reprendre à plusieurs fois afin que la valeur que j’entrais dedans, soit bien enregistrée

Ca dépend, j’ai 3 volets et j’ai (dans z2mqtt) :

{
    "1_1": {
        "moesCalibrationTime": 129
    },
    "2_1": {
        "moesCalibrationTime": 129
    },
    "calibration": "OFF",
    "calibration_time": 12.9,
    "linkquality": 76,
    "motor_reversal": "ON",
    "moving": "STOP",
    "position": 100,
    "state": "OPEN"
}
{
    "calibration": "OFF",
    "calibration_time": 39,
    "linkquality": 58,
    "motor_reversal": "OFF",
    "moving": "STOP",
    "position": 100,
    "state": "OPEN"
}
{
    "calibration": "OFF",
    "calibration_time": 18,
    "linkquality": 40,
    "motor_reversal": "OFF",
    "moving": "STOP",
    "position": 100,
    "state": "OPEN"
}

Précision les modules sont rigoureusement les mêmes, pourquoi le premier il y a des moescalibration time en plus???

Tu as un paramètre qui diffère, le motor Reversal. Sur le premier, il est sur on, alors que les autres il est sur off. La calibration se fait également lors de la montée du volet car il met plus de temps à s’ouvrir qu’à se fermer. J’avais rajouté une seconde en plus à la calibration.

Il faut multiplier également le résultat par 10. Ce qui fait que pour une montée de 18 secondes ça te donne 180.

J’ai également changé le type d’ouverture qui était proposé par défaut (commutateur) pour le mettre en volet. Commence par regarder le type d’identité

merci pour ta réponse @lvteam , l’un des modules est monté à l’envers donc le moteur est inversé (pour que la flèche haut monte le volet).

dans z2mqtt :

{
    "calibration": "OFF",
    "calibration_time": 40.6,
    "linkquality": 76,
    "motor_reversal": "OFF",
    "moving": "STOP",
    "position": 100,
    "state": "OPEN"
}

dans mqtt :

Donc je pense que je peux changer où je veux ça se répercute partout :wink:

j’ai également changé les types en shutter

Pour lui le temps de calibration est de 18s, donc l’automatisation démarre à 19:05:22, 18 secondes plus tard ça devrait être fermé mais il faut 19s. 11minutes et 49 secondes après que la fermeture se soit enclenchée il est de nouveau ouvert.

Salut,

Ce que tu montres là c’est le fait que ton volet indique sa position et que HA la reçoive.
Il n’y a là dedans pas de notion d’automatisation (c’est purement HA) à la limite on parle bien de temps de montée/descente.
Et ça ne veut pas dire non plus c’est le temps que le volet mets … Si réseau zigbee avec mauvais fonctionnement, ton volet est possiblement bien bas/haut en 18s après le déclenchement mais HA n’a l’info que bien plus tard quand il arrive à dialoguer à nouveau avec le module.
Tu te mets devant le volet et tu regarde le temps d’un manœuvre (à l’aide des boutons physique)

Salut,

je me suis mal fait comprendre, je me moque du temps réél que mets mon volet à se déplacer, ce que je veux c’est que quand il est fermé il reste fermé dans HA et que quand il est ouvert ça soit pareil. Sans aucune intervention il repasse ouvert à 19:17:11 alors qu’il était bel et bien fermé 11’49” avant. Physiquement je constate que le volet est toujours fermé alors je ne comprend pas pourquoi il a l’impression d’être ouvert.

Hello,

Comme ça, je ne vois pas vraiment possible que le module fournisse une info fausse à HA
El faut creuser les logs (HA et Z2M) et ne plus se contenter du journal des actions. Et vérifier que aussi que ce n’est pas un doublon de nom. Qui donnerai l’illusion que c’est l même volet.

J’ai justement fait un correctif pour cela qui marche très bien chez moi, depuis plus jamais de problème… Et comme je ne voulais pas recopier le code pour chacun de mes volets, j’en ai fait un blueprint que tu peux utiliser :

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

2 « J'aime »

Je vais voir comment ça marche mais ça m’a l’air pas mal du tout, bravo @ebz

Avant de voir ton blueprint je me suis dit : tu as une lampe qui s’allume quand la porte du garage s’ouvre et s’éteint quand elle se ferme et ça fonctionne. Pourquoi ne pas partir sur la même idée??

J’ai créé un “input_boolean.volets” et une automatisation

alias: "Switch pour les volets "
description: ""
triggers:
  - device_id: a141417094f8262a7cdeae257b158de3
    domain: cover
    entity_id: 956b46a8ee57d371d5a48c9db5014d29
    type: position
    trigger: device
    above: 0
    below: 100
conditions: []
actions:
  - choose:
      - conditions:
          - condition: device
            device_id: a141417094f8262a7cdeae257b158de3
            domain: cover
            entity_id: 956b46a8ee57d371d5a48c9db5014d29
            type: is_opening
        sequence:
          - action: input_boolean.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.volets
      - conditions:
          - condition: device
            device_id: a141417094f8262a7cdeae257b158de3
            domain: cover
            entity_id: 956b46a8ee57d371d5a48c9db5014d29
            type: is_closing
        sequence:
          - action: input_boolean.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.volets
mode: single

Donc quand le volet s’ouvre ce helper passe à on et quand le volet se ferme il passe à off. Je pense que la limite c’est que si je l’ouvre à moitié puis que je le ferme le switch ne passera pas à off, je n’ai pas vérifié.

1 « J'aime »

à voir si ça fonctionne, mais le soucis c’est effectivement les semi-ouvertures… pour ma part ce n’est vraiment pas plus compliqué et c’est plutôt robuste par expérience

J’ai certainement merdé, si j’ouvre le volet sa position est ouverte et au bout de 10 minutes il passe à fermé sans aucune action (comme d’hab). Pour que l’État dans ha et l’état réel du volet soit en adéquation au lieu de mettre à jour l’état dans Ha selon l’état du volley c’est l’inverse. C’est-à-dire que comme l’état apparent du volley passe à fermé il se ferme. Moi je veux que le volet reste physiquement ouvert et que dans HA il soit ouvert. Bizzarement mon Switch fonctionne, il faudrait mixer les deux

voilà typiquement, en haut l’état (ouvert/fermé), au milieu le mouvement (haut, bas, stop) et en bas la lampe associée. en rouge le volet s’ouvre, la lampe s’allume, il devient ouvert. Au bout d’un moment, il devient fermé alors qu’il n’y a pas d’ordre. Je donne l’ordre de fermeture donc la lampe s’éteint. C’est à devenir dingo!

tu as testé mon script ? car c’est plutôt ultra basique mon code c’est

triggers:
  - trigger: template
    value_template: "{{ state_attr(the_cover, 'current_position') == 0 }}"
    id: COVER_CLOSED
  - trigger: template
    value_template: "{{ state_attr(the_cover, 'current_position') == 100 }}"
    id: COVER_OPENED

et si c’est inversé chez toi il suffit d’inverser closed et opened…

Oui j’ai testé ton script. Le résultat que j’ai constaté c’est

HA Physique
1 OUVERT OUVERT
ordre de fermeture CLOSING FERMETURE
3 FERME FERME
4 OUVERT FERME
Scipt « FIX » OPENING OUVERTURE

Ce n’est pas ce que je veux. Je suis sur que j’ai merdé quelque part parce qu’évidement ce n’est sans doute pas le but de ton script. Ce que je constate c’est que si dans HA la position change sans ordre donné (le volet est physiquement fermé mais d’un coup HA le voit ouvert) alors le volet s’ouvre. Moi ce que je veux c’est que comme il n’y a pas d’ordre la position n’a pas changée et le volet conserve sa position, il ne doit pas changer sans qu’il n’y soit invité

Je parle pas le yaml mais

      id:
      - COVER_OPENED
    sequence:
    - action: cover.open_cover
      target:
        entity_id: !input cover_entity

ça veut dire que si le trigger se déclenche alors il y a une action d’ouverture non?

Non, ça veut simplement dire que si le volet affiche 100% d’ouverture alors il switch la position sur ouvert si jamais elle ne l’était pas, et de même à 0%…c’est exactement la capture d’écran que tu as en 1er message, ça corrige le fait que le volet soit ouvert avec sa position à 100% mais que HA affiche l’état comme fermé. Ça n’agit en aucun cas sur le volet, simple correction de l’état affiché dans HA… mais ce n’était peut-être pas ton problème ?

Je ne sais pas si c’est exactement le même problème que j’avais chez moi mais je pense que ca peut etre une piste. Mes interrupteurs passait dans le mauvais état au bout d’un moment après avoir bien fait le bon déroulé.

L’explication que j’ai trouvée :
Mes interrupteurs envoyait le bon état “state=close” par exemple mais envoyait une “position” inversée à HA.
Par défaut dans home Assistant, la position 0 correspond a fermé et 100 pour ouvert

Et surtout continuait en négatif et également dans le sens inverse augmentait en dessus de 100.
Regarde tes logs, si tes positions sont inversée par rapport à ca et que des valeurs “fausses” passent, il faut en plus que tu interdises les valeurs qui ne sont pas dedans.

Si c’est ca, je n’ai malheureusement pas fait de blueprint, mais j’ai le script qu’il te faut dans cette vidéo.

@ebz Je n’ai jamais fait de blueprint, tu penses que ce serait jouable de faire (ou de m’aider à faire) une V2 du tiens pour y ajouter quelques modifs ?