Vider le log d'un dispositif TEXT
Vider le log d'un dispositif TEXT
Bonjour,
j'ai un dispositif TEXT qui enregistre des strings suivant les situations entre toutes les 5mn et tous les 1/4 d'heure.
Ce dispositif génère donc une énorme quantité de logs, qui ne me sont pas utiles passé un certain temps.
Comment vider les logs de ce dispositif et uniquement celui là automatiquement à l'aide d'un script ?
Merci d'avance pour votre aide.
j'ai un dispositif TEXT qui enregistre des strings suivant les situations entre toutes les 5mn et tous les 1/4 d'heure.
Ce dispositif génère donc une énorme quantité de logs, qui ne me sont pas utiles passé un certain temps.
Comment vider les logs de ce dispositif et uniquement celui là automatiquement à l'aide d'un script ?
Merci d'avance pour votre aide.
Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
Re: Vider le log d'un dispositif TEXT
Bon,
après pas mal de galères j'ai fini par trouver, reste plus qu'à exécuter le script tous les X jours ...
Je mets le script ici, si ça peut servir à quelqu'un :
après pas mal de galères j'ai fini par trouver, reste plus qu'à exécuter le script tous les X jours ...
Je mets le script ici, si ça peut servir à quelqu'un :
Code : Tout sélectionner
commandArray = {}
curl = '/usr/bin/curl '
json = (loadfile "/volume1/@appstore/domoticz/var/scripts/lua/JSON.lua")()
domoticzIP = '192.168.1.44'
domoticzPORT = '8084'
domoticzURL = 'http://'..domoticzIP..':'..domoticzPORT
-- Delete datas of device log
-- >> OK en ligne d'adresse navigateur >> http://192.168.1.44:8084/json.htm?type=command¶m=clearlightlog&idx=48
os.execute(curl ..'"'.. domoticzURL ..'/json.htm?type=command¶m=clearlightlog&idx=48" ')
print(' ***** Delete des logs du device text XXXXXXXXXX ***** ')
return commandArray Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Vider le log d'un dispositif TEXT
Salut,
Merci je prends
Merci je prends
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Vider le log d'un dispositif TEXT
Salut Vil1driver,
Je pioche dans tes scripts sur ce forum depuis mes débuts en domotique, et je suis très honoré
que ma modeste contribution puisse t'intéresser
Par contre, tu vas peut-être pouvoir m'aider, je coince pour le déclencher tous les X jours,
je suis parti d'un dispositif calendrier et ça marche,
mais j'aurais préféré que cela soit direct dans le code LUA.
Je pioche dans tes scripts sur ce forum depuis mes débuts en domotique, et je suis très honoré
que ma modeste contribution puisse t'intéresser
Par contre, tu vas peut-être pouvoir m'aider, je coince pour le déclencher tous les X jours,
je suis parti d'un dispositif calendrier et ça marche,
mais j'aurais préféré que cela soit direct dans le code LUA.
Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
Re: Vider le log d'un dispositif TEXT
Merci, je prends aussi.
Transformé en fonction
Transformé en fonction
Code : Tout sélectionner
function deleteLogtext(device)
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=clearlightlog&idx='..otherdevices_idx[device]..'" &')
log('Effacement de tous les logs du device text '..device,debug)
endPI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Vider le log d'un dispositif TEXT
Tu peux faire quelque chose comme cela, c'et la méthode que j'utilise pour rebooter mon modem tous les X jours.e111111 a écrit : 29 déc. 2018, 19:37 Salut Vil1driver,
Je pioche dans tes scripts sur ce forum depuis mes débuts en domotique, et je suis très honoré
que ma modeste contribution puisse t'intéresser
Par contre, tu vas peut-être pouvoir m'aider, je coince pour le déclencher tous les X jours,
je suis parti d'un dispositif calendrier et ça marche,
mais j'aurais préféré que cela soit direct dans le code LUA.
C'est complètement inspiré des codes de Vil1driver
Code : Tout sélectionner
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
local debugging = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local my_variable = "my_variable" --nom de la variable
t1 = os.time()
-- Get time/date of last update
s = uservariables[my_variable]
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
-- Difference between current time and last update on my_variable
difference = (os.difftime (t1, t2)) --resultat en secondes
commandArray = {}
--lancement tous les 3 jours
--1 jour = 86 400 s
if (time.min==10) then --toutes les heures, à xxh10
if(uservariables[my_variable] == nil) then -- Création de la variable car elle n'existe pas
voir_les_logs("--- --- --- La Variable " .. my_variable .." n'existe pas --- --- --- ",debugging)
voir_les_logs("--- --- --- Création de la Variable " .. my_variable .." manquante --- --- --- ",debugging)
creaVar(my_variable, os.date("%Y-%m-%d %H:%M:%S"),2)
elseif (difference >= 259200) then --3 jours = 259 200 s
--on exécute le code voulu
--commandArray[#commandArray + 1]={le code a éxécuter}
updateVar(my_variable,os.date("%Y-%m-%d %H:%M:%S"))
end
end
return commandArray
-------FIN
------------------------------------------------------------------------- dofile('/home/pi/domoticz/scripts/lua/modules.lua') => fonctions de Vil1driver
- je créé une variable si elle n'existe pas (my_variable)
- toutes les 10 mn de chaques heures, je teste la valeur de ma variable my_variable
- si my_variable est supérieurs à 259200 s (soit 3 jours), j’exécute ce que je veux, et je réinitialise ensuite la variable.
J'ai résumé la fonction que j'utilise pour l'adapter a ta situation, a toi d'adapter pour obtenir le résultat voulu.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Re: Vider le log d'un dispositif TEXT
Super !
Merci, j'avais vu les codes de Vil1driver avec le "fourre-tout" à fonctions, mais je n'avais pas eu le temps de
me plonger la dedans, là ça va être l'occase de le faire, d'autant qu'il m'avait semblé voir que ça pouvait pas mal accélérer
certains traitements ...
Du boulot en perspective
PS: j'aurais besoin de petites précisions cependant :
- quel doit être le formalisme du nom du script ? toujours script_time ?
- A quoi sert la ligne :
Merci, j'avais vu les codes de Vil1driver avec le "fourre-tout" à fonctions, mais je n'avais pas eu le temps de
me plonger la dedans, là ça va être l'occase de le faire, d'autant qu'il m'avait semblé voir que ça pouvait pas mal accélérer
certains traitements ...
Du boulot en perspective
PS: j'aurais besoin de petites précisions cependant :
- quel doit être le formalisme du nom du script ? toujours script_time ?
- A quoi sert la ligne :
Code : Tout sélectionner
--commandArray[#commandArray + 1]={le code a éxécuter}Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Vider le log d'un dispositif TEXT
Autrement tu sais que les logs se vident d'eux même après le delai défini dans les paramètres ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Vider le log d'un dispositif TEXT
oui, mais tous les logs, là je ne veux vider que celui-ci, qui génère énormément de pages de logs, à chaque déplacement de mon tel.
Les autres logs ne prennent pas autant de place, et j'hésite à manipuler des fonctions de Domoticz que je ne comprends pas, je n'ai pas envie de perdre mes relevés de température ... qui ont l'ai gérés comme les logs ...
Les autres logs ne prennent pas autant de place, et j'hésite à manipuler des fonctions de Domoticz que je ne comprends pas, je n'ai pas envie de perdre mes relevés de température ... qui ont l'ai gérés comme les logs ...
Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
Re: Vider le log d'un dispositif TEXT
Bon,
j'ai commencé à tester le code pour démarrer le script tous les x jours,
mais j'ai un retour d'erreur sur la ligne :
log :
j'ai commencé à tester le code pour démarrer le script tous les x jours,
mais j'ai un retour d'erreur sur la ligne :
Code : Tout sélectionner
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}Code : Tout sélectionner
lua:31: field 'day' missing in date tableDomoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma