Volets roulants inverser montée/descente

Vous venez d’installer un module pour contrôler la montée et la descente de vos volets roulants en suivant la documentation mais pas de chance, arrivé dans Home Assistant tout est inversé.

2 solutions : vous en avez fait qu’un est vous reprenez le câblage ou comme moi vous étiez sur un autre hub domotique et vous avez plusieurs volets roulants à modifier, pas de panique, quelques lignes dans Home Assistant et le problème sera réglé !

Pour dire vrai il n’est pas possible de modifier la montée/descente par contre on peut créer un volet virtuel qui va piloter le volet réel et tout ça simplement.

Tout se passe dans configuration.yaml :

cover: 
  - platform: template
    covers:
      volet_cuisine_invertiert:
        friendly_name: 'Volet Cuisine'
        position_template: "{{ 100 - (state_attr('cover.volet_cuisine_level_3', 'current_position') | int) }}"
        open_cover:
          service: cover.close_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        close_cover:
          service: cover.open_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        stop_cover:
          service: cover.stop_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        set_cover_position:
          service: cover.set_cover_position
          data_template:
            entity_id: cover.volet_cuisine_level_3
            position: "{{ 100 - position }}"

Explication :
C’est un template pour le volet de la cuicine :p
On crée un nouveau cover, virtuel qui va s’appeler volet_cuisine_invertiert
On récupère ensuite la position du volet par rapport au volet réel qui se nomme dans cet exemple cover.volet_cuisine_level_3
ensuite on indique se qu’on fait pour les différents services :

  • open_cover : Pour ouvrir le volet virtuel il faut en fait fermer le volet physique, donc dans l’exemple en appel le service de fermeture : service: cover.close_cover et on spécifie pour quel entité (le volet physique) entity_id: cover.volet_cuisine_level_3
  • close_cover : Identique mise à part bien sur que là on ouvre le volet physique
  • stop_cover : pour arrêter le volet, là rien ne change
  • set_cover_position nous permet d’utiliser le slider pour les volets, les ouvrir au 3/4 par exemple

Une fois que c’est fait, redémarrer HA et vous devriez avoir un volet supplémentaire, Dans votre vue c’est celui ci qu’il faut utiliser : cover.volet_cuisine_invertiert (dans l’exemple)

voila la vue du volet virtuel et physique

Il faut faire cette manipulation pour chaque volet, un exemple avec 2 volets :

cover: 
  - platform: template
    covers:
      volet_cuisine_invertiert:
        friendly_name: 'Volet Cuisine'
        position_template: "{{ 100 - (state_attr('cover.volet_cuisine_level_3', 'current_position') | int) }}"
        open_cover:
          service: cover.close_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        close_cover:
          service: cover.open_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        stop_cover:
          service: cover.stop_cover
          data:
            entity_id: cover.volet_cuisine_level_3
        set_cover_position:
          service: cover.set_cover_position
          data_template:
            entity_id: cover.volet_cuisine_level_3
            position: "{{ 100 - position }}"
  - platform: template
    covers:
      volet_salon_invertiert:
        friendly_name: 'Volet Salon'
        position_template: "{{ 100 - (state_attr('cover.volet_salon_level_2', 'current_position') | int) }}"
        open_cover:
          service: cover.close_cover
          data:
            entity_id: cover.volet_salon_level_2
        close_cover:
          service: cover.open_cover
          data:
            entity_id: cover.volet_salon_level_2
        stop_cover:
          service: cover.stop_cover
          data:
            entity_id: cover.volet_salon_level_2
        set_cover_position:
          service: cover.set_cover_position
          data_template:
            entity_id: cover.volet_salon_level_2
            position: "{{ 100 - position }}"

15 Comments

  1. Michael COX

    Omg merci à vous car je devenais fou XD je viens d’installé un interrupteur pour tester, j’avais câblé dans le mauvais sens, mais l’invention sur l’application fonctionne mais les lampe sont totalement décalée après (bouton de droite allume celle de gauche par exemple –‘, mais fais la bonne action XD)

    J4ai recâblé convenablement et puis… baaa google home me fait pareil… mais la en inversant avec l’application la demande de descente et montée par HA fait la bonne action et allume les bonne lampe, puis arrive google home qui lui ferme quand je veux ouvrir…

    Votre solution va me sauver je vais tout de suite la mettre en place ^^

    • Tof

      Bonjour,
      C’est vrai que ce n’est pas facile quand on commence dans home Assistant.
      comme son nom l’indique configuration.yaml permet de configurer Home Assistant.

      Les développeurs font pas mal de mise à jour pour qu’on est de moins en moins besoin d’accéder directement à ce fichier mais pour le moment il faut faire avec.

      je vous propose d’aller voir ce tuto : https://les-tutos-du-tof.fr/ha-file-editor/ il permet d’installer File Editor qui permet de modifier les fichiers de HA directement depuis l’interface.

      Attention, avant de modifier configuration.yaml je préconise de faire un copier/coller du contenu et de le sauvegarder quelque part et après avoir modifier le fichier il faut aller dans « Outils de Développement » et cliquer sur vérifier la configuration !

      je viens de faire ce petit tuto, en espérant que ça vous aidera : https://les-tutos-du-tof.fr/modifier-configuration-yaml/

  2. phil

    Bonjour et merci pour ce tuto!
    par contre j’ai un soucis, j’ai modifié configuration.yaml suivant vos indications mais je n’arrive pas a voir mon volet virtuel ni dans appareils, ni dans Entités ( ni dans entrées d’ailleurs)
    je suis tout nouveau dans le monde HA
    pouvez vous me dire ce que j’ai loupé

    cover:
    – platform: template
    covers:
    mon_petit_volet:
    friendly_name: ‘Mon Petit Volet’
    position_template: « {{ 100 – (state_attr(‘cover.roller_shutter_2’, ‘current_position’) | int) }} »
    open_cover:
    service: cover.close_cover
    data:
    entity_id: cover.roller_shutter_2
    close_cover:
    service: cover.open_cover
    data:
    entity_id: cover.roller_shutter_2
    stop_cover:
    service: cover.stop_cover
    data:
    entity_id: cover.roller_shutter_2
    set_cover_position:
    service: cover.set_cover_position
    data_template:
    entity_id: cover.roller_shutter_2
    position: « {{ 100 – position }} »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Back to Top