Thermostat Zibase et Jour Rouge TEMPO EDF

Par soucis d’économie d’énergie sur le chauffage, j’ai souscrit un abonnement TEMPO EDF.

Avec cet abonnement, il est impératif d’avoir une solution alternative en matière de chauffage (cheminée,…) durant les jours rouges où le Kw est excessivement cher.

J’ai choisi la Zibase et son super-thermostat pour la gestion automatisée du du chauffage électrique.

Je vais vous montrer dans cet article comment récupérer cette information « Jour rouge » afin de l’exploiter dans le thermostat Zibase, pour faire en sorte tous les chauffages se coupent automatiquement durant ces jours rouges.

Sommaire

  • 1 – Présentation
    • 1.1 – L’objectif
    • 1.2 – Le contrat TEMPO EDF en détails
    • 1.3 – La présentation du compteur électronique
  • 2 – Récupération de l’info « JOUR ROUGE » du compteur
    • 2.1 – par la sortie téléinformation  et l’ECO-DEVICES
    • 2.2 – par la sortie contact sec programmable C3-C4 et un IPX800v3
  • 3 – Programmation
    • 3.1 – programmation de l’IPX800v3
    • 3.2 – programmation de la Zibase
      • périphérique virtuel « JOUR ROUGE »
      • scénario « EV JOUR ROUGE ON »
      • scénario « EV JOUR ROUGE OFF »
      • POOLING JOUR ROUGE
      • Thermostat modifié selon JOUR ROUGE
  • 4 – Conclusion
  • 5 – Pour aller plus loin

1 – Présentation

Pour commencer, je vais définir l’objectif, et présenter le contrat TEMPO EDF et le compteur électronique.

1.1 – Objectif

L’objectif est simple, mettre tous les convecteurs en mode HORS GEL durant les jours rouges.

Pour atteindre cet objectif, plusieurs étapes sont nécessaires.

Il nous faudra :

  • identifier les possibilités de récupération de l’information « JOUR ROUGE »,
  • définir les dispositifs qui pourront récupérer cette information,
  • récupérer et traiter l’information en provenance du compteur EDF,
  • détourner le fonctionnement du thermostat Zibase pour qu’il prenne en compte cette information.

1.2 – Le contrat TEMPO EDF en détails

Remplaçant du contrat EJP qui était beaucoup plus intéressant, le contrat TEMPO propose un prix au KW très attractif, sauf pendant 22 jours dans  l’année.

L’option TEMPO :

  • Elle propose des prix variables selon les jours et les heures d’utilisation.
  • Elle est réservée aux particuliers titulaires d’un abonnement de 9 kVA minimum.
  • Une année Tempo, c’est 3 couleurs de jour (bleu, blanc et rouge), du moins cher au plus cher, et des tarifications Heures Creuses et Heures Pleines, soit au total 6 tarifs.

Le prix de l’abonnement et du KW/h selon le niveau de tarif :

1-tarifs-tempo-edf

3 couleurs réparties sur l’année :

  • 22 jours rouges entre le 1er nov et le 31 mars : jamais le week-end ,
  • 43 jours blancs entre le 1er sept et le 31 août : jamais le dimanche,
  • 300 jours bleus tout au long de l’année : tous les dimanches sont bleus.

Le déroulement d’une journée Tempo :

Une journée Tempo commence de 6 heures led matin jusqu’à 6 heures le lendemain matin.
Quelle que soit la couleur du jour, un tarif Heures Creuses est appliqué entre 22h et 6h du matin.
Voici un exemple de journée Tempo :
 2-tableau_tempo

1.3 – Présentation du compteur électronique

Je dispose d’un compteur SAGEM S10C3.

La notice d’utilisation et programmation client est téléchargeable ici.

31-compteur-sagem-s10c1

Le bornier supérieur est plombé et réservé à EDF.

Par contre, le bornier inférieur est accessible au client.

Circuit de sortie C1-C2 :

Le relais C1-C2 est commandé en fonction des ordres TCC reçus sur le réseau de distribution, et il peut être utilisé pour gérer la commande d’appareils électriques ECS (Eau Chaude Sanitaire).

Cette sortie à contact sec C1-C2 (à gauche) est programmable par le client pour s’adapter à ses besoins :

4-programmation-c1c2-compteur-electronique-sagem-s10c3

Circuit de sortie C3-C4 :

Le relais C3-C4 est également commandé en fonction des ordres TCC reçus sur le réseau de distribution.

