Forum eedomus
http://forum.eedomus.fr/

[Store]Script : Météo du jour
http://forum.eedomus.fr/viewtopic.php?f=50&t=5963
Page 1 sur 12  Suivant »
Auteur:  merguez07 [ 05 Oct 2017 17:29 ]
Sujet du message:  [Store]Script : Météo du jour

Bonjour à tous,
20 jours que j'ai ma box Eedomus et il me tardait d'explorer les scripts.
Connaissant très mal le PHP et aussi la Box en elle même j'ai un peu galéré au début mais j'ai réussi à me pondre un périphérique virtuel qui me donne les paramètres prévisionnel de la météo du jour .
il suffit juste de s'incrire sur le site https://www.apixu.com pour obtenir la clé qui vous permettra de faire 5000 consultations par mois (environ 7 par heure).

il n'y a ensuite qu'à créer votre périphérique
mettre dans l'URL de la requête : http://localhost/script/?exec=meteodujour.php&key=[VAR1]
mettre dans le path la donnée souhaitée :
//ville --> Ville
//dateupdate --> Date de la mesure
//tmin --> Temperature mini
//tmax --> Temperature maxi
//tmoy --> Temperature moyenne
//condition --> Condition meteo
//ventmax --> Vitesse max du vent
//hygmoy --> Humidite moyenne
//vismoy --> Visibilite moyenne

ne pas oublier de mettre le script meteodujour.php

Code : Tout sélectionner
<?php
/*************************************************************************************
**
** Script Meteo du Jour pour eedomus
**
** Script qui permet de recuperer au format XML les parametres des previsions
** de la meteo du jour de l'endroit ou se trouve votre box Eedomus
**
** - Ville                (//ville),         texte
** - Date de la mesure       (//dateupdate),      texte
** - Temperature mini       (//tmin),         integer    °c
** - Temperature maxi       (//tmax),         integer    °c
** - Temperature moyenne    (//tmoy),         integer    °c
** - Condition meteo        (//condition),      texte
** - Vitesse max du vent    (//ventmax),      integer    Km/H
** - Humidite moyenne       (//hygmoy),         integer    %
** - Visibilite moyenne    (//vismoy).         integer       Km
**
**
*********
**
** L'URL est de la forme :
** http://localhost/script/?exec=meteodujour.php&key=[VAR1]
**
** La meteo du jour est recherchee sur le site https://www.apixu.com
** L'inscription sur le site (gratuite) est necessaire pour obtenir sa cle (Key).
** La clé nous autorise 5000 demande par mois (environ 7 par heure)
** Je conseille donc une scrutation par heure
** La meteo sera faite pour l'endroit ou se trouve la box Eedomus (detection
** automatique à partir de l'adresse IP Publique)
*
**
** [VAR1] : Doit contenir la clé
**
** XPath : doit contenir la donnée souhaitée (ex : //ville pour avoir la ville)
**
**
*********
**
** Evolution des versions :
**
** 2017-10-03 (Merguez07 & Mashuble) : V1.0 - Version initiale
**
**************************************************************************************/


// Recherche de l'adresse IP publique
    $url="http://ip-api.com/json";
    $jsonResponse = httpQuery($url);
    $content = sdk_json_decode($jsonResponse,true);
    $monippublique=$content[query];

// On récupère la clé
    $key = getArg('key');


// On recupere la meteo

    $url_meteo = "http://api.apixu.com/v1/forecast.json?key=" . $key . "&q=" . $monippublique . "%20&days=1";
    $jsonResponse = httpQuery($url_meteo);
    $content = sdk_json_decode($jsonResponse,true);

// conversion vent mph-->km/h
    $vent=round($content[forecast][forecastday][0][day][maxwind_mph]*1.60934,2);

