Scenario,code lancement d un scénario de notification

Bonsoir je cherche à modifier ce bout de code,
Pour pouvoir remplacer le destinataire par le lancement d un scénario (centre de notification) avec rajout de tag propre à ce dernier , une idée ?

‘’$title='Vigilance météo';
$destinataire = '#[xxxxxx][Xxxxx]';
$destinataire .= '[xxxxxx]#';
$message = " <img src='html/data/img/Xxxxxxx.png'";
$options = array('title'=>$title, 'files'=>array("/var/www/html/data/img/xxxxxxxxxxx.png"),'message' => 'Break in news ,  xxxxx');
cmd::byString($destinataire)->execCmd($options, $cache=0);’’
1 « J'aime »

Salut,

Je ne sais pas si ça correspond à ta demande mais je te propose ce code (attention, non testé) :

// Récupération des tags passés en paramètre.
$tags = $scenario->getTags();

$title = isset($tags['#destinatairePath#'])?$tags['#destinatairePath#']:''; // '' vide par défaut;
$destinatairePath = isset($tags['#destinatairePath#'])?$tags['#destinatairePath#']:'[xxxxxx][Xxxxx]'; // [xxxxxx][Xxxxx] valeur par défaut
$destinataireName = isset($tags['#destinataireName#'])?$tags['#destinataireName#']:'[xxxxxx]'; // [xxxxxx] valeur par défaut
$message = isset($tags['#message#'])?$tags['#message#']:'Xxxxxxx' // Xxxxxxx valeur par défaut
$image = isset($tags['#image#'])?$tags['#image#']:'Xxxxxxx' // Xxxxxxx valeur par défaut
$optionsImage = "/var/www/html/data/img/" . (isset($tags['#optionsImage#'])?$tags['#optionsImage#']:'xxxxxxxxxxx') . "png" // xxxxxxxxxxx valeur par défaut
$optionsNews = 'Break in news ,  ' .  . (isset($tags['#optionsNews#'])?$tags['#optionsNews#']:'xxxxxxxxxxx') // xxxxx valeur par défaut

$destinataire = '#' . $destinatairePath;
$destinataire .= $destinataireName . '#';
$message = " <img src='html/data/img/" . message . ".png'";
$options = array('title'=>$title, 'files'=>array($optionsImage),'message' => $optionsNews);
cmd::byString($destinataire)->execCmd($options, $cache=0);

Bonjour, merci pour ton retour !

Le destinataire peut il être remplacé par l exécution d un scénario qui me centralise mes notifs avec tag: cki- scénario d origine, qui-monsieur ou madame, priorité-vert, jaune , orange, rouge.)

1 « J'aime »

C’est déjà le cas ici dans mon exemple avec la première ligne qui récupère les tags que tu peux passer :
$tags = $scenario->getTags();

Ensuite tu peux faire le traitement souhaité.

1 « J'aime »

Bonjour
J’ai fais un scénario comme celui-ci (avec le multi-lancement de coché pour qu’il puisse être appelé plusieurs fois)

Je lance ensuite le scénario avec les tags suivant renseignés:

  • Titre=tag(NotiTitre)
  • Message1=tag(NotiMessage1)
  • Message2=tag(NotiMessage2)
  • Message3=tag(NotiMessage3) - Si les tag sont vides, cela n’envoie rien sur les ligne 1, 2 et 3.
  • Henri=1 Maude=1 Anne=1 (Comme tu peux le voir dans les SI, si un Tag « utilisateur » n’est pas mentionné, ça ne lui envoie pas de message, car la valeur par défaut du tag est 0)
  • NTi : Si je veux que le message soit envoyé en boucle (jusqu’a ce que quelqu’un appuis sur une action prévu sur l’appli mobile) je renseigne ce Tag; Si NTi=200, le message partira jusqu’a 200 fois toute les 30 secondes.

Il faut mettre le texte dans des tags (ex: NotiTitre) car sinon, tu ne peux pas faire « d’espace ».
De plus cela donne beaucoup de possibilité comme avec un titre, lui même, composé de tag !!
Exemple sur le scénario de détection de fummée :

