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

Discussion et échanges de scripts pour la box eedomus

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

Messagepar merguez07 » 11 Sep 2019 08:57

pilot83 a écrit:Je viens de recevoir un mail comme quoi apixu devient weatherstack avec un changement d'api !
Est-ce que le plug in sera impacté ?


oui a partir du 14 octobre il faudra faire des changements. je verrais d'ici là ce qu'il y a lieu de faire, en attendant ça fonctionne
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar carpentier » 11 Sep 2019 09:53

bonjour a tous
je viens d installer l appli sur le store j ai créer mon compte apixu j ai mis mon api obtenue mais rien n est actualise ??? ai je fais une erreur :roll:
j ai cette erreur ERREUR: Valeur lue vide
merci d avance
carpentier
 
Messages : 134
Inscription : 11 Nov 2015

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

Messagepar merguez07 » 11 Sep 2019 10:24

carpentier a écrit:je viens d installer l appli sur le store j ai créer mon compte apixu j ai mis mon api obtenue mais rien n est actualise ??? ai je fais une erreur

dur à dire comme ça

peux tu lancer un test (lien "tester" sous le xpath + bouton tester sur la nouvelle page) et me donner le résultat xml
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar carpentier » 11 Sep 2019 10:35

merci je t ai mis en mp
j ai l impression qu il n y a que dans icon Beaufort que j ai une remontee d infos
(calme depuis 7 min)
carpentier
 
Messages : 134
Inscription : 11 Nov 2015

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

Messagepar merguez07 » 11 Sep 2019 10:41

ok voir mp
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar carpentier » 11 Sep 2019 11:50

voici ce que j obtiens
Pièces jointes
IMG_1959.jpg
IMG_1959.jpg (178.16 Kio) Consulté 12222 fois
carpentier
 
Messages : 134
Inscription : 11 Nov 2015

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

Messagepar merguez07 » 11 Sep 2019 12:09

Pareil, montre ton xml parceque là je comprends pas
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar merguez07 » 11 Sep 2019 18:15

bon je viens de piger le problème de carpentier.
Le site APIXU n'existe plus et renvoie sur un nouveau site weatherstack qui utilise une clé différente et un api diférent. Les anciennes clés fonctionnent encore avec l'ancien site jusqu'au 14 Octobre, par contre pour les nouvelles il faut adapter le script.

Je vais m'atteler à sa mise à jour en essayant de garder une rétrocompatibilité.
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar carpentier » 11 Sep 2019 21:42

tu est trop fort respect et désolé de te donner la migraine un jour sur deux mais tu trouves toujours la soluce ;) merci
carpentier
 
Messages : 134
Inscription : 11 Nov 2015

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

Messagepar merguez07 » 25 Sep 2019 17:58

Je viens de monter de version le plugin Méto du jour pour prendre en compte la fermeture imminente du site APIXU.
Capture3.PNG
Capture3.PNG (59.51 Kio) Consulté 12098 fois


Cette nouvelle version est moins performante que l'ancienne puisque le nouveau site WeatherStack ne fournit pas les infos prévisionnelles de vent max, de pluviométrie moyenne, d'hygrométrie moyenne.

Pour ceux qui ont déjà utilisé l'ancien plugin je les invite, non pas à installer le nouveau, mais juste à mettre à jour le script. Ils devront néammoins mettre avant le 13 octobre en VAR1 (sur un seul périphérique) la clé API du site weatherstack --> https://weatherstack.com/product

Le nouveau script est rétrocompatible et fonctionne actuellement aussi bien avec APIXU que Weatherstack

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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar pilot83 » 27 Sep 2019 20:10

Merci pour cette mise à jour.
:D
Stores, velux et banne en IO...
Lumières avec qubino telerupteur rail din (z-wave).
Eedomus +, caméra Présence de Netatmo, RF Player, Shelly
pilot83
 
Messages : 105
Inscription : 19 Jan 2014

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

Messagepar patrichkof » 03 Oct 2019 18:17

Merci pour la mise à jour et pour ta réactivité
patrichkof
 
Messages : 24
Inscription : 18 Fév 2019

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

Messagepar ali02 » 12 Oct 2019 08:19

salut,

j'ai installé le script via le store eedomus la semaine dernière tout fonctionnait très bien, mais je n'ai plus de remontées d'info depuis 2 jours, est ce normal ?
ali02
 
Messages : 149
Inscription : 02 Mars 2017

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

Messagepar patrichkof » 12 Oct 2019 08:21

Bonjour à tous, idem pour moi plus rien depuis 2 jours
quelqu'un peu nous aider?
patrichkof
 
Messages : 24
Inscription : 18 Fév 2019

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

Messagepar merguez07 » 12 Oct 2019 08:36

oui APIXU a changé les règles du jeu.

