Récupérer l`info TEMPO en javascript sur Zibase Multi

Transcription

Récupérer l`info TEMPO en javascript sur Zibase Multi
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
Comme dans l'article précédent, le but est de récupérer la couleur du jour ainsi que celle du
lendemain de l'option TEMPO (EDF), ceci pour y déclencher certains scénarios et aussi faire
des économies d'énergie.
{jumi [*34]} {jumi [*34]}
Dans le dernier article, nous avons vu comment récupérer ces infos TEMPO. Le seul "hic" :
Disposer d'un serveur web afin d'y héberger le script PHP. Nous allons voir ensemble qu'il est
possible de se passer de ce script PHP à condition d'avoir une Zibase Multi ( pour rappel, la
Zibase Multi est une box domotique sous forme d’application sur un terminal Android ).
Il est possible d’exécuter des scripts JavaScript en local ! Oui c'est à dire sans avoir besoin d'un
serveur externe … à partir de là, il devrait être assez simple de récupérer les 2 infos dont j'ai
besoin pour mes scénarios : la couleur du jour et celle de demain
1/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
Comment faire ?
La réponse est aussi simple que la mise en place du script. A une heure donnée, la Zibase
Multi, va aller chercher l'info sur la page web d'EDF.
C'est trouvé ?
oui : je vais mettre à jour les variables et/ou lancer les scénarios …
non : je reviens plus tard …
Sur la Zibase Multi :
Pas grand chose à faire, installer le script JavaScript suivant …
network.httpCall("http://particuliers.edf.com/gestion-de-mon-contrat/options-tarifaires/option-tem
po/la-couleur-du-jour-2585.html","","func1","GET","div.TempoDay:contains(Tempo
d'aujourd'hui)//span.period//ITEMS_BODY:RET","HTML", "");
function func1 (resp,val) {
resp = resp.toLowerCase(); // conversion minuscule
// android.toast("réponse="+resp+" LEN="+resp.length);
if (resp.indexOf("blanc")>-1) // recherche de la chaine "blanc"
{
android.toast("action blanche"); // action associée à blanc
// autres actions...
zibase.launch("Blanc");
2/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
}
else
if (resp.indexOf("bleu")>-1)
{
android.toast("action bleu");
// autres actions...
zibase.launch("Bleu");
}
else
if (resp.indexOf("rouge")>-1)
{
android.toast("action rouge");
// autres actions...
zibase.launch("Rouge");
}
else
android.toast("couleur non reconnue="+resp);
}
Pour cela, il suffit de connecter votre tablette à votre ordinateur, d'y déposer le script (le chemin
est : /storage/emulated/0/data/data/zibase/userscripts/) et de renseigner les champs comme sur
cette photo.
3/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
Petite explication : le script va chercher dans la page web (source) si la couleur du jour est bleu,
blanc ou rouge. Si l'une des couleurs est trouvée, il lance le scénario associé :
zibase.launch("Bleu") par exemple, c'est donc ce script qui va mettre à jour les différentes
variables dont j'ai besoin pour mes scénarios, libre à vous de l'utiliser pour autre chose …
Le scénario Bleu (lancé si la couleur de demain est bleu !) m'envoie une notification push et met
à jour mes différentes variables donc dans ce cas là V18= 0 ( pour rappel : pour cela j'affecte à
la Variable V18 la valeur 0 si je suis en Bleu, 1 si je suis en Bleu et 2 si je suis en Rouge ).
Rappelez-vous, j'ai besoin de la couleur du jour mais aussi celle de demain, je fais donc un
4/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
second scénario en remplaçant "aujourd'hui" par "demain" … comme ceci :
network.httpCall("http://particuliers.edf.com/gestion-de-mon-contrat/options-tarifaires/option-tem
po/la-couleur-du-jour-2585.html","","func1","GET","div.TempoDay:contains(Tempo de
demain)//span.period//ITEMS_BODY:RET","HTML", "");
Qui, bien entendu, en fonction de la couleur trouvée déclenchera les scénarios associés (et
donc les variables …) si la couleur est Rouge, le scénario "Rouge" est lancé …
Avec la mise à jour de mes 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
donc dans ce cas là, V21=1 les autres variables V19 et V20 seront OBLIGATOIREMENT égal à
0.
5/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
De ce fait, il vaut mieux déclencher mon chauffe eau pendant les heures creuses bleu plutôt
qu'en heure pleine rouge donc :
6/7
Récupérer l'info TEMPO en javascript sur Zibase Multi
Écrit par QuiQuoi
Jeudi, 29 Janvier 2015 06:00 - Mis à jour Mercredi, 28 Janvier 2015 23:45
Avec
votre
en
récupérer
…
avec
local
mes
Zibase,
un
(nécessite
ces
2script
derniers
soit
infos,
via
une
sans
articles,
unZibase
script
…
avoir
vous
PHP
Multi).
besoin
(nécessite
Dans
d'un
maintenant
serveur
le prochain
un serveur
externe
récupérer
article,
externe),
et utilisable
nous
les
verrons
informations
via
surfaire
toutes
comment
script
lesJavaScript
Zibases
pour
informations
Si
voulez
ici
en
( Google
savoir
plus
sur
lepouvez
fonctionnement
de langage,
la
Multi
etcomment
le soit
Java,
jeun
vous
laisse
ces
http://www.zodianet.com/toolbox-zibase/zibase-multi-javascript.html
) lire
Onvous
instructif…
vous
explique
pourquoi
avoir
choisi
le java
comme
… Tempo
très
Merci
à Jean-Pierre
...
[*33]}
{jumi
[*36]}
7/7