Porte de garage et homebridge-alexa

Hello. J’ai domotisé ma porte de garage avec un fibaro smart implant et un capteur d’ouverture.
Je remonte ces 2 info dans un vituel, une action pour actionner la porte, et une info pour l’état ouvert/fermé.

J’ai configuré les types génériques pour que action soit un toggle et pour que l’état soit l’état ouvrant du garage.
J’ai personalisé les etat avec 0= fermé et 1 = ouvert

Tout fonctionne correctement dans homebridge. Je commande une ouverture de la porte et l’état de la porte passe bien ouvert. Si j’appuis a nouveau quand c’est ouvert, ca ferme et ca passe fermé.

Je remonte l’équipement dans alexa via homebridge-alexa. Dans Alexa, l’équipement est bien remonté en tant que « Garage Door Opener ». Quand je demande à alexa d’ouvrir la porte du garage ca fonctionne. Mais quand je lui demande fermer la porte du garage, alexa me dit que l’équipement ne prend pas en charge cette commande.

Je sais que dans la mesure ou tout fonctionne avec homebridge, vous aller me dire que je ne suis pas au bon endroit, mais la je sèche et je ne sais pas ou demander. Quelqu’un aurais une idée?

Hello, si c’est comme le plugin homebridge Google home, alexa a peut être besoin de tous les états intermédiaires…

Sinon tu peux demander sur les issues du GitHub de homebridge-alexa, ils ont peut être une idée…

Ok merci… Je me demande si il faudrait pas plutot mettre une commande « ouvrir » et une « fermer » plutot qu’un toggle. Parce que quand je demande à alexa d’ouvrir la porte quand elle est ouverte, la ca marche…

Du coup mon idée c’est de faire un virtuel avec une commande ouvrir et une commande fermée. Ces commandes devraient lancer la seule action disponible a savoir actionner la porte, mais en checkant l’état avant.

Est-il possible de faire une commande conditionnelle avec un virtuel sans passer par un scénario?

Bonne idée les doubles commandes

Pour le conditionnel aucune idée

J’ai vu des posts sur le forum ou il est dit que c’est possible mais la solution n’est pas donnée… Je vais continuer de chercher. Merci!

Ah ou alors là valeurs tu met !#[piece][equipement][etat]#

Ainsi il va faire l’opposé de l’etat

Bah non je pense pas ou alors j’ai pas compris ce que tu veux dire. L’action ouvrir et fermer, c’est la meme action => actionner la porte. Mais c’est juste il faudrait check l’état pour ne pas envoyer l’action si c’est pas l’état correspondant

Qu’est-ce qui empêche de l’envoyer ? Puisque c’est la même ?

Je veux éviter que la porte s’ouvre si je demande à Alexa de la fermer alors qu’elle est déja fermée.

Hello,

J’ai la même configuration que toi à peu près.
Ma porte de garage est géré par Smart Implant auquel est également connecté un détecteur d’ouverture magnétique.
J’ai également une seule commande pour ouvrir/fermer.

Je n’utilise pas de virtuel. Je n’avais même pas fait attention au fait qu’Alexa gérait la porte de garage.

En l’état, les commandes « Alexa, ouvre la porte » et « Alexa, ferme la porte » fonctionnent.
Sauf que… Vu que je n’utilise pas de virtuel et que la commande est unique pour ouvrir et fermer, que je demande l’ouverture ou la fermeture, c’est pareil… Comme toi.

Mais cela peut se solutionner sans trop de soucis je pense.

Je suppose qu’il suffit de :

  • Créer un virtuel (c’est déjà ce que tu as fait)
  • Créer un état, une commande ON, une commande OFF
  • Dans les commandes, tu fais une action bidon (ce que tu veux, qui n’influence pas sur ta domotique, une action dans le vent). Pourquoi? C’est le prochain point.
  • Dans les paramètres avancés de tes commandes, sous l’onglet Configuration, tu ajoutes une Action avant exécution de la commande en faisant appel à un scénario correspondant à ta commande. Par exemple, pour ta commande ON, tu fais appel à un scénario Ouverture garage où tu vas pouvoir tester l’état de ta porte avant d’ouvrir. Si elle est fermée, tu ouvres. Sinon, tu ne fais rien.

Tu peux également faire dire à Alexa que la porte est déjà ouverte via le plugin Alexa-API.