remplacer le script actuel par celui ci
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
**
**
** Evolution des versions :
**
** 2017-10-03 (Merguez07 & Mashuble) : V1.0 - Version initiale
** 2017-11-13 Merguez07 : V1.1 modifications suivantes
**            * rajout des mesures suivantes:     
**                  - Temperature mesuree ressentie         (deg C)
**                  - Temperature mesuree actuelle          (deg C)
**                  - Pression atm actuelle                 (mb)
**                  - Vitesse du vent actuelle              (km/h)
**                  - Direction du vent mesuree actuelle    (texte)   
**                  - Direction du vent mesuree actuelle    (deg C)
**                  - Humidite mesuree actuelle             (%)
**                  - Pluviometrie mesuree actuelle         (mm)
**                  - Pluviometrie estimee moy du jour      (mm)
**                  - Visibilite mesuree actuelle           (km)
** 2017-11-14 Merguez07 : V1.2 petite correction de derniere minute 
** 2017-11-27 Merguez07 : V1.3 modif du script pour que un seul capteur interroge le site
**                        pour tous les autres afin d'eviter la saturation des requetes
**                        avant la fin du mois (5000 requetes max par mois)
**                        le capteur qui interroge le site lancera le script ainsi :
**                        http://localhost/script/?exec=meteodujour.php&key=[VAR1]
**                        Les autres capteurs lanceront le script ainsi:
**                        http://localhost/script/?exec=meteodujour.php
** 2017-12-08 Merguez07 : V1.4 Modif de l'icone pour le rendre international
** 2017-12-11 Merguez07 : V1.5 correction retrait d'espace avant 2 liens HTTP
** 2018-01-11 Merguez07 : V1.6 rajout de la ville en VAR2 car parfois elle est mal detectee par l'IP
** 2018-01-11 Merguez07 : V1.7 correction d'un bug sur la ville
** 2018-02-27 Merguez07 : V1.8 Correction bug dans le fichier json suite a modif 1.7
** 2018-03-06 Merguez07 : V1.9 Suite a pb non debugge sur fichier Json modif du script
** 2019-04-28 Merguez07 : V1.10 simplification du code
** 2019-09-12 Merguez07 : V2.0 prise en compte du passage sur le site weatherstack
**************************************************************************************/


//************************************************************************************************************************************************************
// dialogue actionneur --> Script
//************************************************************************************************************************************************************
    $key        =   getArg('key'                            , true  , NULL);    // $key= cle apixu  ou cle weatherstack
    $ville      =   getArg('city'                           , false , NULL);    // $ville =ville (optionnel car le script peut géolocaliser par l'IP externe)
    $periph_id  =   getArg('eedomus_controller_module_id'                 );    // $numero API de l'actionneur qui vient de lancer le script
//************************************************************************************************************************************************************

// On recupere le Path de l'actionneur qui vient de lancer le script

    $Tjson      =   sdk_Tjson("http://localhost/api/get?action=periph.caract&show_config=1&periph_id=".$periph_id); //fonction perso pour obtenir sous forme d'array la réponse à la requête
   
    /* sans show_config=1  -->Json = { "success": 1, "body":{"periph_id": "958213", "name": "Beaufort Météo", "last_value": "4", "last_value_text": "Jolie brise", "unit": "", "last_value_change": "2019-03-06
                                     08:05:26"}}
       avec show_config=1 -- >json = { "success": 1, "body":{"periph_id": "958213", "name": "Beaufort Météo", "last_value": "4", "last_value_text": "Jolie brise", "unit": "", "last_value_change": "2019-03-06 08:05:26",
                                     "convert": "0", "debug": "0", "hidden_data": "", "ignore_errors": "3", "POLLING": "5", "RAW_URL": "http://localhost/script/?exec=meteodujour.php&key=[VAR1]&city=[VAR2]",
                                     "RAW_XPATH": "//beaufort", "TIMEOUT": "30", "TRUNCATE": "0", "URL": "http://localhost/script/?exec=meteodujour.php&key=1c5262d3794448b388a142331181603&city= ", "value_type": "list",
                                     "VAR1": "1c5262d3794448b388a142331181603", "VAR2": " ", "VAR3": "", "XPATH": "//beaufort"}} */
   
    $path       =   $Tjson["body"]["XPATH"];

     
