Telecharger les logs d'un scenario

En cherchant un peu dans le forum j’ai trouvé un bloc code qui permet d’ajouter une piece jointe au mail de jeedom
Ca plante aussi avec Could not acces file : /var/…

Au cas où je lancerais un « Rétablissement des droits des dossiers et fichiers » depuis Réglages > Systeme > Configuration > Onglet OS/DB

Fait… mais tjrs meme probleme

Dans les jours a venir je ferais différents test en mettent le fichier ailleurs dans l’arborescence et aussi avec un fichier txt
Pourtant j’utilise avec le plugin alarme l’envoie de snapchot vers telegram a la détection d’une alarme et ca marche bien.

La nuit portant conseil, j’ai réalisé que l’envoie du fichier Log se trouvant dans le même scenario que la création du Log, il est évident que lors de l’envoie, le fichier Log était verrouillé par l’exécution du scenario !!!
J’étais fatigué hier au soir… la chaleur sans doute !!
Ce matin j’ai crée un autre scenario et j’ai testé l’envoie par mail avec pièce jointe (par un bloc code) et ca fonctionne très bien
Aucun doute que ca fonctionnera par Jeedomconnect et par Telegram… je testerai dans la journée
désolé pour le temps passé
Merci encore

Bonjour,
Je ne sais pas si le fichier est vraiment verrouillé en lecture, c’est possible, je n’ai pas vérifié.
Mais un autre paramètre qui va jouer c’est celui-ci:
image

  • en mode « défaut », le log est écrit en une fois après la fin du scénario
  • en mode « Temps réel », chaque ligne de log est écrit au fur et à mesure de l’exécution.
1 « J'aime »

Bonjour
Pourriez-vous rappeler le bloc code / re-publier le bloc code, pour envoyer les log d’un scénario par mail ?
:slight_smile:

Bonjour
En mettant le scenario en temps reel, tout fonctionne nickel, mail, telegram, jeedomConnect … Merci a @mips
Voici le bout de code pour ajouter des pieces jointes aux mails

$title='Test plugin mail avec pièces jointes';
$fichier1 = '/var/www/html/log/scenarioLog/scenario214.log';
$message = 'Envoi du fichier ' . $fichier1;
$message .= PHP_EOL;
$files = array();
array_push($files, $fichier1);
$options = array('title'=>$title, 'message'=>$message, 'files'=>$files);
cmd::byString('#[LIVEBOX et COMMUNICATION][Email Jeedom][Jeedom]#')->execCmd($options, $cache=0);

Bonne journée

1 « J'aime »

La version avec plusieurs pièces jointes.

1 « J'aime »