Peut-on appeler un script shell avec json.htm?api-call ?

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Peut-on appeler un script shell avec json.htm?api-call ?

Message par Snorky »

Bonjour,

Peut-on appeler un script shell depuis l'API Domoticz ou faut-il obligatoirement associer le script à un device type switch ?

Code : Tout sélectionner

http://<username:password@>domoticz-ip<:port>/json.htm?api-call
A la place de api-call, j'aimerais appeler un script shell.

Désolé si ma question est étrange...


Objectif de ma demande tordue :
Via Google Home, j'aimerais dire "Ok Google...Ajoute 4 sacs de pellets dans la base"

Aujourd'hui j'ai un switch "AjoutPelle" qui exécute un script LUA lorsqu'il passe à ON.
Le script LUA met à jour des devices counter (consommation et dépense de sacs de pellets) lorsque je passe mon switch à ON.

Pour le moment, ma consommation augmente de 1 sac à chaque fois que j'appuie sur mon interrupteur.

Mon idée (probablement pas idéale) est de créer un shell dans lequel je boucle n fois pour allumer mon switch.

Via IFTT, je me disais naivement que je pourrais appeler via une web request :

Code : Tout sélectionner

http://<username:password@>domoticz-ip<:port>/json.htm?script/shell/monscriptpellet.sh {{NumberField}}
Si vous avez une méthode plus simple (ou une méthode qui fonctionne tout simplement), je suis preneur

Merci d'avance pour votre aide
Dernière modification par Snorky le 06 janv. 2018, 07:57, modifié 1 fois.
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par vil1driver »

Salut,


Le mieux est peut être de mettre à jour une variable (via json) avec le nombre de sacs souhaité et un script lua de type variable qui va faire le taf voulu
Dernière modification par vil1driver le 05 janv. 2018, 23:41, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par Snorky »

Merci Vildriver (ça faisait longtemps... :D )

J'en étais finalement arrivé à la même idée, tu as devancé mon post


Merci
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
DavidTrier
Messages : 62
Inscription : 07 nov. 2017, 20:05

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par DavidTrier »

Pour faire changer d'état ton switch "AjoutPellet", il te suffit d'utiliser IFTTT avec ses deux modules :
- pour "if this" tu utilises l'applet Google Assistant "say a simple phrase" et tu lui fais reconnaître ta phrase
- pour "then that", tu utilises le l'applet WebHooks en choisissant "send a web request" avec, comme requête : http://LOGIN:PASSWORD@ADRESSE IP BOX OU DOMOTICX:PORT DOMOTICZ/json.htm?type=command&param=switchlight&idx=??&switchcmd=On&level=0&passcode=

Tuto : https://easydomoticz.com/forum/viewtopi ... 617#p39908
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par Snorky »

Pour allumer un switch aucun soucis.

Mais avec un simple switch comme tu le proposes on ne peut pas demander d'ajouter plusieurs sacs de pellet.

Avec la méthode de Vildriver, ça marche nikel
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
DavidTrier
Messages : 62
Inscription : 07 nov. 2017, 20:05

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par DavidTrier »

Ok, mais j'avoue ne pas comprendre la méthode de vil1driver :oops: Si quelqu'un peut me l'expliquer, ce serait cool ;)
Snorky
Messages : 79
Inscription : 02 oct. 2016, 22:13

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par Snorky »

Via Ifttt, au lieu de modifier un switch comme tu le proposes tu mets à jour une variable utilisateur.

Code : Tout sélectionner

/json.htm?type=command&param=updateuservariable&vname=USERVARIABLENAME&vtype=USERVARIABLETYPE
Tu créés un script Lua par exemple (script_variable) qui se déclenchera sur modification de ta variable utilisateur.

Sur Ifttt, dans This tu mets une phrase avec un ingrédient numérique (nombre de sacs).

Tu peux donc gérer un nombre de sacs de 1 à n et pas uniquement un seul sac sur la méthode avec le switch
DomoticzVersion: V3.8153, CustomPage, GoogleHome
Pi3 Modèle B + RFXCom + Razberry
RFX: Sonde OREGON THGR122, Capteur ouverture Trust AMST-606, Compteur conso OWL Micro+ CM180
ZWave: FGMS001
DavidTrier
Messages : 62
Inscription : 07 nov. 2017, 20:05

Re: Peut-on appeler un script shell avec json.htm?api-call ?

Message par DavidTrier »

Ok merci Snorky!

Le truc c'est que je ne sais pas encore faire des scripts Lua tout seul :oops: Mais ce n'est pas grave, un jour je m'y mettrai!

Merci encore ;)
Répondre