Page 1 sur 2

Script Prévision de pluie pour Domoticz

Publié : 12 mai 2016, 22:00
par fabd
Bonjour tout le monde

je rebondis sur le tuto bien sympa posté le 6 mai sur la page principale d'easydomoticz

Quelqu'un pourrais m'expliquer la premiere ligne ?

Code : Tout sélectionner

pl=$(curl -s "http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/773800"|jq -r .niveauPluieText|cut -d ' ' -f7|tr -d '['|tr -d ']'|tr -d ' '|$
Ca me rend ouf je suis à 2 doigts de le faire Powershell.

Ca me retourne ./pluie.sh: line 3: $: command not found --> en rajoutant une ) a la fin du code INSEE sinon j'ai des erreurs de syntax.

Il interprete pas le curl et le resultat est NULL

Bref, si il y a une ame charitable qui a reussi a faire tourner le script, je suis preneur.

Marre de laver les carreaux quand il a plu :lol:

Re: Tuto Prévision de pluie pour Domoticz

Publié : 13 mai 2016, 07:42
par patrice
Bonjour en ce qui me concerne pour 773800 ce matin et avec une correction faite hier dans le script dont la mise à jour est ici
http://easydomoticz.com/prvision-pluie/
et d'aprés un 1er test via cette url
http://www.meteofrance.com/mf3-rpc-port ... uie/773800
un petit
pi@domoticz ~/domoticz/scripts $ ./pluie.sh
{
"status" : "OK",
"title" : "SwitchLight"
}
pas de pluie
pi@domoticz ~/domoticz/scripts $
me dit qu'il n'y a pas de pluie dans le CODE INSEE 773800

pour savoir ce qu fait la ligne en question et comme décrit sur le blog
Après interrogation du site web, récupérons donc le contenu de niveauPluieText par utilisation de JQ jdont l'installation est expliquée ici, supprimons les caractères indésirables de texte horaire, de '[' ']' et espaces.
ca interroge l'url (meteofrance.../mf3-rpc...) comme l'url que j'ai écrite au dessus,
Puis ca retire via jq (module a installer), le resultat contenu dans niveaupluieText ,
Dans ce niveaupluietext on elimine les [ ] les espaces et on prend le premier mot qui est soit "Précipitations" soit "Pas" pour alimenter le widget en consequence

Re: Tuto Prévision de pluie pour Domoticz

Publié : 13 mai 2016, 08:15
par fabd
salut Patrice,

merci, je teste ca tout de suite :)

Re: Tuto Prévision de pluie pour Domoticz

Publié : 13 mai 2016, 17:15
par fabd
Si j'execute le script tel que :


pi@raspberrypi ~/domoticz/scripts $ ./pluie.sh
./pluie.sh: line 3: unexpected EOF while looking for matching `)'
./pluie.sh: line 17: syntax error: unexpected end of file
pi@raspberrypi ~/domoticz/scripts $

il manque la fermeture de la parenthese ouverture avant le curl

Re: Tuto Prévision de pluie pour Domoticz

Publié : 13 mai 2016, 17:55
par deennoo
Merci

Re: Tuto Prévision de pluie pour Domoticz

Publié : 02 juil. 2016, 21:08
par fabd
je fais remonter le sujet

J'ai tjrs mon bug :

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/scripts $ (curl -s "http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/773800" | jq -r .niveauPluieText|cut -d ' ' -f7|tr -d '['|tr -d ']'|tr -d ' '|$)
-bash: $: command not found
ou est l'erreur ? Comment je peux verifier que jq est bien installé ?

Code : Tout sélectionner

pi@raspberrypi ~/domoticz/scripts $ jq
jq - commandline JSON processor [version 1.5]
Usage: jq [options] <jq filter> [file...]

        jq is a tool for processing JSON inputs, applying the
        given filter to its JSON text inputs and producing the
        filter's results as JSON on standard output.
        The simplest filter is ., which is the identity filter,
        copying jq's input to its output unmodified (except for
        formatting).
        For more advanced filters see the jq(1) manpage ("man jq")
        and/or https://stedolan.github.io/jq

Re: Tuto Prévision de pluie pour Domoticz

Publié : 02 juil. 2016, 22:05
par patrice
Il te manque quelques trucs à la fin de la ligne d'ou les erreurs
la vraie ligne est ici http://easydomoticz.com/prvision-pluie/

Code : Tout sélectionner

pl=$(curl -s "http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/773800"|jq -r .niveauPluieText|cut -d ' ' -f7|tr -d '['|tr -d ']'|tr -d ' '|sed 's/ //g'|cut -d ' ' -f1)
#echo $pl
pluie=$(echo $pl|cut -d ' ' -f1)
#echo $pluie

Re: Tuto Prévision de pluie pour Domoticz

Publié : 03 juil. 2016, 12:06
par fabd
merci, effecitvement, j'avais pas du tilter la premiere fois que tu me l'a indiqué ... :ugeek:

Re: Tuto Prévision de pluie pour Domoticz

Publié : 18 août 2016, 18:02
par fratton
Je vous propose ma version PHP qui va mettre à jour un device de type Alerte.
Je garde LUA pour les scripts de gestion de la domotique (chauffage...).
alerte_pluie.jpg
alerte_pluie.jpg (12.66 Kio) Consulté 12322 fois

Code : Tout sélectionner

<?php
$IDX="99";
$IPPORT="192.168.1.10:8080";
$URL="http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/01xxxx";

/* début du script */

$json_string = file_get_contents($URL);
$parsed_json = json_decode($json_string, true);
$parsed_json = $parsed_json['niveauPluieText'];
$text="";
foreach ($parsed_json as $value){
   $text.=$value.", ";
}


if ($text=="") {
    $niveau=0;
    $text="Pas de données";
} elseif (strpos($text, 'fortes') !== false) {
    $niveau=4;
} elseif (strpos($text, 'modérées') !== false){
    $niveau=3;
} elseif (strpos($text, 'faibles') !== false) {
    $niveau=2;
} else {
    $niveau=1;
}

if(!is_null($niveau)) {
        $text=str_replace("Pas de précipitations","Aucune",$text);
        $text=str_replace("Précipitations ","",$text);
        $majdomoticz="http://".$IPPORT."/json.htm?type=command&param=udevice&idx=".$IDX."&nvalue=".$niveau."&svalue=".urlencode($text);
        echo file_get_contents($majdomoticz);
}
echo $text."\n";
?>

Re: Tuto Prévision de pluie pour Domoticz

Publié : 13 août 2020, 10:31
par js-martin
Bonjour,

C'est moi ou la page meteo france n'existe plus depuis quelques jours ?

J'avais un script qui me fermait mes stores en cas de pluie et ca marchait super bien...