Bonjour à tous !
Je me sers de l’API REST pour envoyer des commandes à un ESP pour un projet d’horloge murale (lien du GitHub : GitHub - Winston-Lu/ESP8266-LED-Shelf: A ESP8266 rewrite from the ground up of a 3D printable shelving system with a hidden giant clock in its shelves edges based off of the original project: https://github.com/DIY-Machines/DigitalClockSmartShelving)
J’ai construit l’horloge et je me suis rendu compte que je pouvais ajouter pas mal de commandes de l’horloge à Home Assistant via l’API REST. Jusqu’ici je suis super content. J’ai réussi à modifier, par exemple, la luminosité via ces commandes simples ajoutées dans le YAML :
rest_command:
luminosite_horloge_jour:
url: "http://192.168.1.15/brightness?value=170"
luminosite_horloge_soir:
url: "http://192.168.1.15/brightness?value=75"
Je les ai ajoutées dans des automatisations pour la journée et la soirée par exemple
J’ai aussi ajouté un template light pour me permettre de l’allumer, l’éteindre et modifier la luminosité dans Lovelace :
- platform: template
lights:
horloge_murale:
turn_on:
service: rest_command.allumer_horloge
turn_off:
service: rest_command.eteindre_horloge
icon_template: mdi:clock-digital
set_level:
service: rest_command.modifier_luminosite
data:
luminosite_horloge: "{{ brightness }}"
Bref tout cela fonctionne parfaitement ! Maintenant, sur l’horloge, je peux modifier la couleur des chiffres à volonté. J’ai donc logiquement vu dans le template light (Template Light - Home Assistant) la possibilité d’une ligne « set color ». Lorsque je l’ajoute, la rosace de couleur apparaît bien dans Lovelace suite à appui long. CEPENDANT, cela renvoie des valeurs « hue et saturation » et je ne sais pas à quoi ça correspond.
Mon soucis est que pour changer la couleur, l’horloge attend un appel HTTP de ce type : http://192.168.1.15/h1color?value=0&red=255&green=255&blue=0 (la par exemple la couleur du premier chiffre sera jaune).
Ce qu’il faudrait que je fasse en appel de service est quelque chose de ce style :
rest_command:
couleur_h1_horloge:
url: "http://192.168.1.15/h1color?value=0&red={{ red_h1 }}&green={{ green_h1 }}&blue={{ blue_h1 }}"
La où les valeurs entre crochet sont situées entre 0 et 255.
Le problème, c’est que je ne sais pas récupérer de valeur de 0 à 255 à partir de la rosace de couleur. J’ai vu qu’à partir de set_color on peut mettre une action qui serait dans mon cas de récupérer ces chiffres, mais je ne m’y connait pas du tout en code pour faire ça…
C’est un peu complexe comme affaire mais je pense être très proche de la solution !
Merci à tous ceux qui s’y pencheront !