mprinfo Posté(e) le 25 décembre 2014 Signaler Posté(e) le 25 décembre 2014 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 3
Sakkhho Posté(e) le 26 décembre 2014 Signaler Posté(e) le 26 décembre 2014 merci pour le partage - je testerai cela. 1
mprinfo Posté(e) le 9 janvier 2015 Auteur Signaler Posté(e) le 9 janvier 2015 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
mprinfo Posté(e) le 11 avril 2015 Auteur Signaler Posté(e) le 11 avril 2015 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 1
Janus Posté(e) le 30 avril 2015 Signaler Posté(e) le 30 avril 2015 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...
Janus Posté(e) le 30 avril 2015 Signaler Posté(e) le 30 avril 2015 … et merci àmprinfo de l'avoir passé ici…...
Messages recommandés