Question sur un scenario en bloc code

Salut à tous

J’essaie d’optimiser mon dashboard afin de n’afficher que certaine fonction suivant des valeurs sur mon aspirateur.
En clair je veux que la fonction reset des capteurs ne s’affiche qu’a un certain moment.
Ca c’est bon j’ai reussi à le faire avec un bloc code.

code

// Récupérer la valeur de la commande
$temps = cmd::byString(« #[Robots][Alfred 2][Nettoyage des capteurs]# »)->execCmd();

// Récupérer la commande avec l’ID de la commande de reset
$cmd = cmd::byId(26668);

// Initialisation des variables
$jours = 0; $heures = 0; $minutes = 0; $secondes = 0;

// Extraction des valeurs
if (preg_match(‹ /(\d+)j/ ›, $temps, $matches)) $jours = $matches[1];
if (preg_match(‹ /(\d+)h/ ›, $temps, $matches)) $heures = $matches[1];
if (preg_match(‹ /(\d+)m/ ›, $temps, $matches)) $minutes = $matches[1];
if (preg_match(‹ /(\d+)s/ ›, $temps, $matches)) $secondes = $matches[1];

// Conversion en secondes
$totalSecondes = ($jours * 86400) + ($heures * 3600) + ($minutes * 60) + $secondes;

// Enregistrer la valeur dans une variable Jeedom
$scenario->setData(« temps_capteurs_secondes », $totalSecondes);

// Affichage dans les logs
$scenario->setLog(« Durée convertie : " . $totalSecondes . " secondes »);

// Récupérer la valeur de la variable Jeedom
$temps_capteurs_secondes = $scenario->getData(« temps_capteurs_secondes »);

// Vérifier si la variable existe et est bien définie
if ($temps_capteurs_secondes !== false) {

if ($cmd) {
    // Si la valeur est inférieure à 36000, rendre la commande visible
    if ($temps_capteurs_secondes < 36000) {
        $cmd->setIsVisible(1);
    } else {
        $cmd->setIsVisible(0);
    }
    // Sauvegarder les changements
    $cmd->save();
} else {
    $scenario->setLog("Erreur : Commande ".$cmdID." introuvable.");
}

} else {
$scenario->setLog(« Erreur : Variable temps_capteurs_secondes non définie. »);
}

J’aimerais savoir si je peux faire un deuxième bloc code dans le même scenario avec un autre capteur ou si je dois faire un scenario par capteur

Merci de vos retour

Bonsoir,

Comment est déclenché ce scénario ? Si c’est manuel ou programmé, tu peux tout a fait ajouter dans ce même scénario ou réadapter le code.

Salut,

J’ai sans doute lu un peu vite mais mettre les valeurs de tes capteurs en déclencheurs du scénario ne répondrait il pas à ton besoin ?

Le declencheur pour mon scénario cest la mise a jour de sa valeur

Si les 2 valeurs de tes 2 équipements sont susceptibles d’être mises a jours en même temps, le scénario se déclenchera qu’une seul fois.

Si tu n’a que 2 équipements a gérer duplique ton scénario et modifie simplement les commandes, je pense que c’est la solution la plus pratique et plus rapide.