Page 1 sur 1
Récupérer des infos dans les logs
Publié : 14 oct. 2016, 18:14
par Jihem
Bonjour,
Le sujet à peut-être déjà été traité mais le forum a tellement de succès qu'il devient difficile de retrouver un post.
Voila mon problème:
J'ai interfacé une installation Myhome Legrand avec Domoticz. La passerelle est prévu dans le hardware de DMZ
mais pour le moment, seules sont prévues les commandes de volets.
Pour les lumières il faut un petit script python (merci allezlelosc) que je mets en Action On et Off et ça marche très bien.
L’inconvénient est que lorsque le bouton physique est pressé, l'info ne remonte pas sur l'inter de DMZ , mais par contre elle apparait dans les logs.
D'où ma question: est il possible par un script de récupérer cette info dans les logs pour pour mettre à jour l'état de l'inter?
Merci d'avance
Re: Récupérer des infos dans les logs
Publié : 14 oct. 2016, 18:52
par patrice
Bonsoir
Oui c'est possible a coup de grep/sed et consorts
Tu as un exemple a montrer ?
Re: Récupérer des infos dans les logs
Publié : 14 oct. 2016, 23:27
par Jihem
Bonsoir Patrice
Dans les log j'ai cette ligne
Code : Tout sélectionner
2016-10-14 23:05:08.336 COpenWebNet : received=*1*0*51## : NORMAL FRAME - who=Lighting - what=0 - where=51
il faudrait que je récupère " *1*0*51## "pour pouvoir mettre à jour l'état de l'interrupteur; en l’occurrence éteint dans ce cas.
Où dois je chercher ça?
merci
Re: Récupérer des infos dans les logs
Publié : 15 oct. 2016, 10:39
par patrice
Bonjour
Dans le logfile de Domoticz, regarde dans domoticz.sh ou il se situe, le log et change éventuellement l'emplacement
avec les lignes
#DAEMON_ARGS="$DAEMON_ARGS -log /tmp/domoticz.txt"
#DAEMON_ARGS="$DAEMON_ARGS -syslog"
a commenter/decommenter
attention à chaquemise à jour ce fichier est remis a l'etat de depart (sans l'ecriture des logs)
ensuite et si le log est dans /tmp/domoticztxt
affiche *1*0*51
car n cherche le signe egal , on prend le champ 2 (f2) qui contient alors tout ce qui est a droite du egal puis on recoupe avec cut au premier # et on garde par le f1 tout ce qui est a gauche du # soit 1*0*51
ou un
affiche
*1*0*51##
tu mets ca dans un script sh, avec le shebang
un crontab -e
je suis etonné que tu veuilles recuperer 1*0*51
mais bon
Re: Récupérer des infos dans les logs
Publié : 15 oct. 2016, 15:54
par Jihem
Bonjour
Merci pour cette réponse bien expliquée. C'est mieux de comprendre ce que l'on fait et ça permet d'adapter à d'autres cas.
*1*0*51 me suffit pour mettre à jour l'état de mon interrupteur
1 = lumière
0 = éteint
51 = adresse de l'inter physique
Une petite question: La recherche se fait depuis la fin du fichier pour récupérer la dernière occurrence de "=" et non pas la première?
Par ailleurs il va falloir que je supprime le fichier de temps en temps pour qu'il ne devienne pas monstrueux.
Encore merci
Re: Récupérer des infos dans les logs
Publié : 15 oct. 2016, 17:07
par patrice
la recherche de fait depuis le debut du fichier par rapport au 1er signe egal, mais comme on lui dit -f2 il prend la partie apres à droite du egal
si on fit -f1 il prendrait
2016-10-14 23:05:08.336 COpenWebNet : received
-f1 a gauche
-f2 à droite
Re: Récupérer des infos dans les logs
Publié : 16 oct. 2016, 20:26
par Jihem
Bonsoir
En fait ma question était idiote; j'avais bien compris la sélection du texte sur la ligne mais je me demandais pourquoi le "cat" n'affichait que la fin du fichier.
En réalité il affiche tout le fichier mais seule la fin apparait dans la fenêtre du terminal
Dans le paramétrage
y-a-til possibilité de n'enregistrer que les status (ou les erreurs) des logs et pas la totalité du fichier?
Meci
Re: Récupérer des infos dans les logs
Publié : 16 oct. 2016, 21:12
par patrice
Bonsoir
A ma connaissance : non
D'autres avis ?