Forum Lifedomus

Version complète : JS pour récupérer température api wunderground
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3
Bonjour,

Je souhaiterais, par exemple, récupérer la valeur de la température extérieur en utilisant cette API: http://api.wunderground.com/api/"cléAPI"/conditions/q/de/noyal-sur-vilaine.xml
Je me suis inspiré de ce post:http://www.lifedomus.com/forum/showthrea...egon/page2.
Mais, je bloque, mes connaissances en javascript sont quasi nul. J'ai réussi à affiche l'ensemble du XML dans un widget, mais je n'arrive pas a sélectionner la valeur qui se trouve entre le deux <temp_c>: "<temp_c>25.8</temp_c> "

Merci d'avance pour votre aide.[Image: icon11.png]
Bonsoir


D'abord, perso je préfère privilégier le json, plus facile à parser.

dans ton cas, utiliser l'adresse : http://api.wunderground.com/api/9cb1abd7...laine.json

Créer un connecteur ip avec l'adresse : http://api.wunderground.com

Insérer le js suivant dans ton connecteur pour récupérer la température :

Code :
var retour = trame;
    var temp_c = retour.indexOf('"temp_c"');      
if (temp_c!=-1) {                                                      
        var cherche = retour.substr(temp_c);                                
        if (temp_c!=-1) {                                                    
            temp_c = cherche.indexOf(',');                                  
            if (temp_c!=-1) {
                 cherche = cherche.substring(9,temp_c);                          
                 var temp_c = cherche;                                        
            }
        }
    }

Ensuite créer un équipement avec une commande (refresh du json) et une variable (temp_c)

Code :
command="/api/9cb1abd7e38ad18f/conditions/q/de/noyal-sur-vilaine.json"

[ATTACH=CONFIG]743[/ATTACH]

C'est tout, ensuite à toi de voir si tu veux utiliser un automate pour faire régulièrement un "refresh" ou alors un bouton sur DS qui actualisera la température.

J’espère avoir été clair :)

[ATTACH=CONFIG]744[/ATTACH][ATTACH=CONFIG]745[/ATTACH]

Philippe
Bonjour Philippe, merci pour cet exemple clair.

J'ai testé, mais il manque "/api/9cb1abd7e38ad18f/conditions/q/de/noyal-sur-vilaine.json" dans la trame d'initialisation du connecteur.

A+

jean-Thierry
Bonjour Jean-Thierry

Pas obligatoire, je ne mets rien en trame d'initialisation et ça fonctionne correctement.
Tu veux dire que tu n'arrive pas à activer ce connecteur sans trame d'init ?

Philippe
Peux tu me dire si c'est bien un connecteur Universel HTTP???
Qu'utilises-tu comme équipement???? un équipement générique Universel????
quand je créé mon connecteur, il semble se connecter, par contre dans l'équipement, j'ai bien d'autres connecteurs déjà créés,
mais pas le connecteur de la température sur le site....
pourtant tes explications me semblent claires....
je ne vois pas ce que j'ai louppé...
par avance merci pour ton aide...
Jean-Louis
je n'avais rien mis dans la trame d'initialisation....
en la mettant j'ai un retour dans le listen
Je suis vraiment nul, le connecteur était bien présent mais pas visible sans descendre
dans le menu des choix de
connecteurs
mcp a écrit :Bonjour Jean-Thierry

Pas obligatoire, je ne mets rien en trame d'initialisation et ça fonctionne correctement.
Tu veux dire que tu n'arrive pas à activer ce connecteur sans trame d'init ?

Philippe

Exact, pas de retour si j'ai pas la trame d'init.

Jean-Thierry
J'ai bien le listener avec la temperature, mais dans le widjet, la temperature s'affiche vide..???
Finalement, j'ai un problème de rafraîchissement du Widget, il semble s'initialiser que lorsque l'on ferme le connecteur
et que je le reconnecte....
Pages : 1 2 3