Pas de déclenchement d'action avec le plugin watchdog

bonjour, effectivement après avoir lu ton post, j’ai pu voir que tu utilisais la méthode OU.
mon problème se situe sur celle du ET.
Je prendrais un peu de temps pour faire un test en OU voir si j’ai bien les déclenchements dans les 2 sens
merci quand même pour ton retour
bonne journée

J’ai programmé ce matin un Watchdog ET pour tester. En fait j’ai 2 Watchdogs complémentaires, un en OU et son inverse en ET. Je devrais donc avoir l’action de l’un ou de l’autre qui se déclenche chaque jour à 10 heures.

Bonne journée !

1 « J'aime »

Mettez moi une notif (avec un @) pour me tenir informé de vos tests, merci à vous deux.

@sigalou : ce matin 10 heures j’ai bien reçu le message de mon Watchdog ET et rien du OU donc tout semble bien fonctionner !

Bon semblerait que l’anomalie soit plus chez moi du coup …
Pour ma part sur un jeedom v3.3.48 sous debian strech le plugin watchdog en version du 22/04
et vous ? @laurent.da-col @sigalou

ps: je fais des tests avec plusieurs watchdog (celui de départ, un second recréé du début en ET et un dernier en OU) dès que j’ai les résultats je partage

Pour moi sur Jeedom v4 84.0.52) et Watchdog du 22/04 également.

@EricGE : Si jamais tu as besoin que je fasse un test précis fais moi signe !

Je suis sous Jeedom 4 également

@sigalou, @laurent.da-col,
voici mes constats lors des tests :

  • 1 watchdog appelé « New_Test_Absence » c’est celui qui ne fonctionne pas depuis le départ. Méthode ET entre 2 fois la même commande.
  • 1 watchdog appelé «  » identique au précédent mais recréé de zéro au cas où quelque chose soit mal passé avec le précédent.
  • 1 watchdog appelé «  » Méthode OU entre 2 fois la même commande.

En toute logique quelque soit le virtuel, dès que je change l’état de ma commande, ils doivent tous passer de false à true et inversement quand je rechange la commande de sens.

Log sur déclenchement du CRON avant un changement d’état de la commande :

