Aller au contenu

Krikroff

Messages recommandés

  • 1 an après...

Bonjour à tous,

 

Voilà je suis arrivé a installer le plugin FREE mobile SMS sur ma HC2 grâce au tuto du forum (Merci les gars), par contre celui ci ne fonctionne pas. J'ai été sur mon interface Free mobile et l'option "Notification par SMS" est bien activée, j'ai bien rempli mon identifiant et mon mot de passe dans le paramétrage du plugin sur la HC2, je clique donc sur "TEST" mais rien ne se passe....D’ailleurs je ne sais pas si c'est lié mais je n'ai jamais réussi à faire fonctionner les notifications PUSH avec mes iphones (6 ou 7).

Merci d'avance pour votre aide.

 

Greg

Modifié par Lazer
Message fusionné
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Pour tester si cela vient du plugin ou autre, il existe une scene qui utilise l'API de Freemobile et qui fonctionne parfaitement.

j'essaie de retrouver sur le forum

 

Trouvé :

 

 

Modifié par pepite
Lien vers le commentaire
Partager sur d’autres sites

Il y a 9 heures, pepite a dit :

Bonjour,

 

Pour tester si cela vient du plugin ou autre, il existe une scene qui utilise l'API de Freemobile et qui fonctionne parfaitement.

j'essaie de retrouver sur le forum

 

Trouvé :

Merci, j'ai donc créé un scène en LUA avec les éléments ci dessus (en modifiant mon identifiant et mot de passe) mais j'ai une erreur du type "Runtime Error : end of file"

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Pour l'erreur cela provient certainement d'un retour json mal formé, rien de bien grave ;) le SMS est-il bien envoyé ?


Envoyé de mon iPhone en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Pas de message non plus. Je n'y comprend vraiment plus rien. Je debute gentillement sur la prog de ma HC2 et j'avoue que je rencontre quelque petites difficultés.

On est bien d'accord que je met mon id et mdp freemobile ? Et pas la clé fourni pour le service notification sms de chez free ?

Modifié par gregosder
Lien vers le commentaire
Partager sur d’autres sites

@gregosder,

 

Non il y a confusion je pense, pour le username c'est bien l'identifiant de ton espace abonné mais pour le mot de passe c'est la clé d'identification ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Hello,

Je viens d'ajouter cette (géniale) fonction sur ma HC2.

Je suis passé par la scène, ne voulant pas contourner les barrières Fibaro pour les plugins.

L'envoi d'un SMS fonctionne (me reste a coder les triggers sur GEA) mais j'ai un retour d'erreur dans le debug :

[DEBUG] 18:17:31: [1;31m2017-10-06 18:17:31.405498 [ fatal] Runtime error: End of file

 

Voici mon code :

--[[
%% properties
%% events
%% globals
--]]

local username = "XXXXXXXXXX"
local password = "XXXXXXXXXX"
local message = "Message de test"
local http = net.HTTPClient({ timeout = 2000 })

-- Liste des codes retour HTTP de Free Mobile
local code_retour = {
  [200]=" - Le SMS a été envoyé sur votre mobile", 
  [400]=" - Un des paramètres obligatoires est manquant", 
  [402]=" - Trop de SMS ont été envoyés en trop peu de temps",
  [403]=" - Le service n’est pas activé sur l’espace abonné, ou login / clé incorrect", 
  [500]=" - Erreur côté serveur. Veuillez réessayez ultérieurement"
}
-- Fonction contrôle du code retour HTTP Free Mobile
local function controle_status(status)
  			print(os.date() .. ' - status = ' .. status .. (code_retour[tonumber(status)]))
end

http:request('https://smsapi.free-mobile.fr/sendmsg?'..string.format("user=%s&pass=%s&msg=%s", username, password, message), {
    options = {
      method = 'POST',
      headers = {
        ["Content-Type"] = "application/x-www-form-urlencoded"
      }
    },
    success = function(data) 
      --print('At ' .. os.date() .. ' - status = ' .. data.status)
		controle_status(data.status)
    end,
    error = function(err) 
      print('error = ' .. err)
    end
  })

Pour information, les codes retours ne sont pas affichés non plus.

Bon l'idéal est que ça fonctionne hein ^^ mais si je pouvais être plus propre OU connaitre le pourquoi du comment ça m’irait aussi :)

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Hello,

 

Alors le pourquoi du comment ! Et bien il faut demander à Fibaro :rolleyes: car un Fatal Runtime Error même avec un pcall pour isoler l’exécution et bien cela n'arrange rien alors... une régression  introduite depuis un bon moment maintenant !

 

Comme tu dis, l'essentiel est que ça fonctionne mais je suis parfaitement d'accord avec toi c'est dégueu, mais je n'ai pas le temps d'analyser le problème en root (mêm pas certain d'avoir des infos sur un Runtime Error au niveau de la lib lua)

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
  • 5 mois après...

