J’aurais besoin d’un coup de main pour créer un template qui compare deux heures, j’y suis depuis 3 jours et je n’arrive pas à m’en sortir.
Je m’explique mes volets s’ouvre et se ferment une heure qui varie en fonction du lever/couché du soleil, Mais ils ne doivent pas se lever trop tôt non plus. Donc j’ai créé une automation qui me permet de gérer l’ouverture et la fermeture de mon volet soit en fonction de l’heure du lever du soleil soit en fonction d’une heure fixe.
J’aimerais également afficher dans un template l’heure de lever et l’heure de fermeture du volet chaque jour.
Je pense que je touche au but mais ça ne fonctionne toujours pas.
J’ai d’abord essayé ça pour l’heure d’ouverture:
mais cela ne fonctionne toujours pas, peu importe l’heure que j’indique dans mon input_datetime le résultat du template ne change jamais à chaque fois il indique en résultat ma 1er variable, soit :
Salut, c’est sûrement un peu lourd mais ton premier template est presque fonctionnel :
Tu compares un string de type 4:30 avec un autre 08:00.
Donc soit tu vires les tirets dans %-H:%M et tu affiche tes autre horaires avec le 0 dans l’heure (04:30).
Soit tu laisses les tirets et tu vires les 0 (4:30).
Cela dit, essaie de simplifier tes templates de la sorte:
Perso j’essaie de ne jamais avoir d’expression qui se répète. Ça facilite grandement la maintenance.
la gestion des dates dans python nécessite un peut d’apprentissage (et de tâtonnement pour les non-dev comme moi)
Si c’est juste pour de l’affichage, je recommande d’utiliser la librairie easy_time.jinja qui permet d’afficher et comparer des dates relativement facilement.
Sinon, le mieux est d’utiliser les objets date et/ou datetime de python & les functions associé et de toujours spécifier le device_class, ce qui permet d’afficher ça très facilement
Afficher de manière jolie dans plusieurs cas est pas toujours facile , …
Dans cet exemple, j’ai 4 cas possible :
pas de retard
retard de moins de 60s,
retard de moins d’1h
retard de plus d’une heure
J’avoue que j’ai pas eu souvent des retard > 1h donc, pour tester , …
J’ai pas mis a jour le sensor pour pouvoir comparer : (j’ai aussi supprimer les secondes car si plus d’une heure de retard, on est plus a une minute près ,… )