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 😯
Dans 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.
Information utile pour les 3 /// 😉
on peut exécuter plusieurs scripts dans cette barre avec ou sans option
script:///home/pi/multiple.sh && /home/pi/test1.sh && /home/pi/test2.sh test test2
bonsoir,
merci pour les infos.
-> Il manque un « fi » à la fin du script radio.sh
J’ai pu mettre en place un module 8 relais pour piloter mes volets roulants par impulsion d’une seconde (sur un système code tournant propriétaire, donc télécommande officielle obligatoire).
Un relai = 1 commande (monte ou descend, donc 2 relais par volet ou groupe de volets)
Je commande par un script bash rangé dans /home/pi/domoticz/scripts/ et nommé relai.sh (exécutable lisible par tous -> chmod 755 relai.sh)
appel par son nom suivi du numéro de relai ex : relai.sh 3
appel de la fonction par :
interrupteur virtuel type volet roulant (blinds)
et action ON : script:///home/pi/domoticz/scripts/relai.sh 1
action Off script:///home/pi/domoticz/scripts/relai.sh 2
voilà c’est ma petite contrib à 1 cts 😉
Bonjour
Non ta contrib vaut plus que 1 cts , ne serait ce que pour le fi.
Merci