// On recupere la meteo
    if ($path=="//condition") {
       
        sdk_header('text/xml');
        $xml = '<?xml version="1.0" encoding="UTF-8"?>'         ."\n";
        $xml .= '<meteodujour>'                                 ."\n";

        // Recherche de l'adresse IP publique
        $Tjson          = sdk_Tjson("http://ip-api.com/json"); //pour apixu
        $monippublique  = $Tjson["query"];                     //pour apixu
        $monippublique1 = "fetch:ip";                          //pour weatherstack


        $localisation   = (trim($ville)!="") ? $ville : $monippublique;  //pour apixu
        $localisation1  = (trim($ville)!="") ? $ville : $monippublique1;  //pour weatherstack

       

        $Tjson  = sdk_Tjson("http://api.apixu.com/v1/forecast.json?key=" . $key . "&q=" . $localisation. "%20&days=1");

       

            $url="http://api.weatherstack.com/forecast?access_key=". $key ."&query=" . $localisation1;
            //http://api.weatherstack.com/forecast?access_key=91a5de172682ad2b92b75f3b0c88d5a2&query=fetch:ip
            $Tjson = sdk_Tjson($url);

            if (!$Tjson[error][code])
            {

                $ville      = $Tjson[location][name];
                $dateupdate = $Tjson[location][localtime];
                $tress      = $Tjson[current][feelslike];
                $tact       = $Tjson[current][temperature];
                $Tforecast  = (current($Tjson[forecast]));
     
                $tmin       = $Tforecast[mintemp];
                $tmax       = $Tforecast[maxtemp];
                $tmoy       = $Tforecast[avgtemp];
                $condition  = $Tjson[current][weather_descriptions][0];
                $pressact   = $Tjson[current][pressure];
                $ventact    = $Tjson[current][wind_speed];
                $dirvent    = $Tjson[current][wind_dir];
                $dirventdeg = $Tjson[current][wind_degree];
                $hygact     = $Tjson[current][humidity];
                $pluieact   = $Tjson[current][precip];                     
                $visact     = $Tjson[current][visibility];                                 

                 
                $xml .= '  <status>'      .'ok'         .'</status>'    ."\n";
                $xml .= '  <ville>'       .$ville       .'</ville>'     ."\n";
                $xml .= '  <dateupdate>'  .$dateupdate  .'</dateupdate>'."\n";   
                $xml .= '  <tress>'       .$tress       .'</tress>'     ."\n";   
                $xml .= '  <tact>'        .$tact        .'</tact>'      ."\n";   
                $xml .= '  <tmin>'        .$tmin        .'</tmin>'      ."\n"; 
                $xml .= '  <tmax>'        .$tmax        .'</tmax>'      ."\n";   
                $xml .= '  <tmoy>'        .$tmoy        .'</tmoy>'      ."\n"; 
                $xml .= '  <condition>'   .$condition   .'</condition>' ."\n";
                $xml .= '  <pressact>'    .$pressact    .'</pressact>'  ."\n"; 
                $xml .= '  <ventact>'     .$ventact     .'</ventact>'   ."\n";
                $xml .= '  <dirvent>'     .$dirvent     .'</dirvent>'   ."\n"; 
                $xml .= '  <dirventdeg>'  .$dirventdeg  .'</dirventdeg>'."\n";
                $xml .= '  <hygact>'      .$hygact      .'</hygact>'    ."\n"; 
                $xml .= '  <pluieact>'    .$pluieact    .'</pluieact>'  ."\n";   
                $xml .= '  <visact>'      .$visact      .'</visact>'    ."\n";   

            }
       
       
        if ($Tjson[error][code]) {
            $xml .= '  <status> Erreur '.$Tjson[error][code]." - ".$Tjson[error][message].$Tjson[error][info] .'</status>'    ."\n";
        }
     
        $xml .= '</meteodujour>';
       
        saveVariable('meteodujour', $xml);

    } else {

        $xml=loadvariable('meteodujour'); 
    }
   
    echo $xml;                           
    die;                                 



   
    function sdk_Tjson($url){                 

        $json   = httpQuery($url);             
        $Tjson  = sdk_json_decode($json);     
        return $Tjson;                       
    }

   

?>


je mettrais à jour le plugin demain
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar ali02 » 12 Oct 2019 08:55

merci pour ta réactivité, ça fonctionne à nouveau :)
ali02
 
Messages : 149
Inscription : 02 Mars 2017

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

Messagepar frenchdm » 12 Oct 2019 11:47

Merci ! ;)
frenchdm
 
Messages : 233
Inscription : 20 Jan 2014

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

Messagepar merguez07 » 13 Oct 2019 15:54

Correctif du script mis en place dans le plugin (2.1)
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

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

Messagepar Olivepoilue » 13 Oct 2019 17:39

merci merguez, c'est top de faire ce suivi et rendre aussi convivial tes petits plug-ins !
J m'en vais de ce pas faire la mise à jour et passer à weatherstack , je me demandais pourquoi je n'avais plus rien depusi 3 jours ...
Eedomus+ depuis 09/17 + modules Fibaro, Zipato, Aeotec, Qubino, Sensative, Everspring, Netatmo
Olivepoilue
 
Messages : 298
Inscription : 09 Août 2017
Localisation : 77

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

Messagepar merguez07 » 13 Oct 2019 17:42

Olivepoilue a écrit:merci merguez, c'est top de faire ce suivi et rendre aussi convivial tes petits plug-ins !

:thumbup:
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 : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

PrécédentSuivant

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 38 invité(s)