gonzi
Septembre 29, 2020, 2:51
1
Bonjour,
J’ai un NAS sur mon réseau local (synology). Je peux enclencher le Home mode avec une requête HTTP toute simple. c’est comme ça que j’ai fonctionné quelque années avant de passer sur Jeedom. La requête en question fonctionne tres bien dans un navigateur
j’aimerai maintenant pouvoir la lancer depuis Jeedom (scenario…)
Malgré tous mes essais, je ne parviens pas à envoyer une bête requete HTTP vers mon NAS s
La requête est de type:
https://nomdemonnas.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method="Trigger"&version=1&eventId=1&eventName="This is external event1"&account="nomdutilisateur"&password="motdepasse"
en mettant cette requête dans un navigateur, cela fonctionne et l’action est réalisée sur le NAS (gestion du Home mode)
En créant un script HTTP en Action sans SSL (ou avec) avec la requete ci dessus, il me dit que l’action est bien réalisée, jeedom ne reçoit pas de réponse négative; mais l’action n’est pas réalisée sur le NAS.
je n’attends aucun retour dans JEedom de cette requete. mais je ne comprends pas ce qui ne fonctionne pas pour faire un push de cette requete
Pourriez vous m’aider
merci
1 « J'aime »
olive
Septembre 29, 2020, 5:34
2
Au cas ou si ça peut aider :
Bonjour, ouvre un nouveau sujet : récupérer la valeur d’un virtuel depuis un script Python
Je me ferait un plaisir de t’aider.
ajoute juste @olive dans le corps du sujet comme ça je serais notifié.
Mips
Septembre 29, 2020, 11:16
3
Bonjour,
Attention de bien formater la question en utilisant les Texte préformaté
par exemple.
Il faudra fournir les logs ainsi que les captures d’écran de la config de l’équipement
Voir ce sujet : Comment nous aider à vous aider - ou Comment poser une bonne question?
gonzi
Octobre 1, 2020, 11:28
4
Bonjour,
@Mips : ok, désolé pour la mise en forme. Je n’ai pas de capture d’écran ou config d’équipement à vous donner; et pour cause. Je n’ai pas d’équipement qui permette de faire ma requête HTTP et c’est ce que je cherche.
@olive : j’ai essayé en créant un virtuel information ou un script information; aucun des 2 ne fonctionne.
Ci dessous exemple avec un virtuel :
Une idée ?
merci beaucoup !!
gonzi
Octobre 1, 2020, 12:22
5
Re
@olive : j’ai vu dans vos nombreux posts qu’il y avait possibilité de faire un push http dans un bloc code d’un scenario ? ça m’irait tout aussi bien mais je n’ai pas franchement compris la syntaxe…
Mips
Octobre 1, 2020, 12:43
6
Vu le premier message, j’avais compris que tu avais un équipement de type script avec un commande de type http et la requête en question…
Que veux dire la phrase suivante alors?
Il faudrait montrer cet équipement script qui, si je comprend bien, existe
olive
Octobre 1, 2020, 12:55
7
Si tu part d’un scénario un bloc de code serait semblable a celui-ci :
$req = 'curl -i -XPOST "https://............" ';
$scenario->setLog('DEBUG REQUETTE : '.$req);
$output0 = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$output0);
1 « J'aime »
gonzi
Octobre 1, 2020, 2:40
8
Hello
@Mips : J’ai tâtonné ! j’ai créé un script et un virtuel pour essayer; mais la requête ne passe dans aucun des 2 cas.
Le moyen m’est égal, j’ai juste besoin de lancer un push HTTP du type décrit ci dessus.
Je commence à me demander si ce n’est pas une histoire de pare feu ou autre qui bloque. c’est bien une requete en local, mais bon…
@olive : J’ai essayé le script en scenario en collant simplement ma requete a la place du http… de ton exemple. Pour l’instant sans succes
olive
Octobre 1, 2020, 2:42
9
Fait bien attention aux délimiteurs " et ’ il ne faut pas imbriquer 2 fois les mêmes !!!
Tu a les 2 lignes de debug dans le script pour t’aider n’hésite pas a consulter les log du scenario.
gonzi
Octobre 1, 2020, 2:48
10
eh oui. voici les logs
------------------------------------
[2020-10-01 16:31:11][SCENARIO] Start : Scenario lance manuellement.
[2020-10-01 16:31:11][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-10-01 16:31:11][SCENARIO] Exécution d'un bloc élément : 123
[2020-10-01 16:31:11][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-10-01 16:31:11][SCENARIO] Exécution d'un bloc code
[2020-10-01 16:31:11][SCENARIO] DEBUG REQUETTE : curl -i -XPOST "https://nasamoi.fr4.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method="Trigger"&version=1&eventId=2&eventName="This is external event2"&account="acount"&password="motdepasse""
[2020-10-01 16:31:11][SCENARIO] DEBUG RETOUR : HTTP/2 307
location: http://nasamoi.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method=Trigger&version=1&eventId=2&eventName=This
date: Thu, 01 Oct 2020 14:31:11 GMT
content-length: 0
[2020-10-01 16:31:11][SCENARIO] Fin correcte du scénario
------------------------------------
[2020-10-01 16:41:04][SCENARIO] Start : Scenario lance manuellement.
[2020-10-01 16:41:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-10-01 16:41:04][SCENARIO] Exécution d'un bloc élément : 123
[2020-10-01 16:41:04][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-10-01 16:41:04][SCENARIO] Exécution d'un bloc code
[2020-10-01 16:41:04][SCENARIO] DEBUG REQUETTE : curl -i -XPOST "https://nasamoi.fr4.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.Webhook&method="Incoming"&version=1&token=123456789GQC9Te2s3d3jqhgJ8iaWsA7gGysNaOc08e5f0yl8zQB1i3f"
[2020-10-01 16:41:04][SCENARIO] DEBUG RETOUR : HTTP/2 307
location: http://nasamoi.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.Webhook&method=Incoming&version=1&token=123456789QC9Te2s3d3jqhgJ8iaWsA7gGysNaOc08e5f0yl8zQB1i3f
date: Thu, 01 Oct 2020 14:41:04 GMT
content-length: 0
[2020-10-01 16:41:04][SCENARIO] Fin correcte du scénario
Dans les 2 essais avec 2requetes http différentes, aucun résultat.
olive
Octobre 1, 2020, 2:51
11
c’est bien ce que je dit tu devrait avoir :
curl -i -XPOST "https://nasamoi.fr4.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method='Trigger'&version=1&eventId=2&eventName='This is external event2'&account='acount'&password='motdepasse'"
ton 1er " ne doit pas être interrompu avant la fin il faut donc encadrer tes autre paramètres par des simple ’
tu peut aussi pour simplifier décomposer tes paramètres dans des variable et faire de la concaténation pour simplifier les choses.
gonzi
Octobre 1, 2020, 3:06
12
quand ça veut pas…
------------------------------------
[2020-10-01 17:03:36][SCENARIO] Start : Scenario lance manuellement.
[2020-10-01 17:03:37][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-10-01 17:03:37][SCENARIO] Exécution d'un bloc élément : 123
[2020-10-01 17:03:37][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-10-01 17:03:37][SCENARIO] Exécution d'un bloc code
[2020-10-01 17:03:37][SCENARIO] syntax error, unexpected 'Trigger' (T_STRING)
[2020-10-01 17:03:37][SCENARIO] Fin correcte du scénario
------------------------------------
1 « J'aime »
olive
Octobre 1, 2020, 3:08
13
C’est clair ta une erreur de syntaxe … cherche tu va trouver tout est dans la syntaxe de ton expression.
oublie pas les ; a la fin
1 « J'aime »
gonzi
Octobre 1, 2020, 3:29
14
je crois que j’approche…
------------------------------------
[2020-10-01 17:27:09][SCENARIO] Start : Scenario lance manuellement.
[2020-10-01 17:27:09][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-10-01 17:27:09][SCENARIO] Exécution d'un bloc élément : 123
[2020-10-01 17:27:09][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-10-01 17:27:09][SCENARIO] Exécution d'un bloc code
[2020-10-01 17:27:09][SCENARIO] DEBUG REQUETTE : curl -i -XPOST "https://nasamoi.fr.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method=Trigger&version=1&eventId=1&eventName=This%20is%20external%20event1&account=account&password=mdp"
[2020-10-01 17:27:09][SCENARIO] DEBUG RETOUR : HTTP/2 307
location: http://nasamoi.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method=Trigger&version=1&eventId=1&eventName=This%20is%20external%20event1&account=account&password=mdp
date: Thu, 01 Oct 2020 15:27:09 GMT
content-length: 0
[2020-10-01 17:27:09][SCENARIO] Fin correcte du scénario
De ce que je comprends, le script a fonctionné… mais je n’ai toujours pas l’action à l’autre bout
olive
Octobre 1, 2020, 3:38
15
ça donne quoi dans un navigateur ?
https://nasamoi.fr.quickconnect.to/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method=Trigger&version=1&eventId=1&eventName=This%20is%20external%20event1&account=account&password=mdp
il faut peut être encadrer :
This%20is%20external%20event1
et remette les espaces
un simple script bash avec un wget ca suffit pas ?
Mips
Octobre 1, 2020, 6:33
17
Je ne comprend pas la question
1 « J'aime »
olive
Octobre 1, 2020, 6:45
18
wget est au bash ce que curl est au php
gonzi
Octobre 7, 2020, 2:33
19
hello,
honnêtement, j’ai essayé tous les encadrement possibles. j’ai essayé de voir dans les options de curl si je pouvais changer qqchose. j’ai lancé directement les requêtes curl dans le terminal de mon Rpi (qui héberge jeedom, comme ça même IP, même droits…) sans plus de succès.
Bonjour,
J’ai le même problème, lorsque j’utilise la commande donnée par mon nas
( http://192.168.1.110:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEvent&method=« Trigger »&version=1&eventId=1&eventName= « This is external event1 »&account="{account}"&password="{password}" )
Dans mon navigateur je fait un copier coller ça marche sans problème, par contre dans jeedom avec le plugin script, je n’ai aucune action
Gonzi as tu trouvé une solution pour commander surveillance station avec jeedom ?