Il est prévu pour être utilisé en pilotage d’appareils de chauffage électrique.

Cette sortie à contact sec C3-C4 (au centre) est programmable par le client pour s’adapter à ses besoins :

5-programmation-c3c4-compteur-electronique-sagem-s10c3

Sortie de Téléinformation client I1-I2 :

La téléinformation du client est réalisée par une liaison série (modulée en ASK à 50 kHz) qui diffuse en continu les informations contenues dans les mémoires du compteur.
Les informations doivent être transmises sur un câble 1 paire à écran, et peuvent être utilisées par un dispositif de gestion de l’énergie.

Les bornes de cette liaison sont isolées galvaniquement des circuits internes du compteur, donc pas de danger.

Voici comment est codée la trame de téléinformation :

6-codage-teleinformation

2 – Récupération de l’info JOUR ROUGE du compteur 

Pour récupérer cette information  on a 2 possibilités. Elle peut être présente sur C3C4 par programmation adéquat, et elle est disponible sur la sortie I1I2 dans la trame de la téléinformation.

2.1 – par la sortie téléinfo et l’ECO-DEVICES

Comme je possède un ECO-DEVICES, ma première idée était que la Zibase récupère l’info par ce biais.

Un bon article à ce sujet est disponible ici : Test de L’Eco-Devices

pour récupérer les informations, il suffit d’ouvrir le navigateur internet de taper cette adresse:

http://IP_ECO-DEVICES/api/xdevices.json?cmd=10

On aura le résultat suivant :

{« product »: »Eco-devices »,

« T1_PTEC »: »HPJB », »   <— Heure Pleine – Jour Bleu

T1_PAPP »:2320,

« T1_BBRHCJB »:46563174,

« T1_BBRHPJB »:65224890,

« T1_BBRHCJW »:8319397,

« T1_BBRHPJW »:11965612,

« T1_BBRHCJR »:2927590,

« T1_BBRHPJR »:3576960,

« T1_DEMAIN »: »—-« ,

« T2_PTEC »: »HPJB »

, »T2_PAPP »:2320,

« T2_BBRHCJB »:46563174,

« T2_BBRHPJB »:65224890,

« T2_BBRHCJW »:8319397,

« T2_BBRHPJW »:11965612,

« T2_BBRHCJR »:2927590,

« T2_BBRHPJR »:3576960,

« T2_DEMAIN »: »—-« ,

« INDEX_C1 »:0,

« INDEX_C2 »:0}

L’information qui nous intéresse est T1_PTEC.

Elle peut prendre les valeurs :

  • HCJB : Heures Creuses Jour Bleu
  • HPJB : Heures Pleines Jour Bleu
  • HCJW : Heures Creuses Jour Blanc
  • HPJW : Heures Pleines Jour Blanc
  • HCJR : Heures Creuses Jour Rouge
  • HPJR : Heures Pleines Jour Rouge

J’étais bien décidé à exploiter cette information, et pour cela j’avais créé ce scénario « GET JOUR EDF » :

7-get-jour-edf-1

8-get-jour-edf-2

La commande était bien exécutée, mais malheureusement en retour, la Zibase ne sait récupérer que le premier caractère de la chaîne, le « H », seul caractère qui malheureusement ne change jamais.

Il me fallait donc exploiter l’autre solution.

2.2 – par la sortie contact sec programmable C3-C4 et un IPX800v3

J’ai déjà évoqué la solution retenue dans l’article de mon installation domotique.

J’ai programmé C3-C4 pour avoir sur contact sec l’état JOUR ROUGE.

Lors des jours rouges, le contact sec C3-C4 se ferme.

Au début, lorsque je n’avais pas encore d’IPX800v3, j’avais connecté une entrée filaire d’un contact d’ouverture radio à C3-C4.

L’information était reçue par la Zibase via 2 périphériques et ensuite 2 scénarios « EV JOUR ROUGE ON » et « EV JOUR ROUGE OFF »  mettaient à jour la variable « Jour Rouge ».

Depuis, ce contact d’ouverture radio a été remplacé avantageusement par une entrée de l’IPX800v3.

Ainsi, le contact C3-C4 est connecté à une entrée de l’IPX qui envoie à la Zibase une notification push lors de chaque changement d’état.

3 – Programmation

Avant tout, un paramétrage est à faire dans l’IPX800v3 pour qu’il puisse prévenir la Zibase à chaque changement d’état de l’information « JOUR ROUGE ».