Bonjour,

 

Je ne voudrais pas réinventer le fil à couper le beurre mais j'ai besoin des SMS Free Mobile (Mon Amoureuse et moi-même avons tout compris ;))

Je suis parti des recos de Free disant que l'on pouvait utiliser la méthode POST pour ne pas avoir à réencoder le texte en « Percent-encoding »

Citation

 

Vous pouvez également, si vous le préférez, envoyer les paramètres en POST.
Dans ce cas, le contenu du message n'a pas besoin d'être encodé.

Le code de retour HTTP indique le succès ou non de l'opération :

  • 200 : Le SMS a été envoyé sur votre mobile.
  • 400 : Un des paramètres obligatoires est manquant.
  • 402 : Trop de SMS ont été envoyés en trop peu de temps.
  • 403 : Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect.
  • 500 : Erreur côté serveur. Veuillez réessayer ultérieurement.

 

Après avoir fouillé à droite à gauche je suis arrivé à cela :

--[[
%% properties
%% events
%% globals
--]]

local url = 'https://smsapi.free-mobile.fr/sendmsg'
local user = "16xxxx29"
local pass = "frxxxxxxxxxGO"
local msg = "Test POST envoyé avec accents"
local contenu = {}
contenu.user = user
contenu.pass = pass
contenu.msg = msg
jcontent = json.encode(contenu)

fibaro:debug(jcontent)

local http = net.HTTPClient()
http:request(url, {
	options = {
	method = 'POST',
    headers = {['Content-Type'] = 'application/json'},
    data = jcontent
    }
})

Ce que ça donne :

  • je reçois le SMS ... sans les caractères accentués
  • la fenêtre débug m'affiche « [DEBUG] 16:04:27: [1;31m2018-04-30 16:04:27.952009 [ fatal] I/O error: End of file »

Je précise que si j'envoie le SMS via un navigateur sous cette forme «    https://smsapi.free-mobile.fr/sendmsg?user=16xxxxx29&pass=frxxxxxxxxxGO&msg=Test Push iBidules - SMS envoyé via Free Mobile sur portable JPR le 27-04-2018 à 08:36:14    » cela fonctionne parfaitement accents compris !!

Citation

Test Push iBidules - SMS envoyé via Free Mobile sur portable JPR le 27-04-2018 à 08:36:14

Ce sur quoi vous pourriez m'aider :

  • pensez-vous que l'on puisse gérer les accents avec cette méthode ?
  • comment récupérer le code retour Free Mobile ?
  • pourquoi j'ai « [ fatal] I/O error: End of file » et est-ce grave Docteur ?

Merci d'avance pour vos retours

 

Cordialement - Jean-Paul

Lien vers le commentaire
Partager sur d’autres sites

Décidément il est coriace ... je vire le https du début

Citation

//smsapi.free-mobile.fr/sendmsg?user=16xxxx29&pass=frxxxxxxxxxGO&msg=Test%20Push%20iBidules%20-%20SMS%20envoy%C3%A9%20via%20Free%20Mobile%20sur%20portable%20JPR%20le%2027-04-2018%20%C3%A0%2008:36:14

 

 

Lien vers le commentaire
Partager sur d’autres sites

C'était une bonne idée, la chaine JSON est toute belle

Citation

[DEBUG] 18:51:17: {"user":"16xxxxx29","pass":"frxxxxxxxxxxxxGO","msg":"Test POST envoyé avec accents"}

Mais le résultat un peu moins ...

Citation

