[ Résolu ]Scénario sur MàJ dispo

Bonjour à tous,
Je souhaiterai faire une action dans un scénario lorsqu’il y a une info de mise à jour possible.
Comment faire car je ne vois pas de possibilité dans la doc du scénario ?
Merci d’avance !
DJo

Bonjour.

Vous avez cela dans les paramètres de Jeedom, partie logs.

Merci Fabrice !
Je suis allé voir dans les paramètres des log mais je ne vois pas comment faire quoi que ce soit quand j’ai une mise à jour plugin ou core pour que ça m’active un scénario…

Bonjour, regarde du coté du plugin jeelink… en le configurant sur toi même tu obtient pas mal d’infos sur l’etat des démons et l’etat des mise a jour… dans un scenario tu vas cherché l’info mise a jour… en déclencheur
image

1 « J'aime »

Je confirme que cela fonctionne bien avec jeelink

Merci Coke, c’est exactement ce qu’il me faut !
:+1:

Bonjour,

Dans les paramétrages de Jeedom, partie log :

Le scénario qu’appelle l’écran d’action du log :

Et c’est tout.

A chaque fois qu’un message est présent dans le centre de message de Jeedom, je reçois un émail avec tout le contenu du centre de message.

Voici deux exemples d’émail reçu :

Le Vendredi 11 Octobre 2019 à 6h00

Contenu du centre de message Jeedom :
[2019-10-11 06:00:17] (update) De nouvelles mises à jour sont disponibles : weather

Éteindre la led du Z-Stick :
http://mondnsici/core/api/jeeApi.php?apikey=monapikeyici&type=cmd&id=idcmdici

Le Lundi 7 Octobre 2019 à 9h15

Contenu du centre de message Jeedom :
[2019-10-07 09:15:03] (core) Attention [Sondes][Salle de bain] n’a pas envoyé de message depuis plus de 60 min (vérifiez les piles)

Éteindre la led du Z-Stick :
http://mondnsici/core/api/jeeApi.php?apikey=monapikeyici&type=cmd&id=idcmdici

1 « J'aime »

Merci Fabrice !
Je ne connaissais pas et c’est intéressant. Par contre on récupère tous les messages et non pas que l’info si MàJ dispo. C’est dommage qu’on ne puisse pas avoir la possibilité d’avoir la variable système directement qui donne le nombre de MàJ comme indiqué en haut à droite du dashboard pour en faire ce que l’on souhaite…
Cdlt,
DJo

Comme indiqué jeelink permet d’avoir le nombre de mise à jour en attente

bonjour

je cherche a savoir s il y a un moyen de mettre dans une variable le nombre de message ( carré orange ) sous jeedom pour pouvoir l’exploiter ensuite

merci de votre aide

Tu peux partager le code de la capture écran du scénario stp ?
Merci

c’est possible

<div class="cmd cmd-widget" data-type="info" data-subtype="string" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
  <div class="content-md" style="padding:5px;">
	<a id="messageModal" style="padding:5px;">
	<span class="btn" id="messageWarning" title="Nombre de messages"></span>
	</a>
	<a href="index.php?v=d&p=update" style="padding:5px;">
	<span class="btn" id="updateDanger"  title="Nombre de mises à jour"></span>
    </a>
  </div>
<script>
  /* Nombre de Messages */
  jeedom.message.number({
    error: function (error) {
      $('#div_alert').showAlert({message: error.message, level: 'danger'});
    },
    success : function (_number) {
      if (_number == 0 || _number == '0') {
        $('#messageWarning').hide();
      } else {
        $('#messageWarning').html(_number).show();
        $('#messageModal').on('click',function(){
  		$('#md_modal').dialog({title: "{{Centre de Messages}}"}).load('index.php?v=d&p=message&ajax=1').dialog('open');
		});
      }
    }
   });
    $('body').on('message::refreshMessageNumber', function (_event,_options) {
    jeedom.message.number({
    error: function (error) {
      $('#div_alert').showAlert({message: error.message, level: 'danger'});
    },
    success : function (_number) {
      if (_number == 0 || _number == '0') {
        $('#messageWarning').hide();
      } else {
        $('#messageWarning').html(_number).show();
      }
    }
   });
   });
  
  /* Nombre de Mises à jour */
  jeedom.update.number({
    error: function (error) {
      $('#div_alert').showAlert({message: error.message, level: 'danger'});
    },
    success : function (_number) {
      if (_number == 0 || _number == '0') {
        $('#updateDanger').hide();
      } else {
        $('#updateDanger').html(_number).show();
      }
    }
  });
  $('body').on('update::refreshUpdateNumber', function (_event,_options) {
    jeedom.update.number({
    error: function (error) {
      $('#div_alert').showAlert({message: error.message, level: 'danger'});
    },
    success : function (_number) {
      if (_number == 0 || _number == '0') {
        $('#updateDanger').hide();
      } else {
        $('#updateDanger').html(_number).show();
      }
    }
  });
  });
