Verifier que le travail est bien fait!

Mon problème

Bonjour. Voilà mon problème: j’ai 8 volets à ma véranda que je (somfy) que je commande via HA et surtout à la voix avec google home. Malheureusement, parfois, lorsque je dis ok google, ferme tous les volets, seulement 6 ou 7 volets se ferment. Comme c’est la fermeture de sécurité de la maison, je sjuis obligé de vérifier qu’ils sont tous fermés. J’ai donc un script fermer les volets sous HA qui est lancé via Goggle Home. Je me demande donc si vous faites des verifications et si oui comment? Une commande vocale pour dire que certains volets ne sont pas fermés, une verification est on relance le script (pb de boucle infinie) bref comment faire?
Merci.

Ma configuration


J’ai HA sous docker


Perso je tournerai ta question différemment : Pourquoi lorsque je lance la commande « fermer tous les volets », seulement 6 ou 7 se ferment.

  • pourquoi google home n’envoie pas de commande à chaque volet ?
  • pourquoi home assistant n’envoie pas la commande à chaque volet ?
  • est ce que chaque volet reçoit bien une commande de fermeture ?

Normalement, si chacun reçoit une commande de fermeture, ils devraient se fermer. Donc avant de faire une vérification, il faut être certain que la commande est passée correctement.

Peux tu nous expliquer ta logique de transmission de la commande . C’est google home qui est connecté en direct sur les volets, ou google qui pilote HA…

A+ Fred

1 « J'aime »

Salut.
C’est d’autant plus important de donner des détails que j’ai aussi des 9 volets (somfy et dio) pilotés à la voix via google home avec un taux de réussite de 100%

Merci pour vos réponses.
Alors déjà l’historique de hier soir:


D’après ce que je comprends, le volet 2 reçoit la commande de fermeture mais celle-ci ne dure que 4 secondes et il reste donc ouvert.
J’ai 2 scripts: « Ouvrir tous les volets » et « fermer tous les volets » avec le code:

alias: Ouvrir tous les volets
sequence:
  - device_id: 35aeb94f57ac1da494711a532fa6b6d7
    domain: cover
    entity_id: cover.s_so_rs100_io_7
    type: set_position
    position: 100
  - device_id: 3033b6de9b964224a984dc4addcd754e
    domain: cover
    entity_id: cover.s_so_rs100_io_5
    type: set_position
    position: 100
  - device_id: 69675b0cbcd3abfd4572cb7794cb3feb
    domain: cover
    entity_id: cover.s_so_rs100_io_6
    type: set_position
    position: 100
  - device_id: b4b5ada8245e49c7af2b07db1a07eeee
    domain: cover
    entity_id: cover.s_so_rs100_io_2
    type: set_position
    position: 100
  - device_id: 73249bd5a1791fe40ed9c07e950e2dd7
    domain: cover
    entity_id: cover.s_so_rs100_io_3
    type: set_position
    position: 100
  - device_id: 13f14f25075d37f1cc6ec03116c8a210
    domain: cover
    entity_id: cover.s_so_rs100_io
    type: set_position
    position: 100
  - device_id: df63f42d77144d5d00222009c36c7667
    domain: cover
    entity_id: cover.ogp_15288512
    type: set_position
    position: 100
  - device_id: 48e5f7ccc978ddb7d52adafa837b2125
    domain: cover
    entity_id: cover.s_so_rs100_io_4
    type: set_position
    position: 100
icon: mdi:window-shutter-auto
mode: single

La même chose pour fermer avec 0 à la place de 100.
Par contre en allant copier ce code, je m’aperçois qu’il n’a pas été lancé depuis longtemps. Et en vérifiant, ce n’est pas comme celà que GH ferme mes volets. Il le fait par compréhension de ma phrase car l’état des volets et accessible via GH. J’ai google home qui se connecte à HA et récupère tout. Connection via console.google et tout le tuto pour ne pas avoir de cloud payant.
EN écrivant celà je me dis que je vais peut-être forcé GH à utiliser mon script de fermeture à la détection de la phrase mais ce qui est bizarre c’est mon historique avec 4 secondes de fermeture. Le volet a donc bien reçu la commande…
Vous en pensez quoi?

A priori c’est de l’IO… Donc tu n’as pas une box entre les 2 ?
Il faut aussi partager ta config des volets

