DZVENTS : Comment effacer les logs d'un capteur texte

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

DZVENTS : Comment effacer les logs d'un capteur texte

Message par denis_brasseur »

Bonsoir à toutes et tous,

depuis un script LUA, je sais effacer les logs (d'un capteur texte) avec une commande json :

Code : Tout sélectionner

/json.htm?type=command&param=clearlightlog&idx=id
Je souhaite faire la même chose depuis un code en dzvents, y a t il une commande pour le faire, ou bien dois je envoyer la même commande en json ?
Je n'ai rien trouvé de tel dans la doc dzvents.
Je sais que je peux modifier le nombre de jours de log dans Paramètre, mais cela concernerait l'ensemble des devices.
Une idée ?
Je rafraichis la valeur de device texte toutes les 5 minutes, mais l'historique de ces capteurs ne m'intéresse pas, je ne souhaite conserver que la valeur affichée.
Merci d'avance pour les spécialiste dzvents.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par Keros »

Je lancerai cette action depuis l'URL. Je ne sais pas s'il existe une fonction Dzvents pour ça. Pour moi la différence serai seulement un bout de code plus simple.
Maintenant tu peux aussi créer une fonction > l'adresse url serait en haut et ton script serait peut-être un peu plus lisible (sans la grosse chaine url en plein milieu).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par denis_brasseur »

C'est effectivement la méthode que j'ai utilisé en LUA, fonction dans mon module.lua et appel de la fonction à la demande via deleteLogtext(idx).
Je vais reproduire la même fonction, je n'ai pas trouvé de fonctionnalité permet de le faire directement.
Merci
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par denis_brasseur »

Voici la fonction LUA transcrit en DZVENTS :

Code : Tout sélectionner

--jsonAPI('type=command&param=clearlightlog&idx=idx')
function jsonAPI(apiCall)
	domoticzIP = '127.0.0.1'
	domoticzPORT = '8080'
	domoticzUSER = 'pi'     -- nom d'utilisateur
	domoticzPSWD = 'djgdjgjqgdjgc'       -- mot de passe
	domoticzURL = 'http://'..domoticzIP..':'..domoticzPORT
	curl = '/usr/bin/curl -m 15 '   -- ne pas oublier l'espace à la fin
	--print(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?'..apiCall..'" &')
	os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?'..apiCall..'" &')
end
L'appel à la fonction se fait avec :

Code : Tout sélectionner

jsonAPI('type=command&param=clearlightlog&idx=3741')
Il est évidement possible d'envoyer d'autres syntaxes.
Source d'inspiration :
dzVents: Interact with all switches and sensors using JSON with an optional delay argument

EDIT 07h42 : ajout de domoticzUSER et domoticzPSWD
Dernière modification par denis_brasseur le 21 nov. 2020, 07:46, modifié 2 fois.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par Keros »

Merci Denis, je vais mettre cette fonction de coté, je pense qu'elle va servir ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
inter-rupteur
Messages : 25
Inscription : 08 oct. 2020, 08:24

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par inter-rupteur »

Bonjour à tous,

j'ai un switch On/Off. Comment je pourrais en utilisant ce script, effacer seulement les "Off" et ne garder que les "On" dans les logs de ce switch ?

Code : Tout sélectionner


--jsonAPI('type=command&param=clearlightlog&idx=idx')
function jsonAPI(apiCall)
	domoticzIP = '127.0.0.1'
	domoticzPORT = '8080'
	domoticzUSER = 'pi'     -- nom d'utilisateur
	domoticzPSWD = 'djgdjgjqgdjgc'       -- mot de passe
	domoticzURL = 'http://'..domoticzIP..':'..domoticzPORT
	curl = '/usr/bin/curl -m 15 '   -- ne pas oublier l'espace à la fin
	--print(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?'..apiCall..'" &')
	os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?'..apiCall..'" &')
end

jsonAPI('type=command&param=clearlightlog&idx=3741&Status=Off')


j'ai essayé cette combinaison mais cela ne marche pas...


Merci à vous pour votre aide.

Inter-Rupteur
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par Neutrino »

Bonjour,
Malheureusement, ce n'est pas possible.
Et depuis la dernière maj il ne conserve dans l'historique que le premier ordre. Si tu envoies 4 on, il n'affichera que le premier avec en dernier maj l'heure du dernier.
A voir quel est ton besoin...
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
inter-rupteur
Messages : 25
Inscription : 08 oct. 2020, 08:24

Re: DZVENTS : Comment effacer les logs d'un capteur texte

Message par inter-rupteur »

Salut Neutrino,

merci pour ton retour. ;)

Je me tire les cheveux (malgré le peu qui me reste...) à essayer de créer un script mais en vain... Je vais créer un nouveau post pour exposer ainsi qu'expliquer mon souci et ne pas polluer celui là ...


Inter-Rupteur
Répondre