Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Comment récupérer l'information Tempo EDF sur la Zibase ?

Envoyer Imprimer PDF
Note des utilisateurs: / 38
MauvaisTrès bien 

Cet article (et les 2 prochains que je prépare) s'adressent à ceux qui ont l'option Tempo d'EDF, l'option Tempo est intéressante car elle permet de bénéficier d'un tarif de l'électricité assez bas en période Bleu, revers de la médaille le prix du KW devient plus cher en période Rouge (soit 22 jours par an), en période Blanc (43 jours par an) le prix du KW reste similaire aux autres contrats que peut proposer EDF…

Vous pouvez voir la comparaison d'un abonnement Tempo et HP/HP (tarif Bleu) chez EDF …

On remarque bien les 3 couleurs avec les 2 tarifs (en heures creuses et pleines) ce qui nous donne 6 prix différents pour l'option Tempo. Pas besoin de faire de grand discours, un simple coup d'oeil vous permet de voir qu'il vaut mieux faire tourner sa machine à laver (ou son lave vaisselle) en Heures Pleines Couleur Bleue qu'en Heures Creuses Couleur Rouge …

Une journée dite "Tempo" se décompose de cette façon :

Comme bon nombre d'entre vous, beaucoup de mes appareils sont commandés via une box domotique, un exemple concret et assez parlant … le chauffe-eau (même s'il est solaire, j'ai besoin de l'aider lorsque les jours ne sont pas trop ensoleillés et/ou lorsque le soleil ne "frappe" pas assez fort), et on s'aperçoit vite qu'il est plus économique de déclencher la "chauffe" en Heures Pleines Couleur Bleue qu'en Heures Creuses Couleur Rouge …

Pour ce faire, il me faut récupérer la couleur du jour mais aussi la couleur du lendemain (qui est accessible via le site EDF entre 16h00 et 17h30), j'ai cherché plusieurs solutions que je vais vous proposer en 3 articles, "Tempo via un script PHP", "Tempo via javascript (nécessite la Zibase multi)" et "Tempo via Google Script". Vous n'aurez plus qu'à choisir !

Voyons ensemble comment récupérer la couleur du jour et celle du lendemain via un script PHP sur Zibase (tous modèles).

Je ne vais pas m'étendre sur le fonctionnement proprement dit du ou des scénarios qui déclenchent le chauffe eau mais plutôt pourquoi il se déclenche à 4h00 ou à 6h10 du matin … pour cela je vous propose de voir comment envoyer les différents infos à la Zibase et mise à jour de certaines variables.



Les Variables :

Rappelez vous, il me faut la couleur du jour, pour cela j'affecte à la Variable V18 la valeur 0 si je suis en Bleu, 1 si je suis en Blanc et 2 si je suis en Rouge . Pour la couleur du lendemain, c'est un peu particulier (dans mon cas j'ai besoin de 3 variables ) :

- V19 est égal à 1 si demain est un jour Bleu

- V20 est égal à 1 si demain est un jour Blanc

- V21 est égal à 1 si demain est un jour Rouge

 

Si V19=1 les autres variables V20 et V21 seront OBLIGATOIREMENT égal à 0.

Je ne vais pas vous expliquer pourquoi j'ai absolument besoin de ces 3 variables cela ne vous apporterez rien … mais sachez que pour vous, vous pouvez utiliser qu'une seule variable qui ressemblera à V18 comme ceci :

V19 la valeur 0 si je suis en Bleu, 1 si je suis en Blanc et 2 si je suis en Rouge … mais vous pouvez tout à fait suivre mon exemple (utilisation de 2 variables de plus V20 et V21).



Sur ma Zibase :

J'appelle le script "Tempo.php" toutes 5 minutes entre 16h00 et 18h00 (le script est placé sur mon serveur web)

C'est ce script qui va mettre à jour les différentes variables "SI" il trouve la bonne info …

En fonction de l'info récupérée, les variables se mettent à jour, si aucune info n'est trouvée (=couleur non déterminée) les variables sont égales à "-99".

En fonction de la couleur du lendemain, la Zibase m'envoie une notification "Push" sur mon portable (ça me prévient donc de la couleur du lendemain mais aussi que le scénario s'est bien déroulé et a bien mis a jour les variables) comme ceci (pour un jour Bleu par exemple) :

 

Ensuite j'ai UN SEUL scénario qui va se déclencher en fonction de la valeur des variables (donc de la couleur du jour et celle du lendemain), l'heure de déclenchement dépendra aussi de mes variables … nous allons voir ensemble 2 exemples.

 

1er Exemple : la couleur du jour est Bleue et celle du lendemain est Blanc

Mes variables sont donc celles ci : V18=0, V19 =0, V20=1, V21=0, si on reprend le tableau (avec les tarifs du KW) le prix du Kw en Heures Creuses Couleur Bleue est inférieur à celui des Heures Pleines Couleur Blanc donc mon chauffe eau DOIT CHAUFFER avant 6h00 demain matin (pour rappel à partir de 6h00 fin des Heures Creuses et je bascule vers une nouvelle journée Tempo soit ici Blanc Heures Pleines)

Pour cela c'est bien ce scénario qui se déclenchera, les critères sur la Zibase sont bons (=variable) et donc le scénario se déclenchera bien à 4h00 …