// Generation du XML
    sdk_header('text/xml');
    $xml = '<?xml version="1.0" encoding="UTF-8"?>';
    $xml .= '<meteodujour>';
    $xml .= '<status>ok</status>';
    $xml .= '<ville>' . $content[location][name] . '</ville>';
    $xml .= '<dateupdate>' . $content[current][last_updated] . '</dateupdate>';
    $xml .= '<tmin>' . $content[forecast][forecastday][0][day][mintemp_c] . '</tmin>';
    $xml .= '<tmax>' . $content[forecast][forecastday][0][day][maxtemp_c] . '</tmax>';
    $xml .= '<tmoy>' . $content[forecast][forecastday][0][day][avgtemp_c] . '</tmoy>';
    $xml .= '<condition>' . $content[forecast][forecastday][0][day][condition][text] . '</condition>';
    $xml .= '<ventmax>' . $vent . '</ventmax>';
    $xml .= '<hygmoy>' . $content[forecast][forecastday][0][day][avghumidity] . '</hygmoy>';
    $xml .= '<vismoy>' . $content[forecast][forecastday][0][day][avgvis_km] . '</vismoy>';
    $xml .= '</meteodujour>';

echo $xml;

?>


Cordialement
La merguez Ardéchoise :P
Auteur:  stef31 [ 05 Oct 2017 18:04 ]
Sujet du message:  Re: Script : Météo du jour

C'est super de voir des personnes s'impliquaient dans le développement et le partage de script. :)
Auteur:  merguez07 [ 06 Oct 2017 11:20 ]
Sujet du message:  Re: Script : Météo du jour

Bonjour,
Suite à mon script j'aurais voulu que par exemple pour la donnée vent max, en fonction de la valeur du vent j'ai une icône différente.
Pour cela sur mon périph virtuel "vent" j'ai mis en type de données "liste de valeurs" et dans les valeurs possibles j'ai créé 12 icônes en fonction d'un seuil de vents (seuils déterminés suivant tableau Beaufort)


Alors ça marche si la valeur du vent est strictement égale à la valeur associé à l’icône. Par contre si la valeur du vent est entre deux seuils ça m'affiche une icône qui ne correspond pas à celui du seuil inférieur (ni supérieur d'ailleurs).

De plus si la valeur du vent est strictement égale à la valeur associé à l’icône cela m'affiche la description que j'ai mis à coté de l’icône ( ce qui est pas mal pour signifier qu'a partir de 50km/h c'est "grand frais") mais plus la vitesse du vent (ce qui est ballot)

Y a t-il une solution ?

Cordialement
Auteur:  influman [ 06 Oct 2017 11:34 ]
Sujet du message:  Re: Script : Météo du jour

