Supprimer le log pour un appareil trop verbeux

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
f-d-m
Messages : 156
Inscription : 25 juin 2019, 21:36

Supprimer le log pour un appareil trop verbeux

Message par f-d-m »

Bonjour,
J'ai relié ma centrale d'alarme à ma domotique Domoticz.
J'utilise l'alarme pour informer Domoticz de la présence dans la maison, et pour cela lors de passages devant les détecteurs l'alarme envoie une commande http à Domoticz pour activer un switch virtuel, afin de mettre des futurs automatismes pour l'éclairage ou le chauffage.

C'est mis en place des deux côtés et ça fonctionne.

Le problème c'est que le log est pollué avec des milliers de lignes identiques chaque fois qu'on est détecté.

Exemple:

Code : Tout sélectionner

2025-02-07 14:44:05.199 Status: User: x(IP: 192.168.x.x) initiated a switch command (116/Présence Maison/On)
2025-02-07 14:44:05.214 virtual: Light/Switch (Présence Maison)
2025-02-07 14:44:10.243 virtual: Light/Switch (Présence Maison) 
La 3è ligne se produit 5 secondes plus tard parce que j'ai mis un "off" automatique sur le device.

Alors j'ai tenté le coup en employant la commande:

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=116&nvalue=1;0
et magie, il n'y a plus rien.. sauf le "auto-off" qui est programmé 5 secondes plus tard qui est quand même loggué. Comme le dit la documentation, avec param=udevice, aucune action dépendante de ce switch ne serait activée. Donc c'est plus ou moins un coup dans l'eau.

Est-ce quelqu'un parmi vous a une grande idée pour réduire le log au silence, dans le cas d'un device trop verbeux ?
---
Bruxelles

RPi 3B, Domoticz 2024.7, SSD, dongle Zigbee Sonoff
IPX-800 V3
multiples Sonoff et similaires (Tasmota, ESPeasy), multiples appareils Zigbee
SMA Sunny Boy 3.6
Ksenia Lares 4.0
Compteur digital à la norme DSMR5 - interface ESP32
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Supprimer le log pour un appareil trop verbeux

Message par lost »

Bonjour,

Pourquoi ne pas utiliser, en info de présence/absence, l'état d'activation de l'alarme? Normalement quand on est là elle est inactive et inversement? Ce serait plus simple de limiter cela à la source à mon sens.

Là, l'info de détection va dans les logs et il n'est à ma connaissance pas possible de désactiver cela par interrupteur ou autre. Juste globalement.

Il y a peut-être aussi moyen de faire mieux que d'envoyer un état systématiquement via l'api HTTP/JSON, même s'il n'a pas changé (soit en prenant en compte le dernier état envoyé et ne le faire que s'il a changé, sinon en lisant l'état du switch avant d'envoyer, seulement si pas déjà l'état actuel)? Après ça dépendra de ce qu'offre le côté source de l'info (alarme) comme possibilité.

Maintenant, j'ai également des trucs qui reportent de manière très verbeuses et ce n'est pas un si gros pb: En particulier le wattmètre qui est en entrée de tableau elec qui envoie des mesures (avec les logs correspondants) dès que W/I/V/CosPhy changent de 1% et je pourrais certes changer ce seuil, mais comme j'intègre les mesures de W sur 10mn glissantes pour calculer des moyennes sur ces tranches de temps et avoir des graphes plus réalistes de ma conso journalière que les bêtes échantillons de période 5mn que domoticz utilise nativement et qui ne représentent pas grand chose pour des valeurs qui varient bcp sur ces 5mn (c'est pas une température ou une hygro), je ne peux pas trop régler ce pb à la source sauf à perdre en précision pour mes moyennes!

Au moins quand y'a un truc qui ne semble pas fonctionner comme il faut on a tout le contexte, par contre il faut contenir la taille du log (j'ai un cron qui fait un truncate périodiquement sur le log domoticz) si on l'envoie dans un fichier et envoyer cela sur un tmpfs en ram (genre /tmp) bien dimensionné afin de ne pas affecter la carte mémoire d'un PI.

Tout ce qui est emmerdant à renvoyer des infos inchangées, c'est que les last_update ne veulent alors plus rien dire. Mais si on n'en a pas l'usage...
f-d-m
Messages : 156
Inscription : 25 juin 2019, 21:36

Re: Supprimer le log pour un appareil trop verbeux

Message par f-d-m »

Merci @lost !

