mgcrea / homebridge-tydom

Homebridge plugin to manage Tydom hardware by Delta Dore from Apple HomeKit.
62 stars 13 forks source link

Commande vocale "Fermeture Portail" sans effet sur TYXIA 4620. #100

Closed Karamazow closed 1 year ago

Karamazow commented 1 year ago

Bonjour,

Mon problème concerne la commande vocale du portail avec SIRI:

Le portail est actionné en ouverture / fermeture via HomeBridge par l'intermédiaire d'un récepteur à impulsions TYXIA 4620.

La commande vocal "Dis SIRI, ouverture portail" fonctionne très bien.

En revanche, la commande "Dis SIRI, fermeture portail" est sans effet, bien que SIRI réponde "Ok le portail est fermé", "Ok portail éteint". Il semblerait que HomeBridge considère le TYXIA 4620 comme un interrupteur "ON/OFF".

D'où ma question : Est-ce qu'il serait possible de modifier un paramètre dans la configuration HomeBridge de ce TYXIA 4620 pour que la commande vocale "fermeture portail" soit la même commande à impulsion ?

Merci pour votre aide !

StephanH27 commented 1 year ago

J'ai exactement le même souci (avec un Tyxia 6410, qui a la même fonction). Pour fermer le portail, il faut demander à Siri de l'ouvrir... Lui demander de fermer ne fonctionne pas ...

Karamazow commented 1 year ago

Probablement que le TYXIA6410 et TYXIA4620 ne sont pas reconnus comme ils le devraient dans HomeBridge.

@mgcrea : Est-ce que nous devrions forcer une catégorie spécifique pour ce module récepteur à impulsions ? Je l'ai fait pour la commande de la VMC afin qu'il apparaisse correctement dans HomeBridge.

J'ai trouvé un lien vers un utilisateur qui a cherché à intégrer le 4620 en tant que récepteur à impulsions via du code python, mais sur un autre plugin j'ai l'impression : https://community.home-assistant.io/t/tydom2mqtt-addon-d-delta-dore-tydom-to-mqtt-broker/151333/263

Est-ce que cela peut servir à développer le code pour le plugin ?

Merci

mgcrea commented 1 year ago

Le soucis c'est qu'il n'y a pas de support de l'état actuel d'ouverture ou de fermeture du portail par le module TYXIA.

Du coup si j'intègre le plugin comme un portail ou autre ouvrant dans homebridge (ce que j'avais fait au début) il va se désynchroniser lors de l'utilisation d'une autre commande d'ouverture (télécommande, code, etc.), le portail apparaitra fermé dans HomeKit alors qu'il est ouvert en vrai, etc.

Du coup actuellement ces modules à impulsion sont gérés comme ce qu'ils sont, des boutons poussoir. Lors de l'activation du bouton, il envoie une impulsion puis reprend sa position initiale au bout de quelques secondes. D'ou le soucis avec SIRI et pourquoi "j'allume toujours mon portail dans le jardin..." ^^.

J'ai l'ancien code quelque part et je pourrais peut-être le remettre avec une option dans la config.

Karamazow commented 1 year ago

Le soucis c'est qu'il n'y a pas de support de l'état actuel d'ouverture ou de fermeture du portail par le module TYXIA.

J'ai l'ancien code quelque part et je pourrais peut-être le remettre avec une option dans la config.

Bonjour Olivier,

Merci pour ta réponse. Effectivement je suis intéressé par cet ajout en tant qu' "option" dans le plugin. Si cela peut permettre de résoudre la commande vocale avec SIRI ce serait top !

Neo33ASM commented 1 year ago

Alors personnellement j'ai un 6410 pour le moteur d'un portail et un 4620 pour la gâche d'un portillon (réglé sur une impulsion de 4 secondes). Le moteur au fil des impulsions fait : ouverture => stop => fermeture => stop => etc.

J'ai très bien intégré le fait que ce ne sont que des poussoirs, donc je dis à Alexa ou Siri "actionne le portail", ou actionne le portillon.

Et pour que ça soit encore mieux intégrés, je les ai couplés à des switchs du plugin "dummy" de homebridge, avec de créer des poussoirs qui reviennent à l'état initial au bout de respectivement 1 et 4 secondes.

mgcrea commented 1 year ago

