Interrupteurs et Action !

Dans les propriétés d’un interrupteur on trouve deux champs nommés Action On et Action Off qui permettent de déclencher une url http ou https  ou un script lors du basculement de cet interrupteur.

Je voudrais revenir ici sur l’utilisation de ces 2 champs mais plus particulièrement sur le fonctionnement du mode script://

Script://

Ce mode permet donc d’exécuter un script, quelque soit son langage, en précisant ici le chemin complet vers le script en question du style /home/pi/domoticz/scripts/mon_script.php

Donc ATTENTION : puisque la commande est script:// et que mon chemin est /home/pi/domoticz/scripts/mon_script.ph, il faut donc 3 / apres le script :

Oui,oui 3 😯

Action_on_Action_offDans des versions anciennes de Domoticz cela fonctionnait même avec 2 / uniquement mais depuis quelques version les 3 sont obligatoires, donc n’oubliez pas !!

Ce mode script permet de lancer des scripts dans n’importe quel langage du moment que votre script commence bien par un shebang pour que le shell sache quel langage appeler pour l’exécution de votre script://

Éventuellement le chemin complet peut être nécessaire à préciser si votre PATH ne contient pas le chemin vers votre langage de script.

#!/bin/sh -x
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f
#!/usr/bin/python

http://

Rien de spécial à préciser, introduisez ici l’url complète à appeler avec tous les paramètres nécessaires.

Seule remarque : A ce jour le https n’est pas supporté dans les Action On et Action Off,.

Il faudra  passer par un script de votre langage préféré qui,lui, saura faire du https puis indiquer ce script:/// dans Action

PS : on me signale à l’oreillette que l’on peut exécuter plusieurs scripts dans cette barre avec ou sans paramètres. On sépare chacun des scripts par des &&, on fourni les paramètres après l’appel du script (bien entendu votre script doit savoir les gérer…)

Ainsi ; script:///home/pi/multiple.sh && /home/pi/test1.sh && /home/pi/test2.sh test test2

Lance multiple.sh et test1.sh et test2.sh en donnant test1,test2 au script test2

Après concertation avec le staff technique, une autre astuce mérite de figurer ici

C’est le passage de paramètres depuis un script:///

Exemple :

  • dans mon action on  je mets script:///home/pi/…/radio.sh allume
  • dans mon action off je mets script:///home/pi/…/radio.sh eteint

puis mon script radio.sh commencera par un

 

#!/bin/bash
if [ "$*" = "allume" ] ; then
mon action pour faire allume
elif [ "$*" = "eteint" ] ; then
mon action pour eteint
fi

C’est bien entendu adaptable à d’autre langages qui gèrent les passages de paramètres.

Merci a jackslayter pour ces complément.

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/