Bonjour,
Je ne suis pas un expert mais une idée ( peut être bête).
Peut être essayer de mettre une temporisation dans ta routine Google ?
Exemple :
Action 1 ferme le 1er volet
Action 2 tempo, attendre 4s
Action 3 ferme le 2eme volet
Action 4 tempo, attendre 4s
Action 5 ferme le 3eme volet
Action 6 tempo, attendre 4s

Etc

c’est bien ce que je pensais

Ton GH fais une tentative de commande en direct, et n’utilise pas ta commande HA. GH est un outil externe et ne doit pas prendre le dessus sur HA

J’utilise Amazon et pas google mais je pense que le problème est le même. Sur amazon je ne laisse pas remonter tout et n’importe quoi, seulement les devices qui m’intéressent. Par exemple, pour la cuisine j’ai plusieurs lampes : amazon ne connais que cuisine, pour le groupage des commandes, c’est HA qui s’en charge.

Donc il faudrait faire un truc pareil, pour être certain que lorsque tu dis de fermer TOUT les volets, ce soit ton automatisation de fermeture qui soit lancée. A la limite, GH n’a même pas à connaitre tes volets…

J’avais déjà partagé ça

1 « J'aime »

Merci pour vos réponses. J’ai le kit de connectivité somfy pour mes volets configuré dans HA. Je n’ai pas configuré ce kit dans GH. GH « trouve » mes volets via sa connexion à HA (duckdns, api, lets encrypt, etc…)
Ce que je ne comprends pas, c’est que le volet qui ne s’ouvre pas reçoit quand même la commande d’ouverture (quelques secondes) d’après mon historique mais il ne s’ouvre pas.

As tu essayé de mettre une tempo entre tes commandes comme dit plus haut pour laisser le temps que chaque action se réalise ?

En ce moment je teste en forçant GH à utiliser mon script HA. Comme le problème est aléatoire, je ne sais pas si c’est réglé.

Personnellement j’ai jamais eu besoin d’ajouter des tempos dans la gestion des volets (ni ailleurs) … Contrairement à jeedom où manifestement la gestion d’un buffer vers le rfxcom faisait défaut, là c’est toujours efficace.
La contrepartie de l’ajout d’une tempo fait que c’est long … 9 volets => 8 tempo de 4 secondes, on franchit la barre des 30s avant de potentiellement voir une action se dérouler (pas de chance commande vocale passée depuis le téléphone dans le dernière pièce de la liste)
Bref, je pense qu’il vaut mieux trouver pourquoi ça plante avant de mettre en place ce contournement

Bonjour à tous,

Cela faisait un moment que je n’étais pas passé faire un tour sur le forum.

J’ai une approche différente pour fermer et ouvrir mes volets sous HA et mes volets Somfy IO via Tahoma. J’ai créé des scénarios sous Somfy.

  1. fermer tous les volets
  2. ouvrir tous les volets

Cela évite à HA d’envoyer les commandes de mes volets les une derrière les autres. Ensuite pour ma part j’utilise node red que j’apprécie mais cela est réalisable via les scripts HA pour contrôler si les volets sont bien fermés ou ouverts, si ce n’est pas le cas Ha renvoi la commande.

Pour le contrôle j’ai créé des groupes dans groups.yaml

volets_all:
  name: Tous les volets
  all: true
  entities:
     - cover.volet_cuisine
     - cover.volet_salle_a_manger
     - cover.volet_salle_de_bain
     - cover.volet_salon
     - cover.volet_chambre_noham
     - cover.volet_chambre_parent

volets_partiels:
  name: Volets Partiels
  all: true
  entities:
     - cover.volet_cuisine
     - cover.volet_salle_a_manger
     - cover.volet_salle_de_bain
     - cover.volet_salon