Hello, pour info j'ai release la v0.23.4 qui simule un vrai portail avec des timers, à tester!

Neo33ASM commented 1 year ago

En le testant sur mon 6410 connectée à un portail battant, l'ouverture fonctionne très bien, mais quand il se referme tout seul l'état reste "ouvert" du coup.

Il faut donc désactiver la fermeture automatique temporisée du portail alors non ?

Par contre j'ai également un 4620 paramétré en impulsion de 4 secondes pour un gâche électrique, dans ce cas là ce n'est pas du tout adapté (pas d'souci je vais juste masquer ce nouveau device de porte de garage).

mgcrea commented 1 year ago

Je vais regarder pour ajouter un réglage de fermeture automatique configurable. Elle est de combien ta tempo?

Neo33ASM commented 1 year ago

Alors ça a été réglé via un potentiomètre donc c'est pas "arrondi" mais je peux mesurer s'il faut. Puis ça m'arrive souvent de bloquer le portail en position ouverte quand je veux faire plusieurs passages d'affilée etc.

Mon fonctionnement est en mode "ouverture / stop / fermeture / stop" dans l'ordre des impulsions envoyées, mais je peux aussi basculer en "ouverture / fermeture", et activer ou pas la fermeture automatique temporisée.

Après si tu peux mettre tous ces paramètres en propriétés modifiables oui ça peut être intéressant.

Idées de propriétés possibles :

Mais il y a aussi le cas où quelque chose entrave le faisceau pendant la fermeture et cause donc une réouverture

Du coup je doute que ça puisse être gérable pour toi de gérer tous les cas de figure avec nos 6410/4620 que ne font qu'envoyer de simples impulsions...

mgcrea commented 1 year ago

Je viens de release la v0.23.5 avec deux settings: delay et autoCloseDelay (cf. README).

En effet je n'avais pas pensé à l'interruption du faisceau, la impossible de le savoir. Seule solution est de corriger l'état avec une télécommande pour le remettre dans l'état perçu par HomeKit.

Sinon je vais regarder pour rajouter/combiner un switch simple en plus pour déclencher manuellement l'interrupteur depuis HomeKit.

mgcrea commented 1 year ago

Par contre j'ai également un 4620 paramétré en impulsion de 4 secondes pour un gâche électrique, dans ce cas là ce n'est pas du tout adapté (pas d'souci je vais juste masquer ce nouveau device de porte de garage).

Sinon pour ton autre accessoire, tu devrais pour le re-configurer comme un trigger switch simple si tu veux:

{
  "platforms": [
    {
      "settings": {
        "1528565701": {"category": 8, "trigger": true}
      }
    }
  ]
}
Neo33ASM commented 1 year ago

Je vais tester ça. D'ailleurs est-il possible d'avoir une doc un peu plus détaillée pour cette section d'override de catégorie stp ? (genre table de correspondance des catégories par exemple, + options) Car par exemple j'ai un 4600 qui me permet de faire du on/off sur ma pompe à chaleur mais c'est catégorisé comme lightbuld, j'aurais souhaité le catégoriser en FAN par exemple mais ça n'a aucun effet.

mgcrea commented 1 year ago

Tu peux trouver le mapping des catégories ici https://github.com/homebridge/HAP-NodeJS/blob/v0.11.0/src/lib/Accessory.ts#L87

Ensuite la config est censé override le setup/update de l'accessoire ici: https://github.com/mgcrea/homebridge-tydom/blob/v0.23.8/src/helpers/accessory.ts#L77

J'ai ajouté le support de l'override pour les switchs / trigger switch aujourd'hui donc normal que ça ne marchait pas avant.

Neo33ASM commented 1 year ago

C'est top en effet j'ai pu modifier ma PAC, pour les portail/portillon je teste ça et j'te fais un retour

StephanH27 commented 1 year ago

Je reviens sur le portail ... Effectivement, les ordres d'ouverture et de fermeture sont désormais reconnus par Siri sur iPhone et sur Watch. Pour une raison qui m'échappe, cela ne fonctionne pas sur HomePod. L'ordre est bien reconnu, mais le HomePod demande de terminer la commande sur l'iPhone (où effectivement une notif de demande de confirmation est présente). Une idée sur ce comportement ?

Neo33ASM commented 1 year ago

Je reviens sur le portail ... Effectivement, les ordres d'ouverture et de fermeture sont désormais reconnus par Siri sur iPhone et sur Watch. Pour une raison qui m'échappe, cela ne fonctionne pas sur HomePod. L'ordre est bien reconnu, mais le HomePod demande de terminer la commande sur l'iPhone (où effectivement une notif de demande de confirmation est présente). Une idée sur ce comportement ?

Original ça, je n'ai pas de homepod donc je ne saurai pas aider là dessus. Par contre, je vais me permettre de proposer un avis de développeur (c'est juste un avis afin de proposer autre point de vue) :

1) C'est top de tenter de proposer un comportement adapté aux portails, mais je pense que le comportement par défaut devrait rester celui qu'il était avant : un bouton poussoir, avec éventuellement la possibilité de paramétrer la durée de l'impulsion (comme on peut le faire sur le module, 0,25" ou 4", qu'on pourrait binder sur la même propriété autoCloseDuration par exemple).

