Scénarios : Petits codes entre amis

Hello , merci @kiboost pour ses explications sur les blocs code et aussi pour son travail sur le plugin jeerhasspy !que j’utilise depuis peu. (sur un PI3 avec un matrix voice…la classe en DIY !)

Je voulais partager ce bout de code avec vous: dans un scénario rattaché à un intent de Jeerhasspy je voulais récupérer l’action ouvre/ferme le volet n°x (qui peut aller jusqu’à 20 chez moi), mais je n’avais pas envie de coder tous les IF ELSE dans un scénario, et je voulais aussi éviter de passer toutes les conditions pour arriver à la 12ème.

J’ai donc créer un scénario avec un bloc code qui récupère le numéro de volet à actionner ainsi que l’action Up/Down (merci aux partages sur les slots et sentence.ini Rhasspy : sentences.ini) et qui génère l’action directement et voila :

$tags = $scenario->getTags();
if ($tags['#action_volet_rhas#']=="up")
	{
		$tags['#VoletActionTag#']="Monter";
}
if ($tags['#action_volet_rhas#']=="down")
	{
		$tags['#VoletActionTag#']="Descendre";
  		}
$tags['#monTag#'] = ("#[Maison][Volet ".$tags['#piece_volet_rhas#']."][Volet ".$tags['#piece_volet_rhas#']." - ".$tags['#VoletActionTag#']."]#");
cmd::byString($tags['#monTag#'])->execCmd();

Chez moi c’est opérationnel et ça fonctionne plutôt pas mal !

ps j’avais gardé les slots UP et DOWN, que je vais surement modifier par monter et descendre pour éviter le if dans le code.

a toutes fins utiles