Thermostat : RTC et gestions de plages ?

...Si maintenant le maître envoi le temps exacte, la valeur interne est ajustée et toute erreur se corrige automatiquement. La librairie fournie la fonction setTime pour ceci....

Je vais partir sur une actualisation de l'heure (maitre => esclaves) une ou n fois par jour (plus simple et efficace). J'ai regardé, millis() stocke en unsigned long.Dans ce cas, il me faut récupérer la valeur du DS1307 et l'écrire directement dans millis(). Donc ce registre représentera une sorte de clone du DS1307, autonome pendant 49 jours entre 2 refresh. Est-ce bien cela ?

Pour les plages horaires, probablement il serait plus simple d'avoir une liste d'états avec les données: jour, temps démarrage, consigne haute et basse. L'entrée qui a commencé le plus récemment est la bonne.

Finalement, plutôt que des consignes haute/basse, je pars sur des valeurs (plus souple). Ex. : chambre 19°C, salon 22°C et salle de bain le matin 24°C. La liste d'état dont tu parles serait une table en mémoire qui contiendrait :
lundi 25/10 - 06h00 - 24°C
lundi 25/10 - 08h00 - 19°C
lundi 25/10 - 17h00 - 21°C
A chaque changement d'état, on envoie la température de consigne à une adresse mémoire "consigne". Charge ensuite au sous programme "heating" lancé régulièrement de comparer "température du DS1820" à "consigne" et d'activer le chauffage selon l'écart. Est-ce OK ?

L'entrée qui a commencé le plus récemment est la bonne.

Cette façon de faire me parait plus optimale que ma proposition de x cases mémoires par 1/2 heure. En revanche, cela me parait compliqué à programmer (paramétrage et déclenchement). Je sais créer un menu balayant et renseignant les plages de 30', mais là je ne vois pas bien l'algorithme...

PS :
La fonction thermostat ne devrait pas être compliquée car gérée localement par chaque carte.
L'idée étant d'ajouter localement un clavier et un afficheur de ce type
http://cgi.ebay.fr/128X64-12864-Dot-Graphic-LCD-LCM-White-on-Blue-KS0107-/350403434348?pt=LH_DefaultDomain_0&hash=item5195ac176c
pour permettre aux utilisateurs d'ajuster le chauffage de chaque pièce.

Le pilotage de l'ensemble des esclaves par le maître sera nécessaire pour :

  • rafraichir l'heure 1 ou n fois par jour (en broadcast)
  • récupérer les courbes de température (pour afficher sur le PC)
  • récupérer les temps d'activité du chauffage (pour afficher sur le PC)
  • récupérer les courbes de températures de consignes (pour afficher sur le PC)
  • reprogrammer les consignes de chaque esclave à partir du PC.
    etc...