Passer des paramètres à un script depuis une commande

Bonjour !

Retour à Jeedom après quelques mois d’inactivité : du coup, mon sujet ici a été clôturé :sweat_smile:

J’ai fait comme a suggéré @Oleeve : j’ai créé un script avec différentes commandes (une pour chaque position de la caméra), que je peux appeler depuis les scénarios.

Ensuite, j’ai ajouté des commandes à ma caméra : par exemple, une commande Allée qui appelle la commande du script chargée de bouger la caméra sur la position 2. De cette manière, cela ajoute un bouton Allée sur le widget : il n’y a qu’à cliquer pour déplacer la caméra.

J’ai néanmoins un question sur l’utilisation du plugin Script. Chaque commande déclenche un appel curl, exactement comme sur la capture d’écran d’@Oleeve : elle précise donc à chaque fois explicitement l’IP de la caméra, l’utilisateur, son mot de passe, et le numéro de la position.
Du coup, si je veux une autre position, je dois ajouter une nouvelle commande au script en ne changeant que le numéro de la position, et une commande à la caméra pour appeler celle du script ; si je veux faire la même chose avec une autre caméra, je dois dupliquer, dans le script, toutes les commandes de la première caméra, en changeant l’IP par celle de la seconde.

Je ne trouve pas ça très optimisé, ni pratique à maintenir (si je change l’IP d’une caméra, il faut que j’adapte dans le script toutes les commandes qui la concernent).

Ne serait-il pas possible de créer une seule commande dans le script, du style :

curl -X PUT "http://#user#:#password#@#ip#/ISAPI/PTZCtrl/channels/1/presets/#preset#/goto"

et de lui passer les paramètres au moment de l’appel par les caméras ?

De la sorte, au lieu de créer pour chaque position une commande dans le script, et une autre dans la caméra (à multiplier par le nombre de caméras…), le script n’aurait qu’une seule commande : ce sont les caméras qui, chacune, auraient autant de commandes que de positions, et fourniraient leurs IPs respectives au moment de l’appel, avec le nom d’utilisateur, le mot de passe ainsi que le numéro de la position.

Si une caméra change d’IP ou de mot de passe, il suffirait de les modifier une seule fois au niveau de l’équipement.

Est-ce possible ? Un équipement peut-il, dans une commande, appeler un script en lui passant des paramètres ?

Cordialement,

Benoît