En effet à la base le module a un fonctionnement basique, il envoie des impulsions POINT. Les domaines d'applications sont multiples (garage / portail / gâche électrique / changement de mode d'éclairage d'une guirlande, etc.), donc si on a appelle le module "portail" on dit gentiment à Siri/Alexa "Actionne le portail".

2) Mais dans un second temps, c'est pas une mauvaise idée en effet de proposer d'overrider la catégorie par défaut pour la 4 (GARAGE_DOOR_OPENER). 3) Pour améliorer ce comportement de "portail" on pourrait envisager d'y associer un ou plusieurs Tyxia 2700 en renseignant leurs ID comme paramètres comme capteurs pour avoir et prendre en compte l'état du faisceau, de fonctionnement et de fermeture.

En effet ça deviendrait un peu fastidieux mais souvent les cartes de moteurs ont :

Relier ces contacts à un/des Tyxia 2700 est une idée pour avoir un fonctionnement précis. En effet en sachant que le moteur alterne entre ouverture et fermeture, facile de savoir où on en est, et même si homebridge est redémarré pendant une séquence, l'impulsion d'état fermé permet de retrouver où on est.

StephanH27 commented 1 year ago

Bonsoir, J'ai trouvé pour le HomePod : par défaut, les notifications sont activées. Or, elles ne se font que sur iPhone / Watch : Il faut donc penser à désactiver les notifications pour cet équipement. Du coup, le HomePod accepte d'ouvrir et fermer le portail.

Concernant le fonctionnement, personnellement, il me va très bien comme cela...

Neo33ASM commented 1 year ago

Bonsoir, J'ai trouvé pour le HomePod : par défaut, les notifications sont activées. Or, elles ne se font que sur iPhone / Watch : Il faut donc penser à désactiver les notifications pour cet équipement. Du coup, le HomePod accepte d'ouvrir et fermer le portail.

Concernant le fonctionnement, personnellement, il me va très bien comme cela...

Oui mais en tant que développeur faut penser à tout le monde, pas à sa seule personne

Neo33ASM commented 1 year ago

Dans ma proposition du retrouverais ce comportement évolué juste en rajoutant "category": 4

StephanH27 commented 1 year ago

Je dispose de plusieurs 6410 sur mon installation, et seul un a pris cette fonction de Portail. Les autres conservent leurs fonctions (que ce soit en mode impulsion ou en mode OF)

Je pense ne pas être le seul dans ce cas, ni le seul qui sera satisfait par cette implémentation. Mais il est vrai que d'autres auront envie d'utiliser la fermeture au bout de n minutes ou autre. Mais c'est déjà implémenté par Olivier si j'ai bien lu l'échange d'hier.

Pour aller plus loin, je pense avant tout que c'est à DeltaDore de proposer enfin au catalogue un 6410 ou équivalent avec une entrée d'état (à la connaissance, tous les portail ont une sortie pour la lampe témoin => Allumée, éteinte, clignotement si mouvement).

Neo33ASM commented 1 year ago

En soi je suis d'accord avec toi, je propose juste d'inverser les priorités en fait : fonctionnement par défaut : comme avant, et proposer le fonctionnement ouverture/fermeture en option.

