Led "Watchdog" et PB abondance de Log

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.
Fred06
Messages : 32
Inscription : 14 nov. 2016, 15:32
Localisation : France - PACA

Led "Watchdog" et PB abondance de Log

Message par Fred06 »

Bonjour,

Mon appli Domoticz (Stable DomoticZ 2022.2) installée sur une Raspberry Pi 2 depuis quelques années assure :
- la gestion des fils pilotes de mon chauffage électrique,
- la commande du Chauffe Eau,
- la commande de la VMC, ...
Je l'avais conçue pour remplacer une basique commande de chauffage filaire programmable 2 zones EDEN (qui a rendue l'âme), par une solution à moindre coût et avoir une télécommande pilotable à distance via Internet :)
Malheureusement, il arrive que, soit la Raspberry, soit Domoticz se plante par moment.
De ce fait et pour garder un œil sur l'état de fonctionnement du système, j'ai ajouté un système de "LED Watchdog" avec les ports GPIO :
Un script à base de "crontab-10sec" active une LED via un GPIO, Domoticz ayant détecté le changement d'état de ce GPIO éteint la LED dans les 2 à 3 secondes. Par conséquence, la LED clignote... Si la LED reste dans un étét fixe, c'est qu'il y a une anomalie. Simple n'est-ce pas !!!

-> Mais l'effet pervers qui me pose problème à ce jour, est que ce changement d'état répété du GPIO LED est "loguer" dans la base de données Domoticz à raison de 5 à 6 changement d'état par minutes... et que j'aimerai ne pas enregistrer ceux ci, qu'ils soient tout simplement ignorés... pour préserver l'espace mémoire qui se rempli bien vite par des données inutiles.

Et c'est là où j'ai besoin d'aide.... et vous remercie pour toute idée sympathique car je patauge devant ce problème pourtant tout simple sans passer par la solution purge récurrente de la base.

Fred06
Fred06
--- Raspberry Pi 2 - Pi3 - Pi3+ - Pi4 - Esp01 -Esp32 - PiDrive - RFXtrx433E -
- Sondes Orégon - Télé-Info EDF - Cam Usb --- et plein d'autres choses ---
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Led "Watchdog" et PB abondance de Log

Message par Keros »

Tu peux simplement modifier le niveau de log dans le matériel. En enlevant Info, tu n'aurais plus toutes les lignes fines noires (ceci sera valable pour ton matériel "GPIO").
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
Fred06
Messages : 32
Inscription : 14 nov. 2016, 15:32
Localisation : France - PACA

Re: Led "Watchdog" et PB abondance de Log

Message par Fred06 »

Bonjour Keros,
Merci pour ta réponse.
J'ai fait le test, mais le fait de décocher les "Loglevel" dans "Matériel" n’empêche pas ceux-ci d'être enregistrés dans Domoticz...
Je vais m'orienter vers une solution 100% script pour ma LED ;)
@+
Fred06
Fred06
--- Raspberry Pi 2 - Pi3 - Pi3+ - Pi4 - Esp01 -Esp32 - PiDrive - RFXtrx433E -
- Sondes Orégon - Télé-Info EDF - Cam Usb --- et plein d'autres choses ---
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Led "Watchdog" et PB abondance de Log

Message par Neutrino »

Sinon passer par une variable utilisateur plutôt qu'un switch. Les variables n'ont pas d'historique.
Sinon, utiliser monit.
Mais j'avoue que le côté "alarme tout va bien" qui clignote quand tout va bien c'est sympa aussi ;)
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Fred06
Messages : 32
Inscription : 14 nov. 2016, 15:32
Localisation : France - PACA

Re: Led "Watchdog" et PB abondance de Log

Message par Fred06 »

;)

Le script lua dans Domoticz qui éteint la Led:

Code : Tout sélectionner

--
-- Sur Détection du changement d'état de la User variable 
--
commandArray = {}

if (uservariables['V_Led'] == 'On') 
then
    os.execute('gpio write 7 0')
    commandArray['Variable:V_Led'] = 'Off'
-- else
--     commandArray['Variable:V_Led'] = 'On'
end

return commandArray
Le fichier script qui allume la Led : /home/xxxx/domoticz/scripts/watchdog.sh
(avec xxx = votre nom de dossier user)

Code : Tout sélectionner

#!/bin/bash
# Script qui permet de faire clignoter une Led avec Domoticz
ip=127.0.0.1
port=8080
idx=29  ## Mettre ici  l'ID de la variable User de domoticz
name='V_Led'  ## Mettre ici le nom de la variable User
type=2
value='On'

while (true)
do
gpio write 7 1  ## mettre le n° du GPIO utilisé pour la Led
#echo GPIO mis a 1
sleep 2
## remplacer ici user:password par votre nom user et votre mot de passe de connexion à Domoticz 
curl -s "http://user:password@$ip:$port/json.htm?type=command&param=updateuservariable&idx=$idx&vname=$name&v
type=$type&vvalue=$value"

if [ $? = 0 ]; then     # Si variable mise a jour, on quitte 
#echo curl est passe
        sleep 3
fi
done
Ajouter dans sudo crontab la ligne (avec xxx = votre nom de dossier user)
@reboot /home/xxxx/domoticz/scripts/watchdog.sh

Et voilà :)
La Led clignote avec un cycle de 5 à 6 secondes quand domoticz est fonctionnel sans laisser de trace qui encombre les Logs


Fred06
Dernière modification par Keros le 22 déc. 2022, 18:26, modifié 1 fois.
Raison : Remplacement des balises
Fred06
--- Raspberry Pi 2 - Pi3 - Pi3+ - Pi4 - Esp01 -Esp32 - PiDrive - RFXtrx433E -
- Sondes Orégon - Télé-Info EDF - Cam Usb --- et plein d'autres choses ---
Répondre