[Store]Script : Météo du jour

Discussion et échanges de scripts pour la box eedomus

[Store]Script : Météo du jour

Messagepar merguez07 » 05 Oct 2017 17:29

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
Dernière édition par merguez07 le 14 Nov 2017 19:01, édité 1 fois.
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar stef31 » 05 Oct 2017 18:04

C'est super de voir des personnes s'impliquaient dans le développement et le partage de script. :)
EEDOMUS V2 - RFX avec RTS
En attente de l'EEDOMUS V4
stef31
 
Messages : 2947
Inscription : 20 Août 2013
Localisation : 31

Re: Script : Météo du jour

Messagepar merguez07 » 06 Oct 2017 11:20

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar influman » 06 Oct 2017 11:34

restitue un arrondi dans ton xpath : round(//ventmax)
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script : Météo du jour

Messagepar merguez07 » 06 Oct 2017 11:47

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar annarol » 06 Oct 2017 18:12

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
EEDOMUS V2 - 4 ZXT-120 - motion sensor fgms-001 - 2 QUBINO "Flush 2 relays" V2 ZMNHBD1 - 2 QUBINO "Flush Dimmer V2" ZMNHDD1- NEO COOLCAM NAS-PD01Z - GC00AM NAS - DS01Z Door Window Sensor
annarol
 
Messages : 49
Inscription : 09 Déc 2015

Re: Script : Météo du jour

Messagepar influman » 06 Oct 2017 18:33

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.
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script : Météo du jour

Messagepar merguez07 » 06 Oct 2017 19:15

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar annarol » 07 Oct 2017 10:08

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
EEDOMUS V2 - 4 ZXT-120 - motion sensor fgms-001 - 2 QUBINO "Flush 2 relays" V2 ZMNHBD1 - 2 QUBINO "Flush Dimmer V2" ZMNHDD1- NEO COOLCAM NAS-PD01Z - GC00AM NAS - DS01Z Door Window Sensor
annarol
 
Messages : 49
Inscription : 09 Déc 2015

Re: Script : Météo du jour

Messagepar influman » 07 Oct 2017 12:06

je sens merguez qu'il va falloir en faire un plugin...
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script : Météo du jour

Messagepar merguez07 » 07 Oct 2017 12:42

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar annarol » 07 Oct 2017 13:59

merguez je viens de t'envoyer un Mp

annarol
EEDOMUS V2 - 4 ZXT-120 - motion sensor fgms-001 - 2 QUBINO "Flush 2 relays" V2 ZMNHBD1 - 2 QUBINO "Flush Dimmer V2" ZMNHDD1- NEO COOLCAM NAS-PD01Z - GC00AM NAS - DS01Z Door Window Sensor
annarol
 
Messages : 49
Inscription : 09 Déc 2015

Re: Script : Météo du jour

Messagepar merguez07 » 07 Oct 2017 16:32

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

annarol


idem.
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar eedomusbox » 10 Oct 2017 09:39

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).
eedomusbox
 
Messages : 894
Inscription : 12 Sep 2014
Localisation : 69

Re: Script : Météo du jour

Messagepar merguez07 » 10 Oct 2017 09:43

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar influman » 10 Oct 2017 09:48

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
influman
 
Messages : 2324
Inscription : 30 Oct 2013

Re: Script : Météo du jour

Messagepar merguez07 » 10 Oct 2017 19:30

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

Cordialement
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar merguez07 » 11 Oct 2017 08:54

Bonjour,
Le script est dans le store :P
N'hésitez pas à me faire des retours
Cordialement
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar merguez07 » 11 Oct 2017 09:07

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
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Script : Météo du jour

Messagepar Kimax57 » 20 Oct 2017 08:34

Dans l’application iPhone ou iPad je vois aucune valeur pourtant sur le portail toutes les valeurs fonctionne et son visible.
Kimax57
 
Messages : 64
Inscription : 15 Août 2017

Suivant

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 29 invité(s)