✨: addendum on consonance project
All checks were successful
release / build (push) Successful in 7s
All checks were successful
release / build (push) Successful in 7s
This commit is contained in:
@@ -95,6 +95,8 @@ Maintenant qu’on 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. C’est un `power_toggle`. Il est assez rare d’avoir une commande d’allumage et une commande d’extinction. Cela veut dire que l’on doit mémoriser quelque part l’état de l’appareil histoire de ne pas tout éteindre/tout allumer aléatoirement tout le temps.
|
||||
|
||||
> Note : l’inté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 d’allumage et une command d’extinction, ça marche plutôt bien. Malheureusement, c’est rarement le cas.
|
||||
|
||||
Pour ce faire, j’ai 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 d’informations que cela (par exemple la dernière entrée d’un appareil).
|
||||
|
||||
Donc dans `Paramètres` > `Appareils et services` > `Entrées`, j’ai 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 l’extinction générale pareil, assez simple, pour chaque entrée logique
|
||||
|
||||
Avec le langage de script d’Home 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 l’activité et simplement s’appuyer là-dessus pour gérer la partie interrupteur virtuelle.
|
||||
|
||||
Si l’on veut éviter le gros gloubiboulga en basculant d’une activité à l’autre, on peut forcer le passage par le script d’extinction. Pour cela, il suffit de rajouter une autre entrée logique permettant de dire qu’un activité est en cours (ou prendre une entrée logique existant dont on sait qu’elle est toujours allumée) et d’ajouter une condition au début de l’exécution de chaque script d’activité pour arrêter sa propre exécution si l’entrée logique en question est *on*. Ça rajoute encore une petite couche de logique un peu reloue à gérer, mais c’est le prix à payer.
|
||||
|
||||
Si l’on souhaitait éviter ce comportement et passer d’une activité à une autre en passant par les mêmes scripts, il faudrait revenir à ce que l’on 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
|
||||
|
||||
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 t’inspirer.
|
||||
|
Reference in New Issue
Block a user