Merci pour votre enthousiasme
Je réponds en vrac:
J'aurai une petite remarque à faire dans le script cron que tu lances toutes les 5 minutes. Tu envoies un ordre à chaque fois, pour chaque zone. Peut-être pourrais-tu faire un appel pour récupérer l'état des 7 zones (http://ip_du_remora/fp) et comparer avec les ordres programmés dans ton système. Cela pourrait éviter des appels inutiles à la Remora.
Oui, il y a sans doute moyen de rendre le script plus intelligent et d'éviter de dialoguer avec la Remora constamment.
Un truc qui m'intrigue cependant : est-ce qu'il y a une raison particulière de définir le programme de chaque jour avec une granularité de 15 min, plutôt qu'autoriser des plages arbitraires (en stockant la liste des basculements plutôt qu'un tableau d'états, bien sûr) ?
J'ai trouvé ça plus simple à programmer et je me dit qu'une granularité de 15 minutes c'est suffisant vue l'inertie d'un radiateur électrique. Je vois mal quelqu'un demander au radiateur de chauffer à partir de 6h47 exactement
Et sinon, j'ai l'impression que ça vaudrait la peine de donner plus de souplesse dans l'association jour → programme_journee : la sélection en fonction du jour de la semaine convient le plus souvent, mais il y a pas mal d'exceptions que l'on pourrait vouloir programmer à l'avance (jours fériés, absences de plusieurs jours...). En fait, j'ai l'impression qu'il faudrait pouvoir donner un ensemble arbitraire de règles du style « les premiers lundis du mois entre telle date et telle date, utiliser le programme X ». Mais je ne sais pas trop comment rendre ça digeste pour l'utilisateur, ni s'il existe du code tout fait qui ferait ça bien...
Il est sans doute possible de faire quelque chose dans le genre, mais j'ai pas trop d'idée sur la façon de spécifier les exceptions. Pour les absences prolongées, je change les programme au cas par cas (je passe en mode vacances quand je pars, et la veille de mon retour, je choisi le mode "travail")
Petite question : README.md mentionne une dépendance à mongodb, mais je n'ai pas compris où celle-ci était utilisée. Est-ce qu'elle l'est vraiment ?
C'est une erreur et c'est corrigé maintenant (En fait j'ai commencé le projet en utilisant mongodb, mais quand j'ai installé le tout sur raspberry, je me suis rendu compte qu'il n'y a pas de version utilisable de mongodb sur cet archi, donc je suis passé à sqllite.)
Et mini remarque pour les autres utilisateurs éventuels : attention à créer au moins un programme avant vos zones, sans quoi le chargement de la page d'accueil échoue. @trahay:
Merci pour le rapport de bug. Je viens de corriger ça.
Je ne sais pas si tu es intéressé par les rapports de bug, j'en ai fait un dans le doute.
Oui, je suis intéressé par les rapport de bug et les pull requests