</script>
<style>
#messageWarning {
  font-size:14px!important;
  background-color: rgb(195, 125, 40) !important;
  }
#updateDanger {
  font-size:14px!important;
  background-color: rgb(185, 58, 62) !important;
  }
</style>
</div>
1 « J'aime »

Thanks…:wink::wink::wink:

Oui je peux :wink:

Le voici :

  $subject = $scenario->getData('message');
$lines = explode(PHP_EOL,$subject);
foreach ($lines as $line) {
  if (strpos($line,'Date:') !== false) {
   $arg = explode(": ", $line);
   $scenario->setData('AlarmeDate', $arg[1]);
  }
  if (strpos($line,'Message:') !== false) {
   $arg = explode(": ", $line);
   $scenario->setData('AlarmeMessage', $arg[1]);
  }
    if (strpos($line,'Par:') !== false) {
   $arg = explode(": ", $line);
   $scenario->setData('AlarmePar', $arg[1]);
  }
}

Je ne suis pas expert en PHP, j’ai surtout tenté d’utilisé ce qui était en exemple dans le plugin MailListener.
Et je l’ai fait corrigé par un collègue moi.

Il parse un mail que je reçois de mon alarme et créer les variables AlarmeDate, AlarmeMessage, AlarmePar

1 « J'aime »

merci
je n’ai pas le meme niveau je dois en faire quoi de ce code. je dois creer un widget un scenario . j’ai du mal avec tout ca. par contrez je sais tres bien applqué des consignes!!

merci de ton aide

Il suffit de le mettre dans un block texte dans un design

ok j’essaye

merci

ca marche
merci

je cherche a savoir si on peux mettre le nombre de message et le nombre de mise a jour dans des variables. la raison est que j’aimerai depuis mon design de mon jeedom principal avoir le nombre de message et de mise a jour de mon jeedom esclave ( via jeelink ) sans devoir a chaque fois mi connecter. si j’arrive a avoir les variables avec les valeurs je peourrais faire un design a partir de ces variables

merci de ton aide si c’est possible ce que je cherche a

bonjour @Nemeraud
J’ai pu utiliser son code sur un design qui fonctionne bien,
j’ai souhaité mettre en place la partie de @Fabrice pour m’envoyer un message, cela fonctionne aussi, sauf que je n’ai que les erreur et pas les mise à jour
ci-joint son code

// Récupere les textes présent dans le centre de messages
$msg = "";
$listMessage = message::all();
foreach ($listMessage as $message){
  	$msg .= "[".$message->getDate()."]";
  	$msg .= " (".$message->getPlugin().")";
  	($message->getAction() != "") ? $msg .= " (Action : ".$message->getAction().")" : null;
	$msg .= " ".$message->getMessage()."\n";
}
$tags['#msg#'] = $msg;
$scenario->setTags($tags);

j’aimerais bien lui ajouter la partie de ton code, mais avec un message claire de la mise à jour, pas le nombre.
Merci d’avance

j’ai trouvé ce code mais il ne me retourne aucun message

// Récupere les textes présent dans le centre mise à jour
$msg2 = "";
$listMessage = message::all();
foreach ($listMessage as $message){
  	$equipement=html_entity_decode($message->getMessage(), ENT_QUOTES | ENT_HTML5);
  	if (strripos($equipement,"disponibles")>0)
    {
    	$debut = strpos($equipement,":");
        $msg2 .= " ".substr($equipement,$debut+1,strlen($equipement)-$debut+1)."\n";
    }
}
 
$tags['#msg2#'] = $msg2;
$scenario->setTags($tags);