Bloc code: trouver toutes les commandes en alerte (Warning ou Danger)

Bonjour,
Je cherche à exploiter les possibilités de définir des niveaux d’alerte individuellement sur les commandes (type info). En utilisant l’onglet « Alerte » à chaque commande on peut définir la/les conditions et cela marche bien.
Je voudrais, en bloc code, lister toutes les commandes qui sont en situation d’alerte (warning ou danger) mais je ne trouve pas la bonne méthode/fonctions. Voici un début de code :
// On cherche toutes les commandes info

$allCmds = cmd::all();
foreach ($allCmds as $cmd) {
  	if ($cmd->getType() == 'info' ) {
      	
    }
}

Une idée ?
cdt

voilà un exemple simpliste bien décomposé par variable basé sur ta boucle de recherche, après tu pourras recompacter et optimiser :

$allCmds = cmd::all();
foreach ($allCmds as $cmd) {
  	if ($cmd->getType() == 'info' ) {
		if ($status_eq=$cmd->getAlert('warningif') !='')  {    	
            $eq = $cmd->getEqLogic();
            $human = $eq->getHumanName();
	  		$scenario->setLog(' alerte = '.$human);
        }
		if ($status_eq=$cmd->getAlert('dangerif') !='')  {    	
            $eq = $cmd->getEqLogic();
            $human = $eq->getHumanName();
	  		$scenario->setLog(' alerte = '.$human);
        }
    }
}

Super merci :slight_smile:

tu peux aller jeter un œil ici et t’en inspirer … Fait avec des notifs plugin-jeedomconnect mais pas imperatif, bien sur

Il faut aller voir dans la partie vérification des batteries et des dernières communications.

Norbert

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.