Envoi SMS JPI avec appel url ou script depuis un scénario

Hello

J’utilisais un bout de code qui ne fonctionne plus (je ne comprends pas pourquoi) pour evoyer des SMS sur un tel équipé de JPI :

$url="http://192.168.1.51:8080/?action=sendSms&number=".$dest."&message=".$msg;

J’ai commenté la ligne en la remplacant par :

$url="http://192.168.1.51:8080/?action=sendSms&number=01233456789&message=Testsms";

qui ne fonctionne pas non plus dans le scénario, mais qui fonctionne sans problème dans un navigateur.

Je vous met le scénario complet :

// Recuperation des tags
$tags = $scenario->getTags();
$dest=$tags['#destinataire#'];
$msg=trim($tags['#message#']);
sleep(2);
//$url="http://192.168.1.51:8080/?action=sendSms&number=".$dest."&message=".$msg;
$url="http://192.168.1.51:8080/?action=sendSms&number=01233456789&message=Testsms";
$scenario->setLog("url = ".$url);

Je sèche et n’ai aucune idée de quand cela a cessé de fonctionner.

Bonjour,

Ton scénario fonctionne non?
On peut voir le log?

Ce que tu fais:

  • tu lis des tags
  • une pause de 2s (retires ca, ca n’a aucune utilité)
  • tu construis une chaîne de caractère qui contient une url
  • tu logs cette url

Note qu’à aucun moment tu n’appelles cette url.
Donc ton scénario fonctionne… mais tu n’as pas codé ce que tu voulais :wink:

Un « file_get_content » devrait suffir dans ce cas ci, sinon utilises curl (voir doc php ainsi que d’autres post sur community pour les détails)

[quote="Claude69, post:1, topic:127948
umber=01233456789&message=Testsms";
[/quote]

Bonjour,
si tu utilises JPI tu peux te servir du plugin script et faire un script action http avec:
http://ip-jpi:8080/?action=sendSms&number=#title#&message=#message#
remplace ip-jpi par son ip et dans #tile# le nr du dest et #message# le contenu du message. Dans ton scénario tu renseigne #tile# et #message# et appelle la commande correspondant au script.
c’est ce que j’utilise quotidiennement

Hello mips
Effectivement dans mes essais j’ai fait une erreur.
Voilà le scénario complet qui ne fonctionne pas

function launchHTTPResult($url){
    $curl = curl_init();
    curl_setopt_array($curl, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_CUSTOMREQUEST => "GET"
    ));
    $reponse = curl_exec($curl);
    curl_close($curl);
   	return $reponse;
}
// Recuperation des tags
$tags = $scenario->getTags();
$dest=$tags['#destinataire#'];
$msg=trim($tags['#message#']);
sleep(2);
$url="http://192.168.1.51:8080/?action=sendSms&number=".$dest."&message=".$msg;
//$url="http://192.168.1.51:8080/?action=sendSms&number=0123456789&message=Testsms";
$result=launchHTTPResult($url);
$scenario->setLog("url = ".$url);

Le log


[2024-07-06 12:33:53][SCENARIO] -- Début : . Tags : {"#texte#":"C|Pensez \u00e0 enlever le r\u00e9veil pour ","#destinataire#":"0612327435","#message#":"Pensez \u00e0 enlever le r\u00e9veil pour "}
[2024-07-06 12:33:53][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-07-06 12:33:53][SCENARIO] Exécution d'un bloc code
[2024-07-06 12:33:56][SCENARIO] url = http://192.168.1.51:8080/?action=sendSms&number=0123456789&message=Pensez à enlever le réveil pour
[2024-07-06 12:33:56][SCENARIO] Fin correcte du scénario

Et je ne reçois pas le sms

Hello
Merci. Je vais essayer car j’avais vu que cela fonctionnait avec un script, mais je me posais la question pour renseigner le numéro et le message

exemple d’un scénario utilisant quotidiennement le script pour transmetre météo et marée:

Je ne comprends pas mon erreur pour l’utilisation d’un script
Je tente avec un bloc action :


mais je ne peut pas rentrer les parametres
en bloc code

$tel="0123456789";
$texte="Pensez à enlever le réveil";

$cmd=cmd::byString('#[Technique][Jpi][EnvoiSMS]#');
$cmd->execCmd($options=array('title'=> $tel, 'message'=> $texte), $cache=0);  

Pas de SMS
Le script :

Si tu as un broker sur ton lan et un plugin MQTT, tu peux envoyer des sms via MQTT.


Hello
J’ai bien le plugin MQTT manager, mais je suis bien incapable de savoir comment faire :frowning:

Je ne vais pas pouvoir t’aider car j’utilise le plugin-jmqtt .

Hello
Après recherche, j’ai trouvé pour le script. Il était créé en Type « Defaut » au lieu de « Message »
Merci @Kerdale et j’en profite pour une question :
Sait tu si on peut récupérer la bonne exécution ou pas ?

bonne question !! pose la question à @dJuL l’auteur de jpi, il est très réactif

En lisant le retour de la commande via une commande info associée de type autre (texte).

Merci @dJuL
Mais je n’ai pas compris comment récupérer le retour :innocent:

Le retour d’état en MQTT.

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