[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : Lancement CRON de >> New_Test_Absence <<
[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:02:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:02:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :PRECRON 27.04.2020 19:02:04
[2020-04-27 19:02:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : Lancement CRON de >> New_Test_Absence_ET <<
[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:02:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:02:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :PRECRON 27.04.2020 19:02:04
[2020-04-27 19:02:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : Lancement CRON de >> New_Test_Absence_OU <<
[2020-04-27 19:02:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:02:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:02:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:02:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :PRECRON 27.04.2020 19:02:04
[2020-04-27 19:02:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien

Log sur changement de ma commande (elle passe de 1 à 0) :

[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Lancement CRON de >> New_Test_Absence <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:03:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :PRECRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :CRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :SAVE 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Lancement CRON de >> New_Test_Absence_ET <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:03:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :PRECRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :CRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence_ET <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :SAVE 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence_ET <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Lancement CRON de >> New_Test_Absence_OU <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:03:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :PRECRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=True]--------------------> On lance Trigger
[2020-04-27 19:03:04][DEBUG] : On lance les actions qui correspondent au passage de **New_Test_Absence_OU** à True
[2020-04-27 19:03:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:03:04][DEBUG] : ** Exécution de la commande scenario avec comme option(s) : {"enable":"1","background":"0","scenario_id":"32","action":"start","tags":"Value=ON2"}
[2020-04-27 19:03:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :CRON 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence_OU <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:03:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :SAVE 27.04.2020 19:03:04
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence_OU <<
[2020-04-27 19:03:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien

Log sur changement de ma commande (elle passe de 0 à 1) :

[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : Lancement CRON de >> New_Test_Absence <<
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:04:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:04:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :PRECRON 27.04.2020 19:04:04
[2020-04-27 19:04:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=False]--------------------> On lance Trigger
[2020-04-27 19:04:04][DEBUG] : On lance les actions qui correspondent au passage de **New_Test_Absence** à False
[2020-04-27 19:04:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:04:04][DEBUG] : ** Exécution de la commande scenario avec comme option(s) : {"enable":"1","background":"0","scenario_id":"32","action":"start","tags":"Value=OFF"}
[2020-04-27 19:04:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:04:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :CRON 27.04.2020 19:04:04
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence <<
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:04:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-27 19:04:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :SAVE 27.04.2020 19:04:04
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence <<
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : Lancement CRON de >> New_Test_Absence_ET <<
[2020-04-27 19:04:04][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:04:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:04][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:04:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :PRECRON 27.04.2020 19:04:04
[2020-04-27 19:04:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=False]--------------------> On lance Trigger
[2020-04-27 19:04:04][DEBUG] : On lance les actions qui correspondent au passage de **New_Test_Absence_ET** à False
[2020-04-27 19:04:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:04:04][DEBUG] : ** Exécution de la commande scenario avec comme option(s) : {"enable":"1","background":"0","scenario_id":"32","action":"start","tags":"Value=OFF1"}
[2020-04-27 19:04:04][DEBUG] : **************************************************************************************************************************
[2020-04-27 19:04:05][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:05][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:05][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:04:05][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :CRON 27.04.2020 19:04:04
[2020-04-27 19:04:05][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:05][DEBUG] : SAUVEGARDE de >> New_Test_Absence_ET <<
[2020-04-27 19:04:05][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:05][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:04:05][DEBUG] : [eqLogic] preSave de New_Test_Absence_ET
[2020-04-27 19:04:05][DEBUG] : [*****dernierLancement1] de New_Test_Absence_ET vaut :SAVE 27.04.2020 19:04:05
[2020-04-27 19:04:05][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:05][DEBUG] : SAUVEGARDE de >> New_Test_Absence_ET <<
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : Lancement CRON de >> New_Test_Absence_OU <<
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-27 19:04:06][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-27 19:04:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:06][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:04:06][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :PRECRON 27.04.2020 19:04:06
[2020-04-27 19:04:06][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien
[2020-04-27 19:04:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:04:06][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:04:06][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :CRON 27.04.2020 19:04:06
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : SAUVEGARDE de >> New_Test_Absence_OU <<
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:04:06][DEBUG] : [eqLogic] preSave de New_Test_Absence_OU
[2020-04-27 19:04:06][DEBUG] : [*****dernierLancement1] de New_Test_Absence_OU vaut :SAVE 27.04.2020 19:04:06
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : SAUVEGARDE de >> New_Test_Absence_OU <<
[2020-04-27 19:04:06][DEBUG] : -----------------------------------------------------------------
[2020-04-27 19:04:06][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien

Je joins le log complet si c’est plus lisible depuis le fichier :wink: watchdog.txt (77,4 Ko)

Alors ce que je remarque c’est que sans changement d’état de la commande le log contient une seule ligne par commande puis ensuite le bilan global :

[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-27 19:02:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien

par contre dans le cas d’un changement d’état de commande, il y a 2 lignes de log par commande et avec l’enchaînement suivant : 2 lignes pour la commande 1, 1 ligne bilan global, 2 lignes pour la commande 2. Ensuite on trouve une notion « sauvegarde » avec 1 ligne bilan global …

[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-27 19:03:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence_ET <<
[2020-04-27 19:03:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=True]--------------------> On ne fait rien

Je n’ai pas sauvegardé durant mes tests, cette sauvegarde semble automatique quand il y a changement d’état. Si je comprends bien les log, le déclenchement est fait lorsque la ligne « Bilan global » est hors sauvegarde et que le résultat est différent du précédent.

Vu que cette ligne apparaît dans mon cas après la double le ligne de contrôle de la commande 1, le résultat d’un ET ne sera jamais à true, puisque la commande 2 n’a pas encore été évaluée.
Je ne sais pas si j’ai été clair dans mes explications pour le coup …

En ce qui me concerne le test en méthode ET fonctionne mais j’utilise la nouvelle option « Lancer une action à chaque contrôle en fonction du résultat ». Je viens de changer cette option pour remettre celle par défaut « Lancer une action uniquement si le contrôle change de valeur (par défaut) » afin de voir si j’ai le même problème.

Je ne reproduit pas le problème. Mon Watchdog en mode ET fonctionne correctement l’action se déclenche bien lorsque le résultat global passe de « false » à « true ». Le problème est-il dû au fait que tu utilises deux fois la même commande ???..

ah ok difficile si non reproduit chez d’autres …
je ne pense pas puisqu’à l’origine je voulais combiner un test sur cette commande et sur un temps de la commande supérieur à Tempo1.
Mais dans le doute je vais modifier mes watchdog en mettant 2 commandes différentes et refaire des tests.

j’ai refais des tests avec 2 commandes différentes et la méthode ET fonctionne.
Mais en voyant le log je ne pense pas que ce soit la raison.
Je m’explique, en mettant 2 fois la même commande les 2 états changent en même temps alors que dans le test que je viens de faire je teste mon badge et celui de ma femme. Durant mes tests, madame est absente du coup son badge a false. Quand je passe le mien à false , seule la valeur du mien change…
du coup je pense que si les 2 commandes changeaient en même temps, le ET ne fonctionnerait pas et c’est peut être pour ça que vous n’arrivez pas à reproduire chez vous … à confirmer
EDIT :
Je confirme ce que je disais sur le déclenchement simultané des commandes. Dans la nuit j’ai perdu la liaison BT avec mes NUT, les 2 commandes sont donc passées à False en même temps et je n’ai pas eu le déclenchement du watchdog de False à True mais uniquement le True à False au retour des badges.

@sigalou, ce qui me fait dire ça c’est vraiment le fait que les traces montrent le check uniquement de la première commande avant d’indiquer que le résultat global est identique ou différent …
En toute logique il faudrait évaluer, dans le cas d’un ET toutes les commandes, en faire le ET et l’indiquer en résultat global.
ci dessous le log :

[2020-04-28 18:50:05][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:50:05][DEBUG] : Lancement CRON de >> New_Test_Absence <<
[2020-04-28 18:50:05][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:50:05][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-28 18:50:05][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-28 18:50:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : False
[2020-04-28 18:50:06][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Alice][Present]# == 0 => Resultat : True
[2020-04-28 18:50:06][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-28 18:50:06][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :PRECRON 28.04.2020 18:50:05
[2020-04-28 18:50:06][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=False]--------------------> On ne fait rien
[2020-04-28 18:51:04][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:51:04][DEBUG] : Lancement CRON de >> New_Test_Absence <<
[2020-04-28 18:51:04][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:51:04][DEBUG] : * Avant de lancer le contrôle on lance les actions d'avant contrôle (s'il y en a).
[2020-04-28 18:51:04][DEBUG] : * Maintenant, on lance les contrôles :
[2020-04-28 18:51:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-28 18:51:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True
[2020-04-28 18:51:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-28 18:51:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :PRECRON 28.04.2020 18:51:04
[2020-04-28 18:51:04][DEBUG] : Bilan global : [Résultat Précédent=False] [Nouveau Résultat=True]--------------------> On lance Trigger
[2020-04-28 18:51:04][DEBUG] : On lance les actions qui correspondent au passage de **New_Test_Absence** à True
[2020-04-28 18:51:04][DEBUG] : **************************************************************************************************************************
[2020-04-28 18:51:04][DEBUG] : ** Exécution de la commande scenario avec comme option(s) : {"enable":"1","background":"0","scenario_id":"32","action":"start","tags":"Value=ON"}
[2020-04-28 18:51:04][DEBUG] : **************************************************************************************************************************
[2020-04-28 18:51:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 2** : #[AE_Home][Badge Alice][Present]# == 0 => Resultat : True
[2020-04-28 18:51:04][DEBUG] : [eqLogic] preSave de New_Test_Absence
[2020-04-28 18:51:04][DEBUG] : [*****dernierLancement1] de New_Test_Absence vaut :CRON 28.04.2020 18:51:04
[2020-04-28 18:51:04][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:51:04][DEBUG] : SAUVEGARDE de >> New_Test_Absence <<
[2020-04-28 18:51:04][DEBUG] : -----------------------------------------------------------------
[2020-04-28 18:51:04][DEBUG] : Bilan global : [Résultat Précédent=True] [Nouveau Résultat=True]--------------------> On ne fait rien

La question que je me pose, pourquoi lorsqu’il y a changement d’état de la commande 1, on trouve 2 fois la trace
[2020-04-28 18:51:04][DEBUG] : [Contrôle] Lancer le contrôle de **Badge 1** : #[AE_Home][Badge Eric][Present]# == 0 => Resultat : True

en regardant dans le code cette trace n’est qu’à un seul endroit à savoir dans la fonction « preSave » de la class « watchdogCmd ».
bon n’étant pas expert dans le code et encore moins dans les interactions avec jeedom j’ai du mal à comprendre la suite.
de ce que je comprends, la fonction « update » est lancée par le cron, mais je ne comprends pas comment est appelé le preSave que ne contient pas de boucle…

hello @sigalou, pas de piste sur ce comportement étrange ?

Hello @EricGE , je vois que vous n’avez finalement pas trouvé de réponse malgré vos tests respectifs, dommage.

Tu as probablement mis à jour, quelle option utilises-tu pour le mode de fonctionnement, la seconde option que j’avais faite pour @laurent.da-col ?

Je vais faire des virtuels et faire plein de tests dans le we.

Je vous porpose de créer un canal #watchdog sur notre slack de béta testeur si vous voulez y venir :
https://join.slack.com/t/alexaapi/shared_invite/zt-e0m14p9v-Pyc895076A5XiXjsA8VmvA

salut @sigalou, je confirme dommage …
je pense vraiment que le soucis se situe uniquement en cas de changement d’état des 2 contrôles entre 2 check du CRON … vu mes logs sur le fait que seul l’état d’un contrôle est fait avant d’évaluer le résultat. il faudrait savoir si chez toi c’est pareil.
vu que tu as des NUT, la manière simple d’avoir la même config que moi niveau Watchdog est d’en créer un avec 2 fois la commande de présence du NUT… en espérant le même résultat
sinon j’utilise en effet l’option de cette manière :

je n’utilise pas Slack mais si je comprends bien ceci permet de centraliser les tests de beta testeur, est ce bien cela ? je suis preneur, pas toujours du temps, mais quand j’en ai, faire des tests etc pour valider des MAJ ou des évolutions me semble intéressant pour tous :slight_smile:

cool, bienvenu :+1: :+1:

suite à la correction du 01/05, tout fonctionne normalement. merci

:+1: :grin: