Feat: Ajout du support natif pour les portes de garage (GarageDoorController)#65
Open
ripleyXLR8 wants to merge 2 commits into
Open
Feat: Ajout du support natif pour les portes de garage (GarageDoorController)#65ripleyXLR8 wants to merge 2 commits into
ripleyXLR8 wants to merge 2 commits into
Conversation
Implémentation de la classe ash_GarageDoorController pour permettre le contrôle vocal (ouverture et fermeture) des portes de garage (GARAGE_DOOR) via Alexa. Historiquement, la catégorie GARAGE_DOOR ne remontait qu'une interface ContactSensor (état ouvert/fermé), empêchant toute action vocale sans contournement (comme l'utilisation du type Volet). Cette nouvelle classe respecte les spécifications de l'API Amazon Alexa pour les portes de garage en implémentant l'interface Alexa.ModeController (instance GarageDoor.Position) avec les sémantiques d'action Position.Up (Ouverture) et Position.Down (Fermeture). Détails techniques : Types génériques d'ouverture supportés : GB_OPEN, GARAGE_OPEN Types génériques de fermeture supportés : GB_CLOSE, GARAGE_CLOSE Types génériques d'état supportés : GARAGE_STATE, BARRIER_STATE L'interface de contrôle n'est ajoutée que si les deux commandes d'action (ouverture/fermeture) sont détectées. Prise en charge native de l'inversion binaire (invertBinary) sur la commande d'état.
…es de garage Mise à jour de la classe principale ash pour intégrer la nouvelle gestion des portes de garage. Modifications apportées : Inclusion du nouveau fichier de classe ash_GarageDoorController.class.php. Mise à jour du tableau getSupportedType() : la catégorie GARAGE_DOOR implémente désormais la compétence GarageDoorController en complément du ContactSensor préexistant. Cette modification fait le lien indispensable pour que le plugin génère l'interface Alexa.ModeController (Position.Up/Down) lors de la transmission d'un équipement de type porte de garage à Amazon Alexa.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Objectif de la PR :
Ajouter le support natif des actions vocales (Ouverture / Fermeture) pour les équipements de la catégorie GARAGE_DOOR via Amazon Alexa.
Problème résolu :
Actuellement, la catégorie GARAGE_DOOR dans le plugin ASH ne supporte que la compétence ContactSensor (remontée d'état ouvert/fermé). Il est donc impossible pour un utilisateur d'ouvrir ou de fermer sa porte de garage à la voix nativement. Pour contourner cette limitation, les utilisateurs sont obligés de tricher en déclarant leur porte de garage comme un volet (EXTERIOR_BLIND).
Détail des changements et choix techniques :
Pour rester strictement conforme à la documentation de l'API Amazon Smart Home Skill, cette PR implémente le contrôle de la porte de garage via l'interface Alexa.ModeController (Instance : GarageDoor.Position).
Création de ash_GarageDoorController.class.php :
Ajout des sémantiques Position.Up (pour ouvrir) et Position.Down (pour fermer).
Mapping des actions vocales Alexa (Alexa.Actions.Open, Alexa.Actions.Close, Alexa.Actions.Raise, Alexa.Actions.Lower) vers les commandes Jeedom.
Types génériques supportés pour l'action : GB_OPEN, GARAGE_OPEN, GB_CLOSE, GARAGE_CLOSE.
Types génériques supportés pour l'état : GARAGE_STATE, BARRIER_STATE.
L'interface n'est générée que si le plugin détecte à la fois une commande d'ouverture et une commande de fermeture, évitant ainsi la création d'un contrôleur inopérant si l'utilisateur n'a qu'un capteur d'état.
Prise en charge native de l'option invertBinary sur le retour d'état.
Modification de ash.class.php :
Inclusion de la nouvelle classe ash_GarageDoorController.class.php.
Ajout de GarageDoorController dans le tableau des skills supportés par GARAGE_DOOR.
Types of changes
PR checklist