Bonjour à tous.
J’ai fait l’acquisition de modules volet roulant zigbee LoraTap: https://fr.aliexpress.com/item/1005003123388237.html?gatewayAdapt=glo2fra&spm=a2g0o.9042311.0.0.20cd6c37iNqdbO
Ceux-ci sont tout de suite détectés par home assistant. Seulement je n’arrive pas à les calibrer. J’ai suivi plusieurs procédures notamment celle-ci:
La solution que j’ai pu tester consiste à aller dans :
1 - Configuration
2 - Appareils
3 - Choisir le module de volet
4 - Cliquer sur « Gérer les clusters »
5 - Dans « Clusters », choisir « TuyaCoveringCluster (Endpoint id: 1, Id: 0x0102, Type: in) »
6 - Dans « Attributs de cluster », choisir « Cluster Attribute Calibration_time (id: 0xf003) »
7 - Dans « Valeur », mettre 0 puis clique sur « Définir l’attribut zigbee »
La calibration est activée. Dans lovelace, cliquer sur la flèche pour descendre le volet, une fois que le volet est en bas cliquer sur le « stop ». Le module mémorise ainsi le temps pour descendre.
Faire de même pour la montée : cliquer sur la flèche pour monter le volet, une fois que le volet est en haut cliquer sur le « stop »
Pour mettre fin à la calibration, refaire les étapes 1 à 7, en mettant cette fois la valeur 1 dans valeur de « Cluster Attribute Calibration_time (id: 0xf003) ».
Le volet est calibré.`
Mais ça ne fonctionne pas correctement.
Quand mon volet roulant et en position haute ou base, normalement le bouton de descente devrait être accessible quand le VR et en haut et inversement quand le VR est en bas. Ce qui n’est pas le cas dans ma situation. Il faut que j’appuie sur le stop (carré) pour pouvoir accéder à la flèche descente ou montée.
Est-ce que quelqu’un aurait une solution pour gérer les temps d’ouverture et de fermeture de VR? Je pense que ça peut être géré par un fichier Yaml seulement je ne m’y connait pas assez pour le faire.
Merci à ceux qui m’apporteront de l’aide.
Ma configuration :
Raspi 4b 8go, Haos installé sur DD128 go, clé zigbee sonoff 3.0 sous ZHA.
Je me réponds à moi même.
J’ai trouvé la solution après une bonne journée d’essai.
Et donc, quel est la solution ? sa peut servir a d’autre…
Bonsoir pascal_ha.
La solution est juste d’indiquer la durée la plus longue entre la montée et la descente (le temps le plus long étant la montée) dans le paramètre valeur" de l'attributs "calibration_time (id: 0xf003)"
. En précisant que si vous mettez une valeur de 200, il faudra la diviser par 10 pour avoir le temps en seconde. J’espère avoir été clair.
Tout simplement.
1 « J'aime »
Merci
Pour ma part j’ai des modules loratap, mais pas en Zigbee, donc je n’ai pas ce genre de réglages.
J’ai donc utilisé pour ma part des script pour avoir la position fictive (grâce a l’aide des membres du forum)
Mais c’est toujours intéressant de savoir.
Salut pascal_ha.
Est-ce que tu pourrais m’expliquer comment tu a fait pour déterminer la position de tes volets. C’est quelque chose qui pourrait m’intéresser. Si tu peux partager tes scripts car je n’y comprends pas grand chose. J’ai du mal à m’y retrouver entre les termes utilisés en YAML.
Merci.
voici ce que j’ai utilisé : (Code de Pulpy)
# ENTREE
input_text: # Input_text pour retour etat fictif
retour_etat_fictif_v1:
initial: ""
cover: # cover pour appel des scripts commande volets fictifs
- platform: cover_rf_time_based
devices:
volet_v1_fictif:
name: Volet V1 fictif
travelling_time_up: 25 #Reglages du temps de montée (ouverture)
travelling_time_down: 25 #Reglages du temps de descente (fermeture)
close_script_entity_id: script.close_volet_v1
stop_script_entity_id: script.stop_volet_v1
open_script_entity_id: script.open_volet_v1
send_stop_at_ends: False
script: # Script pour position fictive des volets
# VOLET V1
open_volet_v1:
alias: Open volet V1
sequence:
- service: cover.open_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Ouvert
close_volet_v1:
alias: Close volet V1
sequence:
- service: cover.close_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Fermé
stop_volet_v1:
alias: Stop volet V1
sequence:
- service: cover.stop_cover
target:
entity_id: cover.volet_v1
mode: single
Le principe est de créer une commande fictive des volets, qui permettra de prendre en compte les temps de montée et descente afin d’avoir la position des volets.
Mais tu peux retrouver le sujet complet ici :
https://forum.hacf.fr/t/retour-detat-interrupteurs-volets-roulants-tuya-positionnement/6347
1 « J'aime »
Merci pascal_ha.
Je vais y jeter un œil.
pascal_ha.
Peux-tu apporter un peu plus d’explication?
J’ai copier ça dans mon fichier config.yaml
# ENTREE
input_text: # Input_text pour retour etat fictif
retour_etat_fictif_v1:
initial: ""
cover: # cover pour appel des scripts commande volets fictifs
- platform: cover_time_based
devices:
volet_v1_fictif:
name: Volet V1 fictif
travelling_time_up: 25 #Reglages du temps de montée (ouverture)
travelling_time_down: 25 #Reglages du temps de descente (fermeture)
close_script_entity_id: script.close_volet_v1
stop_script_entity_id: script.stop_volet_v1
open_script_entity_id: script.open_volet_v1
send_stop_at_ends: False
Et ceci dans mon dossier script.yaml.
script: # Script pour position fictive des volets
# VOLET V1
open_volet_v1:
alias: Open volet V1
sequence:
- service: cover.open_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Ouvert
close_volet_v1:
alias: Close volet V1
sequence:
- service: cover.close_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Fermé
stop_volet_v1:
alias: Stop volet V1
sequence:
- service: cover.stop_cover
target:
entity_id: cover.volet_v1
mode: single
script: # Script pour position fictive des volets
# VOLET V1
open_volet_v1:
alias: Open volet V1
sequence:
- service: cover.open_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Ouvert
close_volet_v1:
alias: Close volet V1
sequence:
- service: cover.close_cover
data:
entity_id: cover.volet_v1
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Fermé
stop_volet_ve1:
alias: Stop volet V1
sequence:
- service: cover.stop_cover
target:
entity_id: cover.volet_v1
mode: single
En adaptant le name et l’alias à ma situation mais quant j’essaie de sauvegarder j’ai une erreur qui apparait:
je ne comprends rien du tout.
Tu as bien installer le depot Cover time based ?
dans le script pour entity_id du dois mettre l’entité de ton volet
exemple si l’entité de ton volet et cover.vr_cuisine tu met
entity_id: cover.vr_cuisine
a la place de
entity_id: cover.volet_v1
Je suis aller sur le GitHub de l’auteur, j’ai installé les dossiers et fichiers comme indiqué. Je me demande si c’est pas un problème d’entité.
apparemment d’âpres le message d’erreur c’est un problème d’entity_id.
As tu vérifié ?
script: # Script pour position fictive des volets
# VOLET V1
open_volet_v1:
alias: Open volet V1
sequence:
- service: cover.open_cover
data:
entity_id: cover.volet_v1 # a remplacer par identité de ton volet !!
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Ouvert
close_volet_v1:
alias: Close volet V1
sequence:
- service: cover.close_cover
data:
entity_id: cover.volet_v1 # a remplacer par identité de ton volet !!
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_v1
data:
value: Fermé
stop_volet_v1:
alias: Stop volet V1
sequence:
- service: cover.stop_cover
target:
entity_id: cover.volet_v1 # a remplacer par identité de ton volet !!
mode: single
Oui j’ai vérifié et ça ne fonctionne toujours pas.
Dans le code que tu as posté, tu as doublé le même script (2 fois Volet V1)?
Normalement tu ne peux pas avoir deux script avec les même noms.
Si tu as plusieurs volet, le premier sera V1, le deuxieme V2, etc…etc…
re-Post ton code, que tu as modifié.
Salut pascal.
Voici mon code perso:
input_text:
retour_etat_fictif_vrc:
initial: ""
cover:
- platform: cover_rf_time_based
devices:
vr_cuisine_vrc:
name: VR Cuisine VRC
travelling_time_up: 36
travelling_time_down: 34
close_script_entity_id: script.close_vr_cuisine_vrc
stop_script_entity_id: script.stop_vr_cuisine_vrc
open_script_entity_id: script.open_vr_cuisine_vrc
send_stop_at_ends: True #optional
script: # Script pour position fictive des volets
# Volet_V0
open_vr_cuisine_vrc:
alias: Open VR cuisine
sequence:
- service: cover.open_cover
data:
entity_id: cover.vr_cuisine_vrc # entité de mon volet 0
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_vrc
data:
value: Ouvert
close_vr_cuisine_vrc:
alias: Close VR cuisine
sequence:
- service: cover.close_cover
data:
entity_id: cover.vr_cuisine_vrc # entité de mon volet 0
- service: input_text.set_value
target:
entity_id: input_text.retour_etat_fictif_vrc
data:
value: Fermé
stop_vr_cuisine_vrc:
alias: Stop VR cuisine
sequence:
- service: cover.stop_cover
target:
entity_id: cover.vr_cuisine_vrc # entité de mon volet 0
mode: single
Je pense que cette fois ci mon code est bon. Mais il subsiste un problème quand je fais VERIFIER LA CONFIGURATION j’ai ce message qui apparait « Platform error cover.cover_rf_time_based - Integration
cover_rf_time_based’ not found. » Ca parle d’une intégration non trouvé. J’ai pourtant copier tout les fichiers dans le dossier cover_rf_time_based. Faut-il que je modifie quelques choses dans ces fichiers? Ou y a-t-il une intégration spécifique à ajouter?
Merci à toi.
Salut pascal_ha.
Je viens apporter un complément d’infos.
Je confirme que le code sur le post précédent est ok.
En effet, j’avais bien un problème d’intégration. Du coup après quelques recherches, dans un premier temps j’ai installé HACS (mais pas en lignes de codes mais ça ne fonctionnait pas). J’ai donc installé le plugin Terminal SSH pour intégrer HACF, et enfin intégré « cover time based RF » en passant par HACS.
Constat : plus aucune erreur dans la config, ce qui m’a permis de redémarrer HA.
Ce qui me reste à faire, c’est de savoir comment exploiter cette intégration dans lovelace. Faut-il ajouté une carte spéciale?
J’avance petit à petit mais j’avoue que débuter avec HA, n’est pas chose facile pour un néophyte comme moi et pour un néophyte tout court.
Cordialement.
Nyckel59
Je suis un peu comme toi, je n’ai pas de connaissance particulier en informatique, et HA seulement depuis 6 mois.
Mais je sais qu’il faut installer le maximum des intégrations par HACS quand c’est réalisable.
Dans lovelace tu dois utiliser le nom du volet fictif.
Il existe une carte pour les volets, mais je ne sais plus ou…faut chercher dans le forum.( si je retrouve je te le post)
Tu peut utiliser cette carte
https://github.com/Deejayfool/hass-shutter-card
Le code :
type: custom:shutter-card
title: My shutters
entities:
- entity: cover.volet_v1_fictif
name: Left shutter
buttons_position: left
title_position: bottom
Merci pascal_ha.
C’est d’ailleurs celle-ci que je voulais intégrer.
Est-ce que tu as réussi à l’intégrer cette carte en passant par HACS?
Il me semble que oui, que je l’ai intégré par HACS.
Par contre pour afficher la carte :
- Je fais ajouter une carte
- Je choisi Manuel
- Je copie le code (cité plus haut) dans configuration de la carte
- Je modifie entity: Nom de mon volet
1 « J'aime »