Tu peux aussi doubler les messages par l’envoie d’un mail (télégrame, etc…) en même temps.
Ici avec le tag Mail = 1

bref, les possibilités sont infinis…

Merci pour vos retours je regarderais ce week-end pour mettre cela en place.

2 « J'aime »

Salut, je n arrive pas a reproduire …
Pourtant simple remplacer une commande par un envoie de scenario
Destinataire remplace parcceci:
$sc = scenario::byId(« 75 »);
$sc->launch(‹ scenario ›, 'Lancé par ’ . $scenario->getHumanName());

‹  ›– Start : Scenario lance manuellement. [][SCENARIO] - Exécution du sous-élément de type [action] : code [][SCENARIO] Exécution d’un bloc code [][SCENARIO] syntax error, unexpected ‹ $image › (T_VARIABLE) [][SCENARIO] Fin correcte du scénario’’

Salut,

Tu veux appeler un scénario depuis un bloc code ? Ce n’est pas le bon code.
Regarde de ce côté pour ajouter les tags à un appel de scénario : Est-il possible de récuperer le l'id d'un scénario à partir de son nom? - #2 par chris94440

          $sc = scenario::byId(75);
          if (is_object($sc)) {
              if ($tags != null) {
                  $sc->setTags($tags);
              }
              $sc->launch();
          } 
1 « J'aime »

Merci beaucoup!!!
J’avance bien.

-le code execute parfaitement mon scenario centre notif.
-je reçois bien les notifs

Reste a gérer le message qui est vide ,
je pense a un problème de tag mal renseigné ou de fonction qui n envoie pas a mon scénario.
Mais pour un novice complet du code, je suis déjà content du résultat.
Pour la gestion des notifications, c’est plus propre et plus simple de passer par un scenario de gestion de ces dernières .

Un problème de lien de l’image du message ?
Tu peux essayer avec un texte simple ?

Je pense pas a un problème de lien car sur mon premier post « code » l image passe bien en commande direct?!
je vais essayer quand meme texte simple

teste simple fonctionnement ok

Tu n’as pas de /var/www au début du lien mais tu l’as dans les options. Essaie avec ?

non identique champs vide

1 « J'aime »


l image est présente dans le log!

1 « J'aime »

Et bien j avance peu , la fonction options crée bien un tableau, car dans la notification j ai un cadre mais pas d image .Mon code doit sans doute être incomplet.

@Flobul. @jeandhom. @noodom

Demande avis :pourquoi le premier code le destinataire reçoit bien la photo, et sur le deuxième code en passant par un scénario. Je reçois simplement un cadre sans image?

Salut,

je ne comprends pas vraiment ce que tu as voulu faire dans le 2ème cas ?

  • J’ai un doute sur l’appel du scénario à la fin : tu reprends mon code plus haut avec le même id de scénario (75) : $sc = scenario->byId(75);. Tu appeles donc un scénario qui aurait le même id que mon exemple ? Heureux hasard mais j’ai un doute :wink:
  • Sinon, tu récupères les paramètres de ton scénario mais tu ne t’en sers pas : tu en crées de nouveaux (toujours identiques donc) et tu appelles ensuite un nouveau scénario (d’id 75) : que fait ce scénario ? Il faudrait sa capture pour t’en dire plus.

Salut, et bien figure toi que mon scénario centre de notif vieux de 6mois à un ID == À 75 :rofl:


Voici une partie
Il est découpé en 4 avec des tags pour priorité baptisé vert, jaune, orange, rouge ,j utilisé surtout avec jeedom connect avec canaux de même couleurs.
C est pour cela pour ne pas disperser mes notifications que je veux tout passer par là

Les deux captures précédentes sont bien deux scénarios distincts
Le premier est ok
C est le 2eme avec appel de mon scenario id75 où l image ne suit pas …

Alors ça c’est énorme :sweat_smile:

Sinon, attention, mets plutôt tag(QUi) que #QUI# qui est l’ancien format de tags et qui peut ne plus être reconnu par jeedom à tout moment. (Pareil pour tous les tags bien sûr)

Sinon il faut les logs pour voir où ça coince.