[{"id":"656d0889.6f6488","type":"tab","label":"Volets","disabled":false,"info":""},{"id":"c204ff6b.1965d","type":"server-state-changed","z":"656d0889.6f6488","name":"Soleil En dessous de L'Horizon","server":"a8c279c8.be8be8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sun.sun","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"below_horizon","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":150,"y":80,"wires":[["9512760a.468008","fd5f5fe8696e9a54"],[]]},{"id":"9512760a.468008","type":"api-call-service","z":"656d0889.6f6488","name":"Fermer tous","server":"a8c279c8.be8be8","version":1,"debugenabled":false,"service_domain":"scene","service":"turn_on","entityId":"scene.fermer_tous","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":950,"y":80,"wires":[[]]},{"id":"f912c753.83a3a8","type":"comment","z":"656d0889.6f6488","name":"[Volets] Fermeture","info":"","x":110,"y":40,"wires":[]},{"id":"cd7d2208.6c865","type":"comment","z":"656d0889.6f6488","name":"[Volets] Ouverture Semaine","info":"","x":140,"y":160,"wires":[]},{"id":"fd2c3dfe.be954","type":"api-call-service","z":"656d0889.6f6488","name":"Ouverture partielle","server":"a8c279c8.be8be8","version":1,"debugenabled":false,"service_domain":"scene","service":"turn_on","entityId":"scene.ouverture","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":810,"y":300,"wires":[[]]},{"id":"496f6b00.6c12f4","type":"inject","z":"656d0889.6f6488","name":"07:30","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"30 07 * * 1,2,3,4,5","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":200,"wires":[["2e625b12.a3bd44","c257b1a19b7831c7"]]},{"id":"c573baa2.2dd398","type":"inject","z":"656d0889.6f6488","name":"8:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 08 * * 6,0","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":300,"wires":[["f1490572.b3a2d8","c257b1a19b7831c7"]]},{"id":"37085a6a.dfa536","type":"comment","z":"656d0889.6f6488","name":"[Volets] Ouverture Week-End","info":"","x":140,"y":260,"wires":[]},{"id":"850209c6.f963a8","type":"comment","z":"656d0889.6f6488","name":"[Volets] Ouverture Noham","info":"","x":130,"y":580,"wires":[]},{"id":"e3e41f19.321a","type":"inject","z":"656d0889.6f6488","name":"08:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 08 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":640,"wires":[["feae5ad1.389fa8","15d5e9c7519b9a4f"]]},{"id":"feae5ad1.389fa8","type":"api-call-service","z":"656d0889.6f6488","name":"Ouverture","server":"a8c279c8.be8be8","version":1,"debugenabled":false,"service_domain":"cover","service":"open_cover","entityId":"cover.volet_chambre_noham","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":800,"y":640,"wires":[[]]},{"id":"fe834b2a.6b4d58","type":"comment","z":"656d0889.6f6488","name":"[Volets] Ouverture Chambre Parentale","info":"","x":170,"y":740,"wires":[]},{"id":"7d81d95e.81c028","type":"inject","z":"656d0889.6f6488","name":"12:00","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":800,"wires":[["84555500.bd26e8","8c11ac796002f43d"]]},{"id":"84555500.bd26e8","type":"api-call-service","z":"656d0889.6f6488","name":"Ouverture","server":"a8c279c8.be8be8","version":1,"debugenabled":false,"service_domain":"cover","service":"open_cover","entityId":"cover.volet_chambre_parent","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":800,"y":800,"wires":[[]]},{"id":"2e625b12.a3bd44","type":"api-current-state","z":"656d0889.6f6488","name":"Invités Off","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_invites","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":320,"y":200,"wires":[["84607fa0.4e2bd"],[]]},{"id":"af049f6d.92c84","type":"inject","z":"656d0889.6f6488","name":"09:30","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"30 09 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":70,"y":480,"wires":[["db665b00.fbed98","5b5d61ca.e4a52"]]},{"id":"4a7a78d2.f6ea58","type":"comment","z":"656d0889.6f6488","name":"[Volets] Ouverture Vacances ou Invités","info":"","x":170,"y":440,"wires":[]},{"id":"db665b00.fbed98","type":"api-current-state","z":"656d0889.6f6488","name":"Invités On","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_invites","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":520,"y":480,"wires":[["fd2c3dfe.be954","c257b1a19b7831c7"],[]]},{"id":"84607fa0.4e2bd","type":"api-current-state","z":"656d0889.6f6488","name":"Vacances Off","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_vacances","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":200,"wires":[["fd2c3dfe.be954"],[]]},{"id":"5b5d61ca.e4a52","type":"api-current-state","z":"656d0889.6f6488","name":"Vacances On","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_vacances","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":540,"wires":[["fd2c3dfe.be954","c257b1a19b7831c7"],[]]},{"id":"f1490572.b3a2d8","type":"api-current-state","z":"656d0889.6f6488","name":"Invités Off","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_invites","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":320,"y":300,"wires":[["ef1a0af9.90d838"],[]]},{"id":"ef1a0af9.90d838","type":"api-current-state","z":"656d0889.6f6488","name":"Vacances Off","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"input_boolean.ha_mode_vacances","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":530,"y":280,"wires":[["fd2c3dfe.be954"],[]]},{"id":"331671.4495c99","type":"api-current-state","z":"656d0889.6f6488","name":"Vérification Open","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"open","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.volets_partiels","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":550,"y":340,"wires":[[],["fd2c3dfe.be954"]]},{"id":"1b233ebb.0e9b61","type":"api-current-state","z":"656d0889.6f6488","name":"Vérification Open","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"open","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"cover.volet_chambre_noham","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":590,"y":680,"wires":[[],["feae5ad1.389fa8"]]},{"id":"89f00352.ab4b4","type":"api-current-state","z":"656d0889.6f6488","name":"Vérification Open","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"open","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"cover.volet_chambre_parent","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":590,"y":840,"wires":[[],["84555500.bd26e8"]]},{"id":"1ea2ae14.449512","type":"api-current-state","z":"656d0889.6f6488","name":"Vérification Closed","server":"a8c279c8.be8be8","version":1,"outputs":2,"halt_if":"closed","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"group.volets_all","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":730,"y":120,"wires":[[],["9512760a.468008"]]},{"id":"fd5f5fe8696e9a54","type":"trigger","z":"656d0889.6f6488","name":"Demande de verification dans 5 min","op1":"1","op2":"","op1type":"num","op2type":"payl","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":460,"y":120,"wires":[["1ea2ae14.449512"]]},{"id":"c257b1a19b7831c7","type":"trigger","z":"656d0889.6f6488","name":"Demande de verification dans 5 min","op1":"1","op2":"","op1type":"num","op2type":"payl","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":280,"y":360,"wires":[["331671.4495c99"]]},{"id":"8c11ac796002f43d","type":"trigger","z":"656d0889.6f6488","name":"Demande de verification dans 5 min","op1":"1","op2":"","op1type":"num","op2type":"payl","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":320,"y":840,"wires":[["89f00352.ab4b4"]]},{"id":"15d5e9c7519b9a4f","type":"trigger","z":"656d0889.6f6488","name":"Demande de verification dans 5 min","op1":"1","op2":"","op1type":"num","op2type":"payl","duration":"5","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":320,"y":680,"wires":[["1b233ebb.0e9b61"]]},{"id":"a8c279c8.be8be8","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Merci pour ta réponse.
Alors oui j’aime également node-red. Mais je souhaite que cela soit exécutable via la voix. Je ne crois pas que node-red est compatible directement dans HA.
De plus je n’ai pas la box Somfy que je trouve trop chère. J’ai le kit de connectivité compatible HA mais je ne crois pas que node-red puisse voir mes volets directement sans passer par HA.

Salut

@Pulpy-Luke t’a donné une solution, et @dckiller t’en donne une autre.

Peu importe la méthode que tu souhaites utiliser, comme souvent avec HA, il y a divers chemins possibles pour un résultat quasiment (voir complètement ) identique. C’est souvent un choix de préférence personnelle.

que veux tu dire par là ??? node-red est directement intégré dans HA, tu veux quoi de plus ???

oui et alors ??? a partir du moment ou node-red reçoit la bonne info, quel est le problème :joy:

Je voulais dire: node red n’est pas compatible avec GH.

Bonjour Alain,

Node red et GH sont deux choses différentes, les deux cohabites sans problème. Le 1er remplace les automations et scripts et GH commandé des objets connectés par la voix.

Donc si je comprends bien tu fermes toi même tous les jours tes volets par la voix. Dans ce cas il te suffit de modifier mon exemple en démarrant le contrôle que tes volets sont fermées par « events stats ». Après tu sélectionnes un volet ou un groupe volet et dans if states tu inscris closed.
Si tu choisis au volet il te faudra une ligne par volet et modifier mon fermer tous par ton volet de contrôle.

Sans titre

1 « J'aime »

Comme le dit @dckiller il ne faut pas tout mélanger

  • d’un côté tu as tes outils de commandes : dasboard lovelace, GH, Amazon Echo , rhasspy,…
  • de l’autre côté tu as des devices à piloter: volets, lumières, chauffage, …
  • et au centre de cela, tu as HA qui permet de relier tout ce petit monde, qui gère les scénarios (notamment à l’aide de node-red)…

Un système, pour fonctionner et rester fiable, doit avoir une certaine logique.

Si tu commences par demander à GH de faire le travail de HA, tu vas vite avoir des problèmes.

GH → HA → devices

Ce qu’il y a de bien avec GH c’est la « compréhension » je peux lui dire ouvre les volets à 40% il le fait sans passer par HA. Comment faire en passant par HA (et que celà fonctionne à la voix)?

Hello

Exactement comment pour le reste. Déclarer les volets de HA (via l’intégration ou nabucasa) dans GH et puis c’est tout