2 « J'aime »

Hello à tous,

J’ai globalement fait la même chose avec ma porte de garage. J’ai un module Fibaro FGS-214 qui gère un contcat sec de mon moteur de porte. Pas de commande On / Off donc.

J’ai créé un virtuel avec une variable et 2 actions On et Off qui modifie ma variable :

Puis ensuite je gère via un scénario qui teste le changement de variable et qui valide ou pas l’action :

  • Si demande ouverture (variable à 1) et porte ouverte (état à 0) alors ne fait rien
  • idem avec fermeture

Ca fonctionne nickel :slight_smile:

Xav

3 « J'aime »

Hello,

Je viens de tester la solution de @Xav-74 ainsi que la mienne.
Cela n’a pas l’air de fonctionner en l’état.

Il faudrait comme le suggère @nebz de voir les issues du GitHub de homebridge-alexa.
J’ai fait un certains nombre de test et dès que l’on a deux commandes, la commande Off ne passe pas quelque soit les paramètres dans Homebridge (toggle ou autre).

Vu que cela m’énervait un peu, j’ai tout de même trouver une solution.

Pour cela, j’ai dû :

  • Créer un Virtuel spécifique pour Alexa
  • Utiliser un scénario
  • Utiliser les plugins Homebride et Alexa-API

Je viens de faire les différents tests et il m’ouvre et ferme bien la porte de garage.
Quand je demande d’ouvrir la porte de garage et qu’elle est déjà ouvert, Alexa me répond qu’elle est déjà ouverte. Idem pour la fermeture.

Voici mon virtuel spécifique à la porte de garage pour Alexa :

La configuration de la commande :

La configuration Homebridge :

Le scénario appelé :

Il y a un sleep de deux secondes au départ pour que l’historique du plugin Alexa-API ait le temps d’arriver.

Ensuite, je teste l’état de la position :
#[Garage][Porte][Etat porte]# == x

La commande passée :
#[Bureau][Echo - Bureau][Last Interaction]# matches "/ouvre/"

Je teste également si elle vient d’être appelé (au cas où le scénario est exécuté pour une raison inconnue 2h après) :
#timestamp# - valueDate(#[Bureau][Echo - Bureau][Last Interaction]#,U) < 10

Ceci sur tous mes échos.

Ensuite, si on demande une action censé (ouvrir si c’est fermé ou fermer si c’est ouvert), j’exécute la commande.

Si ce n’est pas le cas (demander d’ouvrir si c’est déjà ouvert ou de fermer si c’est déjà fermé), alors je teste d’abord de quel Echo j’ai fait la demande pour avoir une réponse uniquement sur celui-ci.

Voilà, c’est fait à l’arrache mais cela fonctionne.

1 « J'aime »

Donc dans ce cas là la commande ferme fonctionne ? Alexa fait pas de message qui dit que pas possible ?? Étrange… à quel niveau le « ferme » bloque alors ?

Non, cela fonctionne.

Par contre, au vu du nombre de tests et de la lenteur de synchro, je ne suis pas certain que ma solution postée soit pleinement fonctionnelle. Je pense qu’il doit avoir un cache au niveau de homebridge-alexa.

Il faudra peut-être créer un second virtuel bidon :

Et mettre dans le virtuel dédié Alexa :

J’ai l’impression, peut-être à tord et peut-être mélangé car j’ai fait un paquet de tests mais j’avais l’impression que lorsque l’on mettait une variable à la place d’une commande, cela ne fonctionnait pas.
J’avais d’ailleurs fait mon petit tuto en ce sens… Et avant de valider, j’avais testé avec la variable (et ça fonctionnait) mais vu que j’ai l’impression que la mise à jour entre Jeedom et homebridge-alexa prend du temps, difficile d’être précis.

Oui il y a toujours un délais sur les modifications … et un cache chez eux aussi

Comment fais-tu pour changer la valeur d’état de ton info variablebidon

J’aurais imaginé qu’il faille une action pour ça
Si click action OnBidon → set info variablebidon à 1
Si click action OffBidon → set info variablebidon à 0

Puis ensuite laisser faire ton scénario tel que tu l’a défini

Je n’affecte aucune valeur. Cette variable ne me sert à rien hormis d’avoir un champ non vide.

@BLRPERES pour ma part c’est ce que je fais : (regarde le on et off)