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