Libre à vous de régler le temps de chauffe … (1h00, 2h00 … et donc d'avancer l'heure du déclenchement pour ne pas dépasser 6H00 et vous retrouvez à chauffer en Heure Pleine Blanc !)

 

2éme Exemple : la couleur du jour est Rouge et celle du lendemain est Blanc

Mes variables sont donc celles ci : V18=2, V19 =0, V20=1, V21=0, si on reprend le tableau (avec les tarifs du KW) le prix du Kw en Heures pleines Couleur  Blanc est inférieur à celui des Heures Creuses Couleur Rouge donc mon chauffe eau DOIT CHAUFFER après 6h00 demain matin (pour rappel à partir de 6h00 fin des heures creuses et je bascule vers une nouvelle journée Tempo soit ici Blanc Heures Pleines)

Pour cela c'est bien ce scénario qui se déclenchera, les critères sur la Zibase sont bons (=variable) et donc le scénario se déclenchera bien à 6h10 …

Je prends une marge de 10 minutes, pour être sur que je suis bien dans la période choisie … donc 6H10 et non pas 6H00 !



Le script Tempo.php qu'il faut utiliser :

<?php
//Script php : récupération info Tempo - quiquoi - touteladomotique.com
date_default_timezone_set('Europe/Paris');
//url tempo
$URL_tempo = "http://particuliers.edf.com/gestion-de-mon-contrat/options-tempo-et-ejp/option-tempo/la-couleur-du-jour-2585.html";

//on cherche l'info si elle est trouvée on met à jour les variables sur Zibase sinon on envoie "-99"
$page = file_get_contents($URL_tempo);
preg_match_all("/.*<span class=\"period\">(.*)<\/span>.*/", $page, $matches);
$tempo_aujourdhui = str_replace(utf8_decode("non déterminé"),"nd",strtolower(trim(utf8_decode($matches[1][1]))));
$tempo_demain = str_replace(utf8_decode("non déterminé"),"nd",strtolower(trim(utf8_decode($matches[1][4]))));

//Bool aujourd'hui
if ($tempo_aujourdhui === "bleu")
$bool = 0;
elseif ($tempo_aujourdhui === "blanc")
$bool = 1;
elseif ($tempo_aujourdhui === "rouge")
$bool = 2;
else
$bool = "nd";

//Bool demain        
if ($tempo_demain === "bleu")

{$boolBleu = "1";
$boolBlanc = "0";
$boolRouge = "0";}


elseif ($tempo_demain === "blanc")

{$boolBleu = "0";
$boolBlanc = "1";
$boolRouge = "0";}

elseif ($tempo_demain === "rouge")

{$boolBleu = "0";
$boolBlanc = "0";
$boolRouge = "1";}

elseif ($tempo_demain === "nd")

{$boolBleu = "-99";
$boolBlanc = "-99";
$boolRouge = "-99";}
//aujourd'hui variable V18 = 0 , 1 ou 2
$ch = curl_init("http://zibase.net/m/zapi_remote_zibase_set.php?device=VOTREDEVICEZIBASE&token=VOTRETOKENZIBASE&action=rowzibasecommand&param1=5&param2=".$bool."&param3=1&param4=18");
curl_exec($ch);

//demain
$chV29 = curl_init("http://zibase.net/m/zapi_remote_zibase_set.php?device=VOTREDEVICEZIBASE&token=VOTRETOKENZIBASE&action=rowzibasecommand&param1=5&param2=".$boolBleu."&param3=1&param4=19");
curl_exec($chV29);

$chV30 = curl_init("http://zibase.net/m/zapi_remote_zibase_set.php?device=VOTREDEVICEZIBASE&token=VOTRETOKENZIBASE&action=rowzibasecommand&param1=5&param2=".$boolBlanc."&param3=1&param4=20");
curl_exec($chV30);

$chV31 = curl_init("http://zibase.net/m/zapi_remote_zibase_set.php?device=VOTREDEVICEZIBASE&token=VOTRETOKENZIBASE&action=rowzibasecommand&param1=5&param2=".$boolRouge."&param3=1&param4=21");
curl_exec($chV31);

?>

 

En Conclusion

Avec cette article, vous êtes prêt à déclencher vos scénarios en fonction des jours Tempo, en fonction des différentes tarifications … et ainsi faire des économies.

Dans le prochain article, nous verrons comment faire via la Zibase multi, donc en javascript, le gros avantage (comme avec google script) c'est que vous n'avez pas besoin de serveur …


Vous n'avez pas compris un point ? Vous vous posez une question ? Vous pouvez nous contacter via le bouton Assistance sur votre gauche. N'hésitez pas à demander un rendez-vous téléphonique avec Domotics.

Vous avez aimé cet article ? Vous pouvez le partager sur vos réseaux sociaux pour soutenir son auteur et l'encourager à écrire de nouveaux articles ...

 

Cet article vous est proposé par QuiQuoi: QuiQuoi est électromécanicien de formation. Il réside dans le sud de la France. Il est développeur iOS (IPhone/IPad). Il rédige aussi des articles pour le site SOSiPhone.com. Il souhaite améliorer la domotique avec des applications pour tous.

Mise à jour le Lundi, 19 Janvier 2015 22:46  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Newsletter ?

Bon Plan

Instagram

Publicité



Connexion