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'
unique_id: volet_cuisine_template
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'
unique_id: volet_cuisine_template
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'
unique_id: volet_salon_template
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 }}"
21 août 2022 at 18 h 50 min
Merci vous m’avez bien rendu service
Amicalement sylvain
22 août 2022 at 7 h 35 min
Bonjour,
content d’avoir pu vous aider 🙂
14 novembre 2022 at 20 h 14 min
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 ^^
14 novembre 2022 at 20 h 52 min
Hello, merci, je viens de test et génial, par contre, on ne sais pas changer l’image pour mettre un volet à la place d’une fenêtre et qu’il reste dynamique ?
15 novembre 2022 at 10 h 29 min
Bonjour,
Pour ça il faut créer un template, je te conseil de regarder cette page :
https://les-tutos-du-tof.fr/modifier-licone-dun-switch-en-fonction-dun-capteur/
Au niveau des if il faudra mettre 0 ou 100, je pense
22 mars 2023 at 16 h 43 min
Merci beaucoup, je viens de faire le test, cela fonctionne super bien 🙂
23 mars 2023 at 11 h 26 min
Contant d’avoir pu t’aider 😀
13 juin 2023 at 21 h 19 min
Bonjour
J’ai remplacé entity_id: cover.volet_cuisine_level_3 par mon id cover.volet_bureau_curtain mais ça ne fonctionne pas . Merci pour votre aide
14 juin 2023 at 7 h 21 min
Bonjour,
Vous avez bien placé ce code dans configuration.yaml ?
Si le nouveau volet ne s’affiche pas dans Home Assistant vous avez surement un message d’erreur dans notifications ?
14 juin 2023 at 10 h 36 min
Oui j’ai bien placé dans le fichier configuration yaml. Par contre ce fichier n’est pas vide à l’ouverture donc j’ai collé les instructions ensuite. Le nouveau volet c’est le volet virtuel ?
14 juin 2023 at 12 h 13 min
Ça marche merci. J’espère que vous ferez d’autres tutos sur HA votre site est vraiment bien.
16 octobre 2023 at 10 h 24 min
Bonjour, super votre discours de geek 🤓. Ça marche pour vous, top.! C’est koi configuration.yaml ?
Jamais rien codé moi….
AU SECOURS 🤣😭
16 octobre 2023 at 11 h 03 min
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/
10 janvier 2024 at 18 h 25 min
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 }} »
11 janvier 2024 at 21 h 58 min
Salut,
Tu as redémarré HA ? pour qu’il prenne en compte la modification ?
je ne sais plus si c’est obligatoire ou pas.
26 mars 2024 at 21 h 25 min
Bonsoir, impossible pour moi de faire fonctionner tout cela ! je suis novice aussi …
j’ai edité configuration.yaml et fait les modifs a la suite des quelques ligne de base mais rien ne se produit !!! meme apres reboot !
voici le fichier config complet ! ca a l’air court non ?
si un petit coup de main etait possible svp
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
cover:
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 }}"
26 mars 2024 at 22 h 41 min
Bonjour,
Alors le copier/coller a du casser l’indentation mais il faut bien respecter les espaces en début de ligne !
On est bien d’accord que cover.volet_salon_level_2 correspond au nom de l’interrupteur qui est physiquement au mur ?
Et il te manque un tiret en seconde ligne :
27 mars 2024 at 10 h 02 min
Bonjour, merci de prendre le temps de me répondre …
J’ai corrigé le fichier car je n’avais pas fait gaffe au nom qui est dans HA sur le cover d’origine (cover.volet_salon_volets) … mais rien ne change pour le moment !!! je ne comprends pas
cover:
– platform: template
covers:
volet_salon_virtuel:
friendly_name: ‘Volet Saloon’
position_template: « {{ 100 – (state_attr(‘cover.volet_salon_volets’, ‘current_position’) | int) }} »
open_cover:
service: cover.close_cover
data:
entity_id: cover.volet_salon_volets
close_cover:
service: cover.open_cover
data:
entity_id: cover.volet_salon_volets
stop_cover:
service: cover.stop_cover
data:
entity_id: cover.volet_salon_volets
set_cover_position:
service: cover.set_cover_position
data_template:
entity_id: cover.volet_salon_volets
position: « {{ 100 – position }} »
27 mars 2024 at 11 h 33 min
re hello …
Je viens de comprendre que je masquais les entité sans pièces !!!
J’arrive a visualiser mes covers virtuels … merci beaucoup.
Cependant cela ne règle pas mes problèmes avec mes inter de volets wiser intégré en zigbee natif sur HA.
pas simple j’ai l’impression sans utiliser la passerelle wiser … que je possède et fonctionne très bien, mais je voulais m’affranchir de celle-ci.
Encore merci pour ton aide précieuse et tes tutos.
Amicalement Xavier.
27 mars 2024 at 12 h 50 min
Mon besoin étant avec ma config, car mes inter sont montés et câblés dans le bon sens j’ai juste besoin d’inverser juste leur état !
Le bouton monté et descendre fonctionne bien (dans le bons sens d’origine), la position erronée du volet bloque la commande montée car il pense que le volet est déjà en position haute.
Une idée ?
28 mars 2024 at 17 h 05 min
Dans ce cas le problème n’est pas le même.
Si les boutons montée descente sont dans le bon sens c’est que la position n’est pas connue au niveau du bouton.
Il faut savoir que le matériel que tu as ne va pas forcément remonter les mêmes infos en fonction de si tu utilises la box prévue pour, si tu utilises une clé zigbee.
Il y a même des différences avec la clé Zigbee si tu l’utilise avec ZHA ou Zigbee2mqtt.
C’est un peu compliqué, je te l’accorde.
Il existe des sites qui permettent de savoir quelle remontée il y’a en fonction de ZHA ou Zigbee2mqtt
24 avril 2024 at 13 h 14 min
Bonjour,
J’arrive à créer et afficher le volet roulant virtuel dans mon tableau de bord mais je n’arrive pas à le mettre dans le groupe cuisine, quand je clique sur les réglages du volet on me dit « Cette entité (« cover.volet_cuisine_bis ») n’a pas d’identifiant unique, par conséquent ses paramètres ne peuvent pas être gérés depuis l’interface utilisateur. »
En vous remerciant
24 avril 2024 at 13 h 44 min
Salut,
Il faut ajouter la ligne unique_id: dans le template sous la ligne friendly_name par exemple.
4 juin 2024 at 21 h 34 min
Bonjour,
Mes volets sont connectés à la base avec SmartLife / Tuya. et mes volets Loratap Zigbee étaient inversés.
j’ai suivi à la lettre la configuration.
Quand le volet est ouvert, et que j’appuie sur la descente, il descend pendant une demi seconde et remonte.
Avec SmartLife, je referme le volet. Puis dans home assistant je le rouvre, il monte pendant une demi seconde et se referme.
Selon la position du volet, il arrive qu’une montee ou une descente obéit à l’ordre mais jamais les 2.
Par contre quand je joue avec le % d’ouverture du volet ca marche parfaitement.
C’est donc les commandes open et close qui sont défectueuses.
En position basse, l’etat donne:
current_position: 0
device_class: shutter
friendly_name: Volet xxxxx new
supported_features: 15
en position haute:
current_position: 100
device_class: shutter
friendly_name: Volet xxxxx new
supported_features: 15
cover:
- platform: template
covers:
volet_xxxxx_inverse:
friendly_name: 'Volet xxxxx new'
unique_id: volet_cuisine_template
position_template: "{{ 100 - (state_attr('cover.volet_bureau_xxxxx_rideau', 'current_position') | int) }}"
open_cover:
service: cover.close_cover
data:
entity_id: cover.volet_bureau_xxxxx_rideau
close_cover:
service: cover.open_cover
data:
entity_id: cover.volet_bureau_xxxxx_rideau
stop_cover:
service: cover.stop_cover
data:
entity_id: cover.volet_bureau_xxxxx_rideau
set_cover_position:
service: cover.set_cover_position
data_template:
entity_id: cover.volet_bureau_xxxxx_rideau
position: "{{ 100 - position }}"
4 juin 2024 at 21 h 49 min
Salut, honnêtement je ne comprend pas pourquoi ça fonctionne comme ça, je n’utilise pas Tuya
Il y a peut-être un service Tuya à appeler à la place de close_cover et open_cover ?