Réponse scénario php depuis appel http

Bonjour,

Savez-vous s’il est possible de renvoyer ce que l’on veut lorsqu’on appel un scenario depuis un appel http. Pour l’instant si tout se passe bien, j’obtiens ‹ ok › mais j’aimerais dans l’idéal renvoyer plus d’informations.
Bon du coup j’y arrive en utilisant un virtuel et une méthode perso dans userFunction pour construire la réponse mais c’est le plus intuitif…

Merci à vous :slight_smile:

Bonjour,

Je n’ai jamais testé mais en principe c’est le but de scenario_return, voir documentation comme souvent :wink:

https://doc.jeedom.com/fr_FR/core/4.1/scenario?theme=light#Les%20commandes%20spécifiques

Bonjour,

et si tu faisait ça dans un bloc code de scenario …
exemple

$tags = $scenario->getTags();

$tags['#TB3#'] = shell_exec('curl "http://url.net/solaire/aff.php?type=TB3"');
$tags['#TB4#'] = shell_exec('curl "http://url.net/solaire/aff.php?type=TB4"');
$tags['#FWD#'] = shell_exec('curl "http://url.net/solaire/aff.php?type=FWD"');

$scenario->setTags($tags);
1 « J'aime »

Ah yes, un petit $scenario->setReturn(« Ce qu’on veut »); semble bien fonctionner :slight_smile:

Hello
Justement en lisant ton post je cherchais une solution et j’ai essayé le return mais moi ça fonctionne pas

$scenario->setLog('Start test return statement of scenario');
$scenario->setReturn('A return statement');
$scenario->save();
$scenario->setLog('End test return statement of scenario -> return statement : '. $scenario->getReturn());

@MicaZ tu fais comment ?

Update : laisse tomber un probleme de cache j’imagine … :frowning:


Excellent merci!!

Ah par contre j’ai un fonctionnement que je ne comprends pas…

Ca ne marche pas (le scenario renvoie le ‹ ok › basique) par défaut. En fait si je veux récupérer en réponse ma valeur mise dans le setReturn, le scenario doit être configuré en Synchrone.

@chris94440, Ca fonctionne avec la configuration du scénario par défaut chez toi ?

oui en effet il s’est mis en mode synchrone tout seul … si désactivé cela ne fonctionne plus

Ca c’est normal, par défaut le scénario est lancé dans un autre thread et donc l’appel http n’attend pas la fin du scénario avant de répondre au client.
Pareil si vous avez un bloc DANS ou A, ca ne sert à rien d’avoir le return dedans, vous ne le recevrez pas.
Et si un scénario fait un sleep ou attend cela peut avoir des conséquences également (timeout…)

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.