Ensuite, il faut programmer la Zibase, pour qu’elle gère les évènements « JOUR ROUGE », le thermostat, et les commandes de l’actionneur fil pilote en fonction du thermostat et de l’état « JOUR ROUGE ».

3.1 – Programmation de l’IPX800v3

9-config-ipx800-input-6-jour-rouge

J’assigne la sortie 6 en copie de l’état de l »entrée, mais ce n’est pas obligatoire dans l’immédiat. Je l’ai fait en prévision de mettre un voyant « JOUR ROUGE » dans mon tableau.

Ensuite, en cliquant sur « Push settings », je vais pouvoir configurer le pilotage de la Zibase :

10-config-ipx800-notif-push-input-6-jour-rouge

  • Je renseigne le champ « Serveur » avec l’IP de la Zibase, et celui du port de la Zibase qui est « 80 »,
  • je rentre aussi mon login Zibase (nom d’utilisateur), et je coche « Enable ».
  • Le push 1 est envoyé lorsque l’entrée est reliée au GND, donc lorsque le contact sec connecté est en cour-circuit. Je dois donc commander le scénario « EV JOUR ROUGE ON » qui est le n°12. Il faut donc saisir l’instruction suivante pour commander ce scénario : /cgi-bin/domo.cgi?cmd=LM%2012
  • Le push 2 est envoyé lorsque l’entrée est en l’air, donc lorsque le contact sec connecté est ouvert. Je dois donc commander le scénario « EV JOUR ROUGE OFF » qui est le n°13. Il faut donc saisir l’instruction suivante pour commander ce scénario : /cgi-bin/domo.cgi?cmd=LM%2013

3.2 – Programmation de la Zibase

Périphérique virtuel « JOUR ROUGE » :

J’ai d’abord créé un périphérique virtuel « JOUR ROUGE » de type détecteur. Il  me permettra de renseigner l’interface Zodianet :

11-peripherique-jour-rouge

Scénario « EV JOUR ROUGE ON » :

Ensuite j’ai créé le scénario « EV JOUR ROUGE ON ».

  • Je coche « positionner visuellement une alerte à l’état actif » pour le périphérique « JOUR ROUGE »,
  • Ensuite je teste V32 (variable d’état « jour rouge » qui est égale à 1 en jours rouges) et on sort si j’étais déjà en jour rouge. Normalement ça ne devrait pas arriver, puisqu’un évènement « jour rouge ON » ne peut être suivi que d’un évènement « jour rouge OFF ». On verra pourquoi juste après. Si la variable est déjà positionnée, on sort du scénario,
  • Ensuite je positionne la variable V32 à 1 pour signaler le début de jour rouge,
  • Et enfin, j’envoie une notification push « début jour rouge » à mon smartphone.

12-ev-jour-rouge-on-1

13-ev-jour-rouge-on-2

Scénario « EV JOUR ROUGE OFF » :

Ensuite j’ai créé le scénario « EV JOUR ROUGE OFF »

  • Je coche « positionner visuellement une alerte à l’état inactif » pour le périphérique « JOUR ROUGE »,
  • Ensuite je teste V32 et pour quitter le scénario si on est déjà en jour non rouge. Si la variable était déjà positionnée, on sort du scénario,
  • Ensuite je positionne la variable V32 à 0 pour signaler la fin de jour rouge,
  • Et enfin, j’envoie une notification push « fin  jour rouge » à mon smartphone.

14-ev-jour-rouge-off-1

15-ev-jour-rouge-off-2

On a presque tout ce qu’il faut.

Je dis presque, parce qu’initialement, le système tournait comme ça, mais la Zibase n’a pas reçu certaines notifications push qui lançent les scénarios « EV JOUR ROUGE ON » et « EV JOUR ROUGE OFF ».

C’était très problématique car :

  • si la Zibase ratais le début d’un jour rouge, les convecteurs continuaient de chauffer, donc ça aurait pu me couter très cher.
  • si la Zibase ratais la fin d’un jour rouge, les convecteurs ne se remettaient pas en chauffe, donc il faisait froid !

Pour régler ce problème, j’ai donc créé un pooling… Mais qu’est-ce donc ?

C’est une interrogation régulière.

Dans le cas présent, La Zibase va demander à intervalle régulier la valeur de l’entrée 6 « JOUR ROUGE » de l’IPX800.