restitue un arrondi dans ton xpath : round(//ventmax)
Auteur:  merguez07 [ 06 Oct 2017 11:47 ]
Sujet du message:  Re: Script : Météo du jour

Bonjour,

influman a écrit:restitue un arrondi dans ton xpath : round(//ventmax)


ça marche po. Le vent peut aller de 0 à 118km/h. j'ai pas l'intention de faire 118 icônes :P

cordialement
Auteur:  annarol [ 06 Oct 2017 18:12 ]
Sujet du message:  Re: Script : Météo du jour

bonjour a tous,

Merci merguez07 pour ce script qui m'interesse beaucoup. Par contre je suis plus que débutant voire une grosse buse dans la manipulation des scripts.
- J'ai importé votre script dans ma box ;
- j'ai créé un capteur HTML avec pour requête l'url du script ;
mais là faute de connaissances suffisantes je ne sais pas comment renseigner le champs XPATH.
Si vous pouviez me guider dans la création de ce peripherique je suis preneur;

Merci de votre aide

annarol
Auteur:  influman [ 06 Oct 2017 18:33 ]
Sujet du message:  Re: Script : Météo du jour

merguez07 a écrit:Bonjour,

influman a écrit:restitue un arrondi dans ton xpath : round(//ventmax)


ça marche po. Le vent peut aller de 0 à 118km/h. j'ai pas l'intention de faire 118 icônes :P

cordialement


Divise par 10, arrondi, et t'as 12 icones, et tu peux mettre la vitesse dans la description en face de l'icone.
Auteur:  merguez07 [ 06 Oct 2017 19:15 ]
Sujet du message:  Re: Script : Météo du jour

bonjour,

annarol a écrit:bonjour a tous,

...- J'ai importé votre script dans ma box ;
- j'ai créé un capteur HTML avec pour requête l'url du script ;
mais là faute de connaissances suffisantes je ne sais pas comment renseigner le champs XPATH...

annarol


et bien si par exemple tu veux la température mini tu tapes //tmin

Cordialement
Auteur:  annarol [ 07 Oct 2017 10:08 ]
Sujet du message:  Re: Script : Météo du jour

bonjour merguez07,

merci de me guider dans cette manip.
Dans la configuration du periph je peux tester le script et j'obiens le resultat suivant :

Résultat XPath :
ERREUR: Valeur lue vide

en mettant pour type de donnees texte et comme XPATH : //ville

merci a toi

annarol
Auteur:  influman [ 07 Oct 2017 12:06 ]
Sujet du message:  Re: Script : Météo du jour

je sens merguez qu'il va falloir en faire un plugin...
Auteur:  merguez07 [ 07 Oct 2017 12:42 ]
Sujet du message:  Re: Script : Météo du jour

bonjour,

annarol a écrit:
...Dans la configuration du periph je peux tester le script et j'obiens le resultat suivant :

Résultat XPath :
ERREUR: Valeur lue vide

en mettant pour type de donnees texte et comme XPATH : //ville...

annarol


Annarol peux tu me donner en MP ton ip Publique afin que je vérifie s'il s'agit d'un pb de mon script ou du site apixu.com

Cordialement

PS

influman a écrit:je sens merguez qu'il va falloir en faire un plugin...


j'en ai bien l'intention un fois que j'aurais fait le tour des bugs et que j'aurais compris comment le proposer au store :P
Auteur:  annarol [ 07 Oct 2017 13:59 ]
Sujet du message:  Re: Script : Météo du jour

merguez je viens de t'envoyer un Mp

annarol
Auteur:  merguez07 [ 07 Oct 2017 16:32 ]
Sujet du message:  Re: Script : Météo du jour

annarol a écrit:merguez je viens de t'envoyer un Mp

annarol


idem.
Auteur:  eedomusbox [ 10 Oct 2017 09:39 ]
Sujet du message:  Re: Script : Météo du jour

Bonjour,
j'ai publier ce script (que j'utilise depuis longtemps mais que je n'avais jamais publié) dans le store.
il devrait être dispo sous peu (Après validation/correction de la team).
Auteur:  merguez07 [ 10 Oct 2017 09:43 ]
Sujet du message:  Re: Script : Météo du jour

Houlà,

je sens qu'il va y avoir profusion de script météo. Je comptais proposer le mien mais j'attends de voir le tien dans le store. Inutile de faire des doublons

Cordialement
Auteur:  influman [ 10 Oct 2017 09:48 ]
Sujet du message:  Re: Script : Météo du jour

moi je pense que le tien merguez doit aussi aller dans le store.
Plus il y a de choix, mieux c'est. Les utilisateurs prendront à leur guise celui qui correspondant à leur besoin

Edit : je viens de voir que c'est un Apixu aussi. Tu peux toujours voir s'il répond à ton besoin ou si tu souhaites l'enrichir
Auteur:  merguez07 [ 10 Oct 2017 19:30 ]
Sujet du message:  Re: Script : Météo du jour

Bon,
j'ai écouté la sage parole d'influman et je viens d'envoyer mon premier script à l'équipe Eedomus. :P

Cordialement
Auteur:  merguez07 [ 11 Oct 2017 08:54 ]
Sujet du message:  Re: Script : Météo du jour

Bonjour,
Le script est dans le store :P
N'hésitez pas à me faire des retours
Cordialement
Auteur:  merguez07 [ 11 Oct 2017 09:07 ]
Sujet du message:  Re: Script : Météo du jour

je viens de voir à l'installation qu'il me met l’icône du script d'Eedomusbox. Certainement un pb de conflit de nom d’icône.
J'ai envoyé un mail à la Team
Auteur:  Kimax57 [ 20 Oct 2017 08:34 ]
Sujet du message:  Re: Script : Météo du jour

Dans l’application iPhone ou iPad je vois aucune valeur pourtant sur le portail toutes les valeurs fonctionne et son visible.
Page 1 sur 12 Le fuseau horaire est UTC+1 heure