: addendum on consonance project
All checks were successful
release / build (push) Successful in 7s

This commit is contained in:
VC
2025-07-21 12:50:18 +02:00
parent 9271837336
commit 58235693bc

View File

@@ -95,6 +95,8 @@ Maintenant quon a appris toutes les commandes, il reste à voir commander les
Et le second souci à coupler à ce premier: la plupart des appareils infrarouge ont un seul et unique bouton pour allumer et éteindre. Cest un `power_toggle`. Il est assez rare davoir une commande dallumage et une commande dextinction. Cela veut dire que lon doit mémoriser quelque part létat de lappareil histoire de ne pas tout éteindre/tout allumer aléatoirement tout le temps. Et le second souci à coupler à ce premier: la plupart des appareils infrarouge ont un seul et unique bouton pour allumer et éteindre. Cest un `power_toggle`. Il est assez rare davoir une commande dallumage et une commande dextinction. Cela veut dire que lon doit mémoriser quelque part létat de lappareil histoire de ne pas tout éteindre/tout allumer aléatoirement tout le temps.
> Note: lintégration Broadlink comprend une notion de [communateur (switch)](https://www.home-assistant.io/integrations/broadlink/#setting-up-custom-irrf-switches) qui permet de créer des interrupteurs virtuels. Si on possède effectivement une commande dallumage et une command dextinction, ça marche plutôt bien. Malheureusement, cest rarement le cas.
Pour ce faire, jai créé des entités virtuelles représentant les différents appareils que je souhaite contrôler. Ce sont des simples interrupteurs (*on/off*) mais on pourrait imaginer de stocker plus dinformations que cela (par exemple la dernière entrée dun appareil). Pour ce faire, jai créé des entités virtuelles représentant les différents appareils que je souhaite contrôler. Ce sont des simples interrupteurs (*on/off*) mais on pourrait imaginer de stocker plus dinformations que cela (par exemple la dernière entrée dun appareil).
Donc dans `Paramètres` > `Appareils et services` > `Entrées`, jai créé les 6 appareil contrôlés en infrarouge. Pour des raisons pratiques, je vais considérer que Kodi est contrôlé via son API (ce sera bien plus simple). Je leur ai tous donné une zolie icône et mis dans une catégorie `Consonance`, puisque ce sera le nom de ce projet. Concrètement, ça donne ça: Donc dans `Paramètres` > `Appareils et services` > `Entrées`, jai créé les 6 appareil contrôlés en infrarouge. Pour des raisons pratiques, je vais considérer que Kodi est contrôlé via son API (ce sera bien plus simple). Je leur ai tous donné une zolie icône et mis dans une catégorie `Consonance`, puisque ce sera le nom de ce projet. Concrètement, ça donne ça:
@@ -118,6 +120,12 @@ Pour lextinction générale pareil, assez simple, pour chaque entrée logique
Avec le langage de script dHome Assistant, il est difficile de faire des boucles, mais on peut faire des groupes ou traiter tous les appareils indépendamment. On pourrait donc très bien imaginer mettre les appareils dans un groupe ou une catégorie en fonction de lactivité et simplement sappuyer là-dessus pour gérer la partie interrupteur virtuelle. Avec le langage de script dHome Assistant, il est difficile de faire des boucles, mais on peut faire des groupes ou traiter tous les appareils indépendamment. On pourrait donc très bien imaginer mettre les appareils dans un groupe ou une catégorie en fonction de lactivité et simplement sappuyer là-dessus pour gérer la partie interrupteur virtuelle.
Si lon veut éviter le gros gloubiboulga en basculant dune activité à lautre, on peut forcer le passage par le script dextinction. Pour cela, il suffit de rajouter une autre entrée logique permettant de dire quun activité est en cours (ou prendre une entrée logique existant dont on sait quelle est toujours allumée) et dajouter une condition au début de lexécution de chaque script dactivité pour arrêter sa propre exécution si lentrée logique en question est *on*. Ça rajoute encore une petite couche de logique un peu reloue à gérer, mais cest le prix à payer.
Si lon souhaitait éviter ce comportement et passer dune activité à une autre en passant par les mêmes scripts, il faudrait revenir à ce que lon disait plus haut: grouper les interrupteurs virtuels pour garder un état cohérent.
Sachant que, de toutes manières, on ne pourra jamais vraiment avoir létat complet du système… tout comme avec les Logitech Harmony!
# Conclusage # Conclusage
Là, on a plutôt fait la partie arrière-boutique. La prochaine fois, on verra comment interagir avec Home Assistant pour tout contrôler. En attendant, je te laisse avec [le repo qui va bien](https://giteu.be/home_assitant/consonance) si tu veux repomper le truc ou tinspirer. Là, on a plutôt fait la partie arrière-boutique. La prochaine fois, on verra comment interagir avec Home Assistant pour tout contrôler. En attendant, je te laisse avec [le repo qui va bien](https://giteu.be/home_assitant/consonance) si tu veux repomper le truc ou tinspirer.