Récupérer une info dans un log

Bonsoir,

J’ai essayé de chercher une solution mais avec le mot log, cela me sort trop de réponses par rapport à ce que je recherche:
Je monitore ma conso électrique sur ma box de mes panneaux pv toutes les minutes par l’intermédiaire du plugin script mais si j’ai une coupure de courant (ou internet), ma box n’est plus joignable et j’ai un message d’erreur dans le log du plugin script.
Je souhaite me servir de cette ligne dans le log comme déclencheur d’un scénario m’indiquant qu’il y a une coupure de courant (ca je peux car RPI sur onduleur mais pas pour la coupure internet car même si la box internet est sur onduleur aussi, plus possible d’envoyer un mail :slight_smile: )

Est-ce possible svp ?
Merci

Un script de type isconnect devrait solutionner ton problème
il ne fait que tester si l’ip répond …

#/bin/bash

# This file is part of Jeedom.
#
# Jeedom is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Jeedom is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Jeedom. If not, see <http://www.gnu.org/licenses/>.

#Script shell permettant de savoir si une adresse mac ou ip est présente sur le réseaux
# Necessite arp-scan
# $1  : mac ou ip
# $2  : adresse
# Il faut ajouter les droits à apache (www-data) d'éxécuter la commande arp-scan
# Dans un terminal :
# sudo apt-get install arp-scan fping #installation du paquet permetant de scanner le réseaux et du paquet pour faire un ping rapide
# sudo visudo -s
# Ajouter la ligne :
# www-data ALL=NOPASSWD: /usr/bin/arp-scan
if [ "$1" = "mac" ]; then
        sudo /usr/sbin/arp-scan -l -g --retry=5 -T $2 -t 800 | grep -i $2 | wc -l
elif [ "$1" = "ip" ]; then
        /usr/bin/fping -c1 -t500  $2 2>&1 | grep "min/avg/max" | wc -l
fi

la syntaxe d’appel est
isconnect.sh ip 192.168.0.X
qui renvoie un binaire vrais ou faux si l’ip repond ou pas.

A bientôt

1 « J'aime »

Merci pour ton retour @olive.
Je n’ai encore pas testé mais j’ai l’impression que ton idée va fonctionner mais que je vais devoir checker si l’ip répond et donc vérifier toutes les X minutes or ce n’est pas ce que je souhaite:
Je souhaite avoir comme déclencheur d’un scénario la 1ère ligne qui s’écrit dans le log du plugin script (normalement c’est une erreur car coupure de courant), c’est ce que ton script propose ?
Merci

Le script est un binaire qui peut simplement être le déclencheur d’un scenario.
Il sera le reflet du bon fonctionnement de ta passerelle.
ce scenario peut être lui même avec des conditions utiliser pour déclencher ou pas l’exécution de tes script de récupération d’infos ( a fin de justement ne pas générer d’erreur si la passerelle ne répond pas) …

en gros
SI IP OK
exécution des scripts de récupération des datas
SI NON
avertir du problème.

Bonjour,

Ton onduleur, il ne peut pas se connecter à ta solution jeedom ? USB ou par réseau ?

Pour internet : Tu peux utiliser le plugin network et faire des ping sur les IP des serveurs google ou autre toutes les 20 minutes par exemple

Justement, je voulais éviter de faire du ping.
Effectivement @chris777c, ça serait la meilleure solution mais pour le moment je n’arrive pas a le voir sous jeedom :frowning:. Je vais étudier cette solution que je doit mettre en place depuis un moment.
Je vous tiens au courant
Merci

C’est bon, je viens de connecter mon onduleur APC dans Jeedom donc je pourrai suivre les event de celui-ci :slight_smile:. Merci

Je réitère quand même ma question pour savoir s’il est possible, sans faire du monitoring/ping toutes les X minutes, de récupérer un « event » dans un log svp ?
Ex avec comme condition initiale un log vide (idéal): une ligne s’écrit suite à un évènement X ou Y → déclenchement d’un scénario ou autre.
Est-ce possible svp ?
Merci

ça n’a pas grand intérêt mais oui un log est un fichier texte il te suffit depuis un scenario de tester l’existance du fichier puis son éventuelle ouverture …

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913492-lisez-et-ecrivez-dans-un-fichier

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.