Bonjour,
Bloc code (ta condition « actuelle » de vigilance c’est $ar_VigilanceOrage[0]
) :
$VigilanceOrage = cmd::byString('#[Maison][XXXXXX_MeteoFrance][Vigilance - Orages conditions]#')->execCmd();
//utilisation d'un Regex pour explode selon ":" ou " . " ou "-"
$ar_VigilanceOrage = preg_split("/(: )|[.] |( - )/",$VigilanceOrage);
$texteVigilanceOrage = NULL;
foreach($ar_VigilanceOrage as $key => $value){
if(in_array($ar_VigilanceOrage[$key],array("Vert","Jaune","Orange","Rouge")) && ($key !=0)) {
if(($ar_VigilanceOrage[$key+2]) != "00:00") {
$texteVigilanceOrage .= 'De ' .$ar_VigilanceOrage[$key+1]. ' à ' .$ar_VigilanceOrage[$key+2] .' : ' .'Vigilance Orage ' .'--> ';
}
else {
$texteVigilanceOrage .= 'Après ' .$ar_VigilanceOrage[$key+1]. ' : ' .'Vigilance Orage ' .'--> ';
}
switch ($ar_VigilanceOrage[$key]) {
case "Vert" :
$texteVigilanceOrage .= '&' .'#x1F7E2' ."\n";
break;
case "Jaune" :
$texteVigilanceOrage .= '&' .'#x1F7E1' ."\n";
break;
case "Orange" :
$texteVigilanceOrage .= '&' .'#x1F7E0' ."\n";
break;
case "Rouge" :
$texteVigilanceOrage .= '&' .'#x1F534' ."\n";
break;
}
}
}
$scenario->setLog('__texteVigilanceOrage'.' -> '.$texteVigilanceOrage);
$tags = $scenario->getTags();
$tags['#Texte_Vigilance_Orage#'] = $texteVigilanceOrage;
$tags['#Condition_Vigilance_Orage#'] = $ar_VigilanceOrage[0];
$scenario->setTags($tags);
Dans un scénario qui reboucle toutes les 70 min pour déterminer si les horaires de vigilance ont changé (car mon déclencheur de scénario est du type #[Maison][XXXXXX_MeteoFrance][Vigilance - Orages niveau]# donc si le niveau de vigilance ne change pas le scénario n’est pas appelé de nouveau) :
Le bloc-code correspond aux emojis (à placer en tout début de scénario) est le suivant :
//Pour utilisation emoji https://unicode.org/emoji/charts/full-emoji-list.html
$tags = $scenario->getTags();
//$tags['#LogoRouge#'] = '&' .'#x1F534';
//$tags['#LogoOrange#'] = '&' .'#x1F7E0';
//$tags['#LogoJaune#'] = '&' .'#x1F7E1';
//$tags['#LogoVert#'] = '&' .'#x1F7E2';
$tags['#LogoFlocon#'] = '&' .'#x2744';
$tags['#LogoNeige#'] = '&' .'#x1F328';
$tags['#LogoTornade#'] = '&' .'#x1F32A';
$tags['#LogoOrage#'] = '&' .'#x1F329';
$tags['#LogoThermometre#'] = '&' .'#x1F321';
$scenario->setTags($tags);
J’appelle ensuite les Emojis par tag.
Pas d’autre choix que de procéder ainsi sinon le code des Emoji est converti dans le scénario et cela ne fonctionne pas par la suite.
Je passe par un trigger car je gère toutes les vigilances dans un unique scénario.
Ca donne ça dans Telegram :