Aller au contenu
gargamel01000

Gateway Sms Autonome

Recommended Posts

Le 12/12/2014 à 20:50, gargamel01000 a dit :

donc pour resumer voici le code du seul bouton de mon virtual device pour ma gateway SMS.


--Récupération de l'adresse IP et du Port inscrit sur le module virtuel.
--fibaro:getSelfId() retourne l'ID du module virtuel en cours.
local ip_module = fibaro:get(fibaro:getSelfId(),"IPAddress")
local port = fibaro:get(fibaro:getSelfId(), "TCPPort")
local id_module = fibaro:getSelfId()
local status = ""
local numero = "06xxxxxxxx"
local message = fibaro:getGlobal("SMS")
local password = "xxxxxxxxxxxxxx"

--fibaro:debug("message: " ..message)

function urlencode(str)
	if (str) then
		str = string.gsub (str, "\n", "\r\n")
		str = string.gsub (str, "([^%w ])",
		function (c) return string.format ("%%%02X", string.byte(c)) end)
		str = string.gsub (str, " ", "+")
	end
	return str
end

local payload = "/sendsms?phone="..numero.."&text="..urlencode(tostring(message or "empty")).."&password="..password

HC2 = Net.FHttp(ip_module,port)
response ,status, errorCode = HC2:GET(payload)
fibaro:debug("response = " .. response)
fibaro:debug("status = " .. status)
if response ~= nill and tonumber(status)==200 then
	fibaro:debug("Succes: SMS envoyé")
else
	fibaro:debug("Error: Failed to SEND SMS")
end   

 

salut @gargamel01000

 

je suis à cour d'idée

 

je cherche une solution pour placer une valeur numérique dans une requête HTTP

 

exemple: je souhaite placer une valeur Numérique venant de la  variable  POSI

 

VAL = 31

response = VAR:GET('/decoder_control.cgi?command=" .. VAL .. "onestep=&sit=&user=admin&pwd=123456');

 

VAR = Net.FHttp('192.168.0.33', 80);

local VAL = fibaro:getGlobal("POSI")
 
response = VAR:GET('/decoder_control.cgi?command=" .. VAL .. "onestep=&sit=&user=admin&pwd=123456');
.
.
.
etc

 

j'ai meme chercher la : http://wxlua.free.fr/Tutoriel_Lua/Tuto/Strings/strings5.php

 

 

 

 

 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut

 

Non, voici.

 

La requête original

 

response = VAR:GET('/decoder_control.cgi?command=33onestep=&sit=&user=admin&pwd=123456');

 

 

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Quelqu'un a t'il utilisé ( ou une idée ) pour piloter la HC2 à partir de SMS gateway en utilisant la passerelle SMS => HTTP inclue dans cette APP Android.

Il faudrait je suppose un bout de code à l'écoute de la REQ HTTP transmise par SMS Gateway qui serait chargé de préparer une REQ HTTP sur l'API de la HC2.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Steven à fait ça:

http://www.domotique-info.fr/2014/07/tasker-android-passerelle-sms-intelligente-hc2/

je l'utilise tous les jours, j'ai même rajouté des commande perso, ça marche à 100%.

Au départ, c'était seulement quand j'avais une mauvaise réception 3G mais c'est tellement plus rapide que se connecter par l'application Fibaro que je l'utilise tout le temps.

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Ayant reçu un smartphone et une puce je viens de faire Quelques essais SEMI CONCLUANTS

Pour le sens SMS vers HTTP, j'ai créé un PHP qui récupère le SMS ( transmis par SmsGateway en HTTP)  et le traite pour envoyer une commande vers la HC2 )  cela fonctionne correctement ( Si vous avez besoin d'un exemple n'hésite pas )

Par contre dans le sens HTTP vers SMS, j'envoi la requette HTTP vers SmsGateway, il la reçoit et la traite correctement (retour 200 Message SENT!)  mais le sms ne part pas.

Dans la log de SmsGateway je trouve l'erreur : Sms to XXX Send failed. Neither user 10096 nor current process has android.permission.READ_PHONE_STATE

J'en déduis qu'il manque des droits à SmsGateway pour utiliser les envois de SMS !!

A l'install il ma demandé autoriser SMS j'ai dit OUI

Dans Paramètres Application SmsGateway Autorisation SMS est actif

 

Que faire pour donner les droits READ_PHONE_STATE à cette application  ( je ne connais pas du tout Android )

Téléphone Wiko Sunny  Androïd Marshmallow 6.0(15)R

 

@Fredric Je n'ai pas encore essayé Tasker je ne pensais pas avoir ce PB sur la partie la plus simple de SmsGAteway

 

Partager ce message


Lien à poster
Partager sur d’autres sites

j’utilise les deux Tasker  et  SmsGAteway, cela fait un moment que ma passerelle est en place, je ne me souviens plus de la configuration du téléphone, c'es un Wiko également.

dés que je rentre, je regarde et je te dis si il y a un paramètre spécifique.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok Merci

 