Le POOLING JOUR ROUGE:

  • il est lancé toutes les 300s. L’intervalle entre 2 pooling n’a pas besoin d’être plus court car on n’est pas à 5mn dans la gestion du chauffage.
  • V45 est la variable temporaire utilisée pour les requêtes HTTP.
  • Dans un premier temps, je la configure à « /btn5 », ce qui correspond à l’entrée 6 de l’IPX800v3 (les entrées sont btn0 à btn7).
  • Ensuite la Zibase envoie une commande HTTP à l’IPX800v3 pour demander la valeur de son entrée 6 et elle la stocke dans V45.
  • Voici maintenant le savant calcul : Lorsque la Zibase demande la valeur d’une entrée de l’IPX800v3, il lui répond « u » (UP)si l’entrée est en l’air, ou « d » (DOWN) si elle est reliée au GND (commun). Selon la table ASCII, « d » vaut 100 en décimal et « u » vaut 117.
    • Si on reçoit « d » (ou 100) dans V45, la formule ((V45-100)/17)XOR1 vaut 1
    • Si on reçoit « u » (ou 117) dans V45, la formule ((V45-100)/17)XOR1 vaut 0
    • Cette valeur est sauvegardée en V32 (notre variable qui reflète l’état du jour rouge)
  • Ensuite, selon la valeur de V32, la Zibase lance le scénario « EV JOUR ROUGE ON » ou « EV JOUR ROUGE OFF »

16-pooling-jour-rouge-1

17-pooling-jour-rouge-2

Voilà, maintenant on a tout ce qu’il faut.

En résumé,  lorsque le contact sec C3-C4, qui programmé pour donner l’état JOUR ROUGE, change d’état, l’IPX800v3 envoie une notification push à la Zibase. Celle-ci lance le scénario « EV JOUR ROUGE ON » ou « EV JOUR ROUGE OFF » selon le cas, et la variable V32 sera mise à jour, stockant l’état « JOUR ROUGE ».

Toutes les 300s, la Zibase va effectuer un pooling pour questionner l’IPX800v3, afin qu’il lui donne l’état de son entrée « JOUR ROUGE ».

La variable V32 est alors mise à jour et la Zibase exécute le scénario « EV JOUR ROUGE ON » ou « EV JOUR ROUGE OFF » en fonction de la valeur de V32

Thermostat modifié selon « JOUR ROUGE »

Dans l’article précédent, j’avais expliqué le fonctionnement du super-thermostat Zibase.

Je ne reviendrai pas sur mon adaptation en gestion séquentielle, mais juste sur le scénario « THERMOSTAT ».

J’avais fait exprès de supprimer une partie du scénario dans cet article, puisqu’elle est expliquée maintenant.

Le voici donc au complet :

18-thermostat-rdc-avec-gestion-jour-rouge-1

19-thermostat-rdc-avec-gestion-jour-rouge-2

Quels sont les changements ?

Juste après le thermostat, je viens tester la valeur de V32.

  • Si V32 >0 (JOUR ROUGE) : V13 devient égale à -32762 (valeur du mode HORS GEL)
  • Si V32=0 (JOUR NON ROUGE): V13 ne change pas.

On retrouve également le stockage en V51 de V13, pour la gestion ultérieure d’une des  LEDs de face avant.

Donc c’est gagné, si nous sommes en jour rouge, les actionneurs fil pilote recevrons la commande HORS GEL.

Bien entendu, il est toujours possible de forcer à la demande un mode particulier (JOUR, NUIT, JOUR/NUIT TEMPORAIRE, HORS GEL ou STOP).

4 – Conclusion

Même si j’aurais préféré récupérer cette information via la téléinformation et l’ECO-DEVICES, La solution est parfaitement fonctionnelle.

Ceci dit, j’ai mis en oeuvre cette solution avant d’acquérir une box FIBARO HC2.

Depuis, j’ai créé dans le HC2 un périphérique virtuel « ECO-DEVICES » qui récupère régulièrement (donc en pooling) dans des variables toutes les informations de la téléinformation.

J’ai donc les chaines de caractères complètes.

Le HC2 pourrait donc envoyer une commande à la Zibase pour qu’elle lance le scénario « EV JOUR ROUGE ON » ou « EV JOUR ROUGE OFF ».

Ceci pourrait faire l’objet d’un prochain article.

5 – Pour aller plus loin

Cette application pourrait être détournée en remplaçant l’information « JOUR ROUGE » par un autre évènement.

Quelques exemples :

Leave a Reply