Je retiens ceci:
lost a écrit : 07 févr. 2025, 15:44 l'info de détection va dans les logs et il n'est à ma connaissance pas possible de désactiver cela par interrupteur ou autre
Tant pis on fera avec.
lost a écrit : 07 févr. 2025, 15:44 j'intègre les mesures de W sur 10mn glissantes pour calculer des moyennes sur ces tranches de temps
Tu fais ça avec Domoticz ou bien avec des scripts externes ?
Par exemple j'ai mis une alerte de porte de garage laissée ouverte "trop longtemps", de l'ordre de 1/4h, je me suis résolu à scripter ça en allant chercher son statut ouvert/fermé toutes les 5 minutes. Je n'ai pas trouvé comment faire ça avec Dz et c'est sans doute tout con.
lost a écrit : 07 févr. 2025, 15:44 bien dimensionné afin de ne pas affecter la carte mémoire d'un PI.
Bon, je lui ai collé un petit SSD il y a 3 ou 4 ans. Mon espérance de vie restante est inférieure à celle du SSD !

Code : Tout sélectionner

231 SSD_Life_Left           0x0000   096   096   000    Old_age   Offline      -       96
---
Bruxelles

RPi 3B, Domoticz 2024.7, SSD, dongle Zigbee Sonoff
IPX-800 V3
multiples Sonoff et similaires (Tasmota, ESPeasy), multiples appareils Zigbee
SMA Sunny Boy 3.6
Ksenia Lares 4.0
Compteur digital à la norme DSMR5 - interface ESP32
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Supprimer le log pour un appareil trop verbeux

Message par lost »

f-d-m a écrit : 08 févr. 2025, 10:10 Tu fais ça avec Domoticz ou bien avec des scripts externes ?
C'est un script Lua qui fait l'intégration discrète mesure*durée (utilisant un virtuel en une variable utilisateur) afin de calculer une moyenne sur une tranche de temps cible de 10mn (>5mn, période ou domotics échantillonne en BDD/graphes, donc on ne perds aucune moyenne et on a une image temporelle fiable de sa conso).
Ce n'est hélas pas une fonctionnalité que domoticz intègre nativement...
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: Supprimer le log pour un appareil trop verbeux

Message par Flying Domotic »

Pour revenir à la question initiale, je pense que désactiver "Log level: Info" et "Etat" sur les paramètres du matériel "Dummy (Does nothing, use for virtual switches only)" dans l'onglet "Configuration" > "Matériel" peut aider.

"Info" semble lister les changements des dispositifs, et "Etat" les lignes "User xxx initiated ..."

Ces paramètres agissent sur la totalité des dispositifs virtuels. Si supprimer les messages pour tous n'est pas acceptable, on peut créer un second matériel de type "Dummy", et ne désactiver les paramètres que pour celui là (auquel on peut ajouter habilement "non tracé" dans le nom). Il suffit ensuite de créer les dispositifs qu'on souhaite silencieux avec ce matériel (plutôt que celui existant initialement, qui trace tout).
f-d-m
Messages : 156
Inscription : 25 juin 2019, 21:36

Re: Supprimer le log pour un appareil trop verbeux

Message par f-d-m »

Flying Domotic a écrit : 09 févr. 2025, 11:54 ...on peut créer un second matériel de type "Dummy", et ne désactiver les paramètres que pour celui là...
Merci pour cette bonne idée, ça fonctionne ! Pour ce nouveau hardware de type Dummy, j'ai désactivé les niveaux de log Info et Status, et j'ai créé un virtual switch "Test cuisine (nolog)".

Les messages de ce type "2025-02-09 23:44:44.743 virtual: Light/Switch (nom du switch)" n'apparaissent plus.

Il reste encore la sollicitation http qui loggue en couleur verte :
2025-02-09 23:53:41.292 Status: User: x (IP: 192.168.x.x) initiated a switch command (187/Test cuisine (nolog)/On)

alors que lors de l'emploi de param=udevice rien n'est affiché...

Je crois que je vais arrêter de vous embêter avec ça :? merci à vous ! ;)
---
Bruxelles

RPi 3B, Domoticz 2024.7, SSD, dongle Zigbee Sonoff
IPX-800 V3
multiples Sonoff et similaires (Tasmota, ESPeasy), multiples appareils Zigbee
SMA Sunny Boy 3.6
Ksenia Lares 4.0
Compteur digital à la norme DSMR5 - interface ESP32
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: Supprimer le log pour un appareil trop verbeux

Message par Flying Domotic »

Zarbi ... En principe, Status aurait dû le supprimer. Il faudrait voir le code, il y a peut être un raccourci (comprendre un bug) lorsque la commande est temporisée ...
Répondre