Je viens de faire un essai manuel depuis Tasker : envoyer un SMS  C'est OK.

 

Je crains que SmsGateway ne positionne pas les bonnes valeurs d'autorisation SMS pour des versions récentes d'androïd et qu'il faille les modifier manuellement.

Mais cela dépasse mes compétences

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

 Mon Wilco est sous Android quatre 4.4.2

 Les seules paramètres que j'ai coché sont 

 

listen for http send SMS commands

Prevent CPU sleep mode

Start gatway automatically after phone bout

 

 Dans l'application j'ai coché tout autorisé est dans la liste il y a

Envoi de  Messages SMS

Recevoir des messages texte (SMS)

Modifier ou supprimer le contenu de la SD…

 Bénéficier d'un accès complet au réseau

C'est que c'est cuit et au démarrage

Empêcher le téléphone de passer en mode veille

 

Je n'ai vraiment rien fait de plus à part ouvrir le port mais rien à voir avec l'envoi SMS bien sûr.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Citation

Dans l'application j'ai coché tout autorisé est dans la liste il y a

Envoi de  Messages SMS

Recevoir des messages texte (SMS)

Modifier ou supprimer le contenu de la SD…

 Bénéficier d'un accès complet au réseau

C'est que c'est cuit et au démarrage

Empêcher le téléphone de passer en mode veille

 

Si je vais dans paramètres / Applications / SmsGateway / Autorisation  : je n'ai que SMS et Stockage d'actif 

Je n'ai pas la liste que tu as coché.

 

D'ailleurs si j'essayer d'invalider une de ces deux autorisations, j'ai un message : Cette application est conçue pour une ancienne version Androïd .....

 

Je pense que le pb viens de là et il faut que je trouve comment valider manuellement android.permission.READ_PHONE_STATE  pour cette appli.

 

Si un spécialiste passe par là .....

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour info le même pb d'autorisation existe avec Sms Gateway Ultimate

Il semblerai que les autorisations d'accès ont évoluées depuis la 5.1 et donc les vielles Appli cités ci-dessus rencontrent ce problème.

Attention si vous les utilisez aux éventuelles mises à jour Android

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est vrai que depuis plus de deux ans que j'utilise cette passerelle, je n'ai fait aucune mises à jour sur le téléphone, temps que cela fonctionne parfaitement, je n'ai pas besoin.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

ah zut alors, si SMS Gateway ne fonctionne plus avec les versions récentes, il va falloir trouver une autre application similaire. Par exemple PAW Server (et qui permet en plus de faire tourner le serveur Web conçu par l'équipe de Jeedom, cf topic de @Sebcbien qui en parlait)

 

Perso mon vieil Android est en 4.2 ou quelque chose dans le genre.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui j'ai chargé PAW c'est APM et il commande très bien l'envoi de sms depuis un navigateur WEB.

 

J'ai lu plusieurs avis qui expliquent comment lui envoyer de commandes Http.

Il devrait aussi faire l'inverse SMS to HTTP / API

Donc je pense aussi que ce sera le remplaçant idéal ( en tout pour moi car je n'ai pas d'autre solutions )

J'ai envoyé un mail pour avoir un conseils aux contacts indiqués dans les applis SMSGateway et SMS Gateway Ultimate , le  premier est en Mail not delivery et le second sans réponse.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, PAW est extraordinairement bien fichu.

il peut aussi répondre à des sms, faire des appels, réseau ou sip, parler, répondre, faire des scénarios...

C'est le projet qui m'a le plus impressionné ces derniers mois.

Partager ce message


Lien à poster
Partager sur d’autres sites

@sebcbienje partage ton avis,

j'ai facilement pu faire de HC2vers PAW pour envoyer des SMS, mais je bute dans le sens SMS vers HC2.

Je  reçois les SMS, le script ( initsms.bsh ) dans autostart est exécuté : 

import de.fun2code.android.pawserver.listener.*;

SmsListener.registerAction("to", "hc2" , "source(\"/sdcard/paw/import/appelapi.bsh\");");
SmsListener.registerScript("test2", "makeToast(\"Init : Appel de: \" + smsNumber + \" Message: \" + smsMessage, \"long\");");

la deuxième ligne est exécutée ( je vois passer le message sur l'écran du smartphone) , mais l'activation du bsh en première ligne n'est pas exécutée ( en registerAction ou register Script )

si tu as un exemple ou une méthode pour debugger, ça me rendrait service.  J'ai essayé les logs 1 à 5 mais je ne vois rien qui m'aiguille sur mon erreur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je me répond à moi même j'ai trouvé mes erreurs

Une erreur de copier coller  

et une inversion de lecture du message reçu  different suivant la méthode utilisée pour SMS Actions : smsArgs  Pour SMS Scripts : smsMessage

Pour debugger je ne sais pas, mais essayer un .bsh dans la console de Paw c'est utile , et sinon makeToast ça peut aider

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×