Je cherche qq chose de simple mais je n’y arrive pas.
Je souhaite que par défaut pour tous les équipements qui ont une batterie (donc pas besoin de faire de la conf lorsque l’on supprime ou l’on ajoute des devices) avoir une alerte sur un virtuel binaire.
Ci dessous des alertes mais c’est uniquement de type messages, donc mail ou SMS ou autre.
C’est normale, ton widget est pour un binaire, il peut donc être attribué qu’a un binaire.
Il faut donc
et donc le renommer en cmd.info.numeric.monwidgetWarning.html
Edit :
En faite en regardant tes captures, je ne comprend ce que tu veux faire !
moi je parlait d’avoir une commande virtuel qui duplique ta commande « batterie », et de faire un widget qui en fonction de la valeur, affiche ta pastille. Tu pourrais même éviter le virtuel et appliquer ce nouveau widget directement a ta commande « batterie »
Edit 2 :
Il est même possible dans un widget code de récupérer directement l’indiquation de commande en « warning » ou en « danger », ce qui s’simplifie le code. pas besoin de faire des Si > 20…
Edit 3 (Oui je sait, sa fait beaucoup d’edit ) :
En relisant ton post je vient de saisir ton besoin.
En faite tu veux une synthèse, donc dès qu’il y a un équipement en warning, une commande d’un virtuel passe a 1.
c’est bien ca ?
Non justement, le core accepte seulement une commande de type message sur les actions sur alertes.
Pour ton besoin, je pense qu’il faut passer par un scénario programmer, et un bloc code qui permet de scanner tous les équipement pour en sortir une synthèse, puis ensuite faire un event dans une commande d’un virtuel.
Le code met a dispo un tag (alert), le tag vaut 1 si il y a au moins une alerte batterie sur un équipement, 0 si tout est ok.
Te restera a faire ce que tu veux du tag de sortie, comme par exemple alimenter un virtuel en binaire :
en piochant a droite et gauche sur le forum j’ai fait se bout de code qui fonctionne avec telegram
$cmdId = "977"; // remplacer par l'id de la commande notification souhaitée.(telegram)
$message = "Danger"; // non du titre
$cmd = cmd::byId($cmdId);
$eqLogics = eqLogic::all(TRUE);
$eqLogicsAll = eqLogic::all();
foreach ($eqLogicsAll as $eqLogic) {
if ($eqLogic->getStatus('batterywarning', 0) != 0 || $eqLogic->getStatus('batterydanger', 0) != 0) {
$eqLogicName = $eqLogic->getName();
$message .= "\u{1F534} - <strong>" . $eqLogicName .'</strong> batterie faible' ;
break;
}
}
//$message=str_replace("|","\n",$message);
$options = array('message'=> $message);
$cmd->execCmd($options);
Pour l’instant j’ai qu’un device en pile basse et il 'envois son état
Je vais attendre d’avoir un deuxième device en pile basse pour voir si sa m’envois la total