Et pour Delta Dore je suis COMPLETEMENT d'accord avec toi : faut pas être un génie du dev pour intégrer 6pins de plus et quelques lignes de code pour gérer une logique d'ouverture/fermeture... Mais est-ce qu'ils s'y retrouveraient en temps de R&D et coût de production / rentabilité ? j'sais pas...

Déjà qu'ils font l'impasse sur HomeKit car bcp moins de HomePod sont vendus comparé aux enceintes / écrans Echo de Amazon...

StephanH27 commented 1 year ago

je comprends ... je pense vraiment que c'est une question de choix, de vue, d'interprétation.

Tu dis qu'un récepteur à impulsion ne saura jamais nativement faire du retour d'état, et donc, manœuvrons le avec ce qu'il sait faire : de l'impulsion. Je suis plus dans une optique où un portail est soit ouvert, soit fermé, peu importe qu'il soit commandé par une impulsion ou autre chose. Cela me semble donc 10 fois plus logique de demander à ouvrir / ferme le portail, plutôt qu'à lui demander de changer d'état. Je suis donc prêt à veiller à ce que le statut HomeKit soit conforme à ce que je vois, et à le remettre synchrone si besoin (il est vrai que j'ai installé une caméra qui surveille le portail, c'est donc très simple pour moi de savoir dans quel état est ce portail)

Encore une fois, c'est vraiment une question de point de vue. Je ne saurai pas dire quel scénario remporterait le plus de suffrages ...

Neo33ASM commented 1 year ago

Ca c'est valable si tu branches ton 6410 à un portail, mais si tu le connectes à autre chose, un changement de mode d'affichage par impulsion par exemple, tu te retrouves avec une icône de garage avec un état ouvert/fermé... C'est complètement IDIOT.

Le développement c'est de la logique, domaine d'application divers => comportement générique par défaut, avec possibilité de personnaliser en option.

StephanH27 commented 1 year ago

Pas du tout. Je dois avoir 4 ou 5 6410 sur mon installation, et seul celui qui pilote le portail a changé de fonction dans HomeKit. Les autres (de l'éclairage) ont conservé leurs apparences et leur fonction (OF ou Impulsion).

Je suppose (mais je n'en sais rien) qu'Olivier a utilisé la fonction existante dans le Tydom : J'ai bien une icône Portail pour mon 6410 Portail dans l'App DeltaDore)

Neo33ASM commented 1 year ago

Bon, j'avais déjà compris du 1er coup la composition de tes équipements, mais tu as du mal comprendre ce que j'écris, une simple logique... Je tente une dernière fois après j'abandonne.

Si je ne me trompe pas, tu as du mettre {"category": 8, "trigger": true} sur quatre (4) de tes Tyxia 6410, et les propriétés d'automatismes "delay", "autoCloseDelay" sur le dernier non ? (celui relié au portail) Si c'est bien ça, tu as du éditer cinq (5) équipements.

En mettant le comportement global par défaut, tu n'aurais à éditer que celui relié au portail pour lui activer ce mode, les autres auraient déjà le comportement par défaut de base. => donc UNE (1) SEULE personnalisation à faire par l'utilisateur, contre cinq (5).

Si tu ne comprends pas ça c'est peine perdue

StephanH27 commented 1 year ago

Voici ma conf, à laquelle je n'ai pas touché depuis ... plusieurs mois, et sachant que l'alarme (une vieille CTX60), n'a jamais été reconnue :

"hostname": "mediation.tydom.com",
"username": "001AXXXXXXXX",
"password": « XXXXXXXX",
"platform": "Tydom",
"settings": {
    "47": {
        "category": 4
    },
    "197849": {
        "pin": « XXXX",
        "aliases": {
            "stay": [
                1
            ],
            "night": [
                2
            ],
            "away": [
                3
            ]
        },
        "sensors": false
    }
}

}

Neo33ASM commented 1 year ago

Tes 5 Tyxia 6410 ont donc basculé en icône de garage donc non?

StephanH27 commented 1 year ago

Non, pas du tout. Les 6410 (bâtiments et zone "dehors") sont restés à l'état de lampes Seul le portail a migré

image

Je pense, sans en être certain, que le système récupère l'accessoire tagué "portail" dans l'App Tydom.

mgcrea commented 1 year ago

