Aller au contenu
mprinfo

Utilisation Plugin Freesms Et Ouverture De Porte

Recommended Posts

Ce script consiste a envoyer un SMS via le plugin freesms de notre amis Krikroff que je remercie au passage pour son super boulot.

A chaque ouverture ou fermeture d'une porte vous recevrez un Sms (Service Gratuit chez FREEMobile)

Ce script peu bien sur être adapter pour d'autres modules

 

                 1 - Installation du plugin

                 2 - créé une instance et ajouter vos identifiant (il faut que le service soit activé sur votre compte freemobile c'est gratuit)

                 3 - faire un test pour voir si tout fonctionne parfaitement

                 4 - Crée un variable global FreeSmsID avec commme valeur l'ID de l'instance

                      (J'utilise cette solution car a chaque mise a jour il faut ré installer le plugin puis re crée l'instance comme je suis pas trés courageur j' ai pas envie de modifier l'id dans toutes les scripts

                       je modifie donc la variable global a chaque nouvelle installation du plugin, si vous avez plusieurs forfait il suffit d'utilisé un variable global par instance)

                 5 - Crée une nouvelle Scème LUA et ajouter ce code

%% properties
35 value
39 value
152 value
%% globals
--]]


local OrigineDeclenchement = fibaro:getSourceTrigger() -- on demande au système de récupérer (get) l'origine (Source) du déclenchement de la scène (Trigger)
 
if OrigineDeclenchement['type'] == 'property' then -- si l'origine du déclenchement de la scène est la modification d'une propriété d'un module surveillée dans l'entête alors
    local id = OrigineDeclenchement['deviceID'] -- Récuperation de l'id du déclencheur
    local Name = fibaro:getName(id) -- Récuperation Nom du module déclencheur
    local MaPorte = fibaro:getValue(id, 'value' ) -- récuperation de la valeur de l'id déclencheur
    local IdSMS = fibaro:getGlobalValue("FreeSmsID") -- récuperation de la variable global instance freesms
    local MessageSms = ('La ' ..Name)
    
    fibaro:debug('id module = '..id)
    fibaro:debug('Nom du module = '..Name)
	fibaro:debug( 'ID Plugin SMS = ' .. IdSMS)
	fibaro:debug( 'value = ' .. MaPorte)
    
 	 
      if (MaPorte == '0') then
        fibaro:call(IdSMS, "send", MessageSms .." est Fermee")
	    fibaro:debug( 'Fermer' )
      else
 	    fibaro:call(IdSMS, "send", MessageSms .." est Ouverte")
        fibaro:debug( 'Ouverte' )
 	  end
elseif OrigineDeclenchement['type'] == 'other' then -- sinon si l'origine du déclenchement de la scène est autre alors
   fibaro:debug('La scène a été lancée manuellement')
end


            - 6 Ajouter l id des modules pour lesquels vous voulez recevoir un SMS

                ex : pour un détecteur d'ouverture id 100 on peut en ajout comme bon vous semble .

                       --[[
                       %% properties

                       100 value
                       %% globals
                      --]]

 

C'est mon premier script que je post donc je demande a Mr Moicphil de bien vouloir être indulgent si j'ai mal posté mon post merci

  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

En attendent que l'on puisse a nouveau utiliser le plugin freeSMS

Voici je choisi d'envoyer les messages par PUSH

Car pour utilisé l'API FreeSMS c'est un peux compliquer

--[[
%% properties
17 value
33 value
%% globals
--]]
 
 
local OrigineDeclenchement = fibaro:getSourceTrigger() -- on demande au système de récupérer (get) l'origine (Source) du déclenchement de la scène (Trigger)


if OrigineDeclenchement['type'] == 'property' then -- si l'origine du déclenchement de la scène est la modification d'une propriété d'un module surveillée dans l'entête alors
   local id = OrigineDeclenchement['deviceID'] -- Récuperation de l'id du déclencheur
   local Name = fibaro:getName(id) -- Récuperation Nom du module déclencheur
   local MaPorte = fibaro:getValue(id, 'value' ) -- récuperation de la valeur de l'id déclencheur
   local IdSMS = fibaro:getGlobalValue("FreeSmsID") -- récuperation de la variable global instance freesms
   local MessageSms = ('La ' ..Name)
 
   fibaro:debug('id module = '..id)
   fibaro:debug('Nom du module = '..Name)
   fibaro:debug('ID Plugin SMS = ' ..IdSMS)
   fibaro:debug('value = ' ..MaPorte)
  
   if (MaPorte == '0') then
      fibaro:call(IdSMS, "sendPush", MessageSms .." est Fermee")
      fibaro:debug( 'Fermer' )
   else
      fibaro:call(IdSMS, "sendPush", MessageSms .." est Ouverte")
      fibaro:debug( 'Ouverte' )
   end
  
elseif OrigineDeclenchement['type'] == 'other' then -- sinon si l'origine du déclenchement de la scène est autre alors
    fibaro:debug('La scène a été lancée manuellement')
end

il faut bien sur crée une variable globale : FreeSmsID avec comme valeur l' ID du téléphone qui doit recevoir la notification

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici une solution temporaire donner par KriKroff pour les SMS FreeMobile dans l'attente de pourvoir utiliser son plugin

--[[
%% globals
FreeSms
--]]
 
local username = "xxxxxxxxx"
local password = "xxxxxxxxx"
local message = fibaro:getGlobalValue("FreeSms")
local http = net.HTTPClient({ timeout = 2000 })
 
fibaro:debug("Message a Envoyer : " ..message)
 
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)
end,
error = function(err)
print('error = ' .. err)
end
})
 
fibaro:setGlobal("FreeSms", "")

http://www.domotique-fibaro.fr/index.php/topic/2003-plugin-free-mobile-sms/page-6

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Krikroff…………………………………………...

Des heures de galère pour essayer d'envoyer ces p... de SMS avec le plugin qui ne marche pas.

Tout marche désormais, et j'ai commencé àen mettre partout.
C'est franchement plus sûr que les notifications PUSH, qui marchent quand elles ont le temps.

Oufff… J'avais mis au moins 10 posts sur le forum àce sujet, sans effet.

Ça a été la meilleure nouvelle de la journée… Tu imagines...

Partager ce message


Lien à poster
Partager sur d’autres sites

… et merci àmprinfo de l'avoir passé ici…...

Partager ce message


Lien à poster
Partager sur d’autres sites

×