Test POST envoyé avec accents

En tout cas merci ;)

Lien vers le commentaire
Partager sur d’autres sites

Bon et bien je jette l'éponge pour ce soir.

Pour les accents ... pas trouvé

Pour le code retour ... j'ai bien mon code 200 avec l'extension RESTClient de Firefox ... donc Free y zont tout compris et ça doit donc coincer au niveau de mon code Fibaro ... mais là j'vois pas :huh:

Capture d’écran 2018-04-30 à 23.14.54.png

Lien vers le commentaire
Partager sur d’autres sites

@schwinny on progresse, on progresse ... si j'envoie ce texte :

Citation

Test Push iBidules - SMS avec accents é è à â û ù ç ë ê ï î ô

je récupère ce magnifique texte sur mon smartphone

Citation

Test Push iBidules - SMS avec accents é è   â û ù ç ë ê ï î ô

Par contre le à (a accent grave) est passé à la trappe

Merci pour tes conseils :74:

Lien vers le commentaire
Partager sur d’autres sites

Bon finalement je lâche l'approche en « method = 'POST', headers = {['Content-Type'] = 'application/json'} » qui avait l'avantage ... selon Free ... de pouvoir envoyer son texte directement sans l'encoder en « Percent-encoding » ... ky disaient :)

Dixit « Vous pouvez également, si vous le préférez, envoyer les paramètres en POST. Dans ce cas, le contenu du message n'a pas besoin d'être encodé. » ... OK pour les espaces mais pour les chers accents de notre belle langue ... tu repasseras :angry:

Je suis donc revenu à @Krikroff et j'ai utilisé son code comme @gorn ici

Quant à mes précieux accents je vais faire une routine pour les gérer. En tout cas, en envoyant ça :

Citation

Test%20SMS%20avec%20accents%20%C3%A0%20%C3%A2%20-%20%C3%A9%20%C3%A8%20%C3%AA%20%C3%AB%20-%20%C3%AF%20%C3%AE%20-%20%C3%B4%20-%20%C3%BB%20%C3%B9%20-%20%C3%A7

J'obtiens ça :

Citation

Test SMS avec accents à â - é è ê ë - ï î - ô - û ù - ç

C'est plutôt bien, les SMS passent,  mais je suis comme tout le monde concernant la gestion du code retour et le [ fatal] I/O error: End of file

  1. Est-ce que notre grand gourou @Krikroff a une idée lumineuse ?
  2. Est-ce que je peux partir sur cette base « pseudo-instable » sachant que je voudrais intégrer cet envoi de SMS dans mon futur scénario d'alarme ?

Merci d'avance et bonne fin de pont ... voire viaduc

Cordialement - Jean-Paul

Lien vers le commentaire
Partager sur d’autres sites

@jpr105

 Bonjour, je n'ai aps tout suivi, mais je n'ai pas de souci d'accents avec ceci pour le "headers" : 

["Content-Type"] = "application/x-www-form-urlencoded"

Et pour le code retour :

--
-- Liste des codes retour HTTP de Free Mobile
--
local code_retour = {
  [200]=" - Le SMS a été envoyé sur votre mobile",
  [400]=" - Un des paramètres obligatoires est manquant",
  [402]=" - Trop de SMS ont été envoyés en trop peu de temps",
  [403]=" - Le service n’est pas activé sur l’espace abonné, ou login / clé incorrect",
  [500]=" - Erreur côté serveur. Veuillez réessayez ultérieurement"
}

 
-- Fonction contrôle du code retour HTTP Free Mobile
local function controle_status(status)
  print(os.date() .. ' - status = ' .. status .. (code_retour[tonumber(status)]))
end

    http:request('https://smsapi.free-mobile.fr/sendmsg?'..string.format("user=%s&pass=%s&msg=%s", username, password, message), {
    options = {
    method = 'POST',
    headers = {
    ["Content-Type"] = "application/x-www-form-urlencoded"
    }
    },
  success = function(data)
    controle_status(data.status)
  end,
  error = function(err)
    print('error = ' .. err)
  end
  })

Concernant l'erreur I/O ca vient de chez freemobile, nous l'avons tous, mais aucun souci, tous les SMS arrivent ;-)

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...