@StephanH27 a raison, il n'y a pas d'affectation automatique d'un 4620/6410 à un portail, dans le code cela se passe ici, je map la catégorie tydom (pas HomeKit) & une signature de l'API (objet meta) du device à une catégorie HomeKit (avec un fallback si la signature est inconnue), donc seuls les modules à impulsions définis comme porte de garage ou portail dans tydom seront converti en accessoire HomeKit de portail.

En effet cela n'aurait pas de sens de mapper automatiquement tous les modules à impulsions à des portails.

mgcrea commented 1 year ago

Sinon @StephanH27 pour ton alarme, tu as quoi dans les logs? Ouvre un nouveau ticket avec un dump & je jetterais un coup d'oeil.

Neo33ASM commented 1 year ago

Ok mea culpa, j’avais totalement exclu l’appli tydom de la réflexion en effet.

Ceci dit, je conserve quand même l’avis que ça pourrait être bien de pouvoir paramétrer le "autoCloseDelay" en mode catégorie 8.

StephanH27 commented 1 year ago

Sinon @StephanH27 pour ton alarme, tu as quoi dans les logs? Ouvre un nouveau ticket avec un dump & je jetterais un coup d'oeil.

Merci beaucoup ! J'avais déjà ouvert un ticket ici, avec les log. S'il faut les rafraîchir, je le fais volontiers !!!

Karamazow commented 1 year ago

Bonsoir à tous,

Merci beaucoup @mgcrea pour ces évolutions, ça fonctionne nickel pour la commande vocale d'ouverture et fermeture du portail !

Karamazow commented 1 year ago

Concernant l'icône du portail, j'ai une petite question de détail, mais serait-il possible de sélectionner autre chose ?

Car les 2 que j'ai de disponible sur l'application Maison ressemblent fortement à une porte de garage, mais pas à un portail extérieur.

Merci à vous

mgcrea commented 1 year ago

Dans les détails de l’accessoire en cliquant sur l’icône je n’ai aussi que deux options. A ma connaissance pas possible d’en avoir d’autres. Peut-être dans une prochaine maj d’iOS.

Karamazow commented 1 year ago

Bonsoir, J'ai trouvé pour le HomePod : par défaut, les notifications sont activées. Or, elles ne se font que sur iPhone / Watch : Il faut donc penser à désactiver les notifications pour cet équipement. Du coup, le HomePod accepte d'ouvrir et fermer le portail.

Concernant le fonctionnement, personnellement, il me va très bien comme cela...

Bonjour @StephanH27 ,

Est-ce que tu les "notifications" dont tu parles concernent :

Merci pour ton aide

StephanH27 commented 1 year ago

Oui mais ... Cela a fonctionné dès que j'ai supprimé cette notification sur l'accessoire portail ... pendant la reste de la journée. Depuis, cela ne fonctionne plus ...

StephanH27 commented 1 year ago

Bonsoir,

Depuis la nouvelle version de HomeKit / iOS6.2 de mardi, je n'arrive plus à fermer le portail à la voix. Il y a un conflit avec un autre équipement. cet équipement est le même Tyxia 6410, mais dans sa fonction de répéteur de signal X3D. Y a-t-il moyen de régler cela ? Y a-t-il moyen, dans le fichier de paramètre, d'exclure cet accessoire "Répéteur" ?

FrancoisDucrot commented 1 year ago

Bonjour à tous, J'ai configuré un portail avec un 4620 dans l'appli tydom, et sur l'app tout marche bien. Je clique sur le portail, il s'allume une seconde, puis s'éteint, et cela à chaque fois. S'il est en cours de fermeture, cela fait la même chose. Via homekit, c'est beaucoup plus compliqué, j'ai un interrupteur a deux états, et forcément je sais pas dans lequel je suis. Le soucis principal c'est que j'utilise également les télécommandes du portail et même le digicode, donc je ne souhaite pas synchroniser l'état "théorique" du portail. j'ai essayé en modifiant le delay et mettant 0, ça fait que cela devient séquentiel, mais comme je ne sais pas dans quel état Homekit croit que le portail est, je ne sais pas si je dois dire à siri d'ouvrir ou fermer le portail pour le faire changer d'état. Avant je disais simplement "Portail", et l'impulsion se faisait. Maintenant, dire "portail" me donne l'état théorique. Merci d'avance, Bonne soirée, François