Integrer Script Bash dans Jeedom

bonjour à tous,

j’ai créé ce script bash qui se lance tous les soirs à 00h00 et qui récupère sur un site météo la probabilité de pluie du jour dans une ville près de chez moi. Ce script se lance sur un PC et envoi la valeur via wget à jeedom.

Question : Comment intégrer proprement ce script dans Jeedom afin de ne pas passer par le PC. (peut être devoir réécrire ce script en un autre langage ?)

A noter que je bidouille un peu en bash donc le script ne doit pas être très propre mais il a le mérite de bien fonctionner depuis plusieurs années.

Merci beaucoup

# Prévisions précipitations
cd /tmp && wget 'https://www.terre-net.fr/meteo-agricole/previsions-10-jours/landerneau/3007874' -O mto.txt
InfoPrecip1=`html2text mto.txt | grep "précip. " | sed 's/%.*//' | sed 's/.*. //' | sed -n 1p`
#InfoPrecip1=`html2text mto.txt | grep "Probabilité de" | sed 's/%.*//' | sed 's/.* //'`
echo $InfoPrecip1 | tee -a /tmp/meteolog.txt
# Envoi probabilité de pluie
if [[ "$InfoPrecip1" =~ ^[0-9]+$ ]] && ((InfoPrecip1 >= 0 && InfoPrecip1 <= 100)); then  # vérifie si nombre compris entre 0 et 100
wget 'http://192.168.0.21/core/api/jeeApi.php?plugin=virtual&type=event&apikey=XXXXXXXXXXXXXXXXXXXXXXX&id=140&value='"$InfoPrecip1" -O /dev/null
fi
1 « J'aime »

Hello,

Tu pourrais faire exactement la même chose mais exécuté depuis l’OS sur lequel tourne Jeedom donc Debian

Demande à ChatGPT de te convertir ce script en shell ou php et de e mettre soit dans le plugin script soit dans un scénario en bloc code

Norbert

Merci @Bison , oui en effet, toute simple comme solution. Après, dans un but de m’améliorer dans Jeedom, j’aurais voulu voir comment faire au sein de Jeedom directement…

Merci pour ta réponse. Bash est déjà un shell.
En PHP en effet oui.
Je ne connaispas l’architecture de Jeedom : un cd /tmp va se retrouver où dans Jeedom ?

voilà ce que donne chatgpt pour la conversion du script bash en php :

<?php
// Prévisions précipitations
$tmpDir = sys_get_temp_dir();
$filePath = $tmpDir . '/mto.txt';

// Télécharger le fichier
$url = 'https://www.terre-net.fr/meteo-agricole/previsions-10-jours/landerneau/3007874';
file_put_contents($filePath, file_get_contents($url));

// Extraire l'information des précipitations
$output = shell_exec("html2text " . escapeshellarg($filePath) . " | grep 'précip. ' | sed 's/%.*//' | sed 's/.*. //' | sed -n 1p");
$infoPrecip1 = trim($output);

// Journaliser la valeur dans meteolog.txt
$logPath = $tmpDir . '/meteolog.txt';
file_put_contents($logPath, $infoPrecip1 . PHP_EOL, FILE_APPEND);

// Envoi probabilité de pluie
if (is_numeric($infoPrecip1) && $infoPrecip1 >= 0 && $infoPrecip1 <= 100) {
    $apiUrl = 'http://192.168.0.21/core/api/jeeApi.php';
    $params = http_build_query([
        'plugin' => 'virtual',
        'type'   => 'event',
        'apikey' => 'XXXXXXXXXXXXXXXXXXXXXXX',
        'id'     => 140,
        'value'  => $infoPrecip1,
    ]);
    file_get_contents($apiUrl . '?' . $params);
}
?>

Comme te l’a dit @Bison, utilise ton script bash dans le plugin script (un indispensable!) et c’est tout