[LUA] Notifications Mail et SMS (Freemobile)

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
ZIONIII
Messages : 85
Inscription : 07 avr. 2016, 19:18

[LUA] Notifications Mail et SMS (Freemobile)

Message par ZIONIII »

Bonjour Tout le monde,
Version 1.1

Code : Tout sélectionner

--[[
Nom      : script_device_SMSMAIL.Lua
Auteur   : ZIONIII
Création : 04/2016
MàJ      : 12/2016
Version  : 1.1

Principe :
Pouvoir envoyer un mail et un SMS pour les abonnés de chez Freemobile lors d'un changement d'état d'un device.

--]]

-- ========================================================================
-- Variables à éditer
-- ========================================================================
local intrusion = 'Porte_Entrée'                     -- Nom du device
local EmailTo = 'xxxxx@free.fr;xx.xxxx@gmail.com'  -- adresse mail, séparées par ; si plusieurs
-- ========================================================================
-- Fin Variables à éditer
-- ========================================================================

-- ========================================================================
-- Valeurs local
-- ========================================================================
local Jour = os.date('%d', os.time())
local Mois = os.date('%m', os.time())
local Ans = os.date('%Y', os.time())
local Heure = os.date('%H', os.time())
local Minute = os.date('%M', os.time())
local Seconde = os.date('%S', os.time())
-- ========================================================================
-- Fin valeurs local
-- ========================================================================


-- ========================================================================
-- Script LUA
-- ========================================================================
commandArray = {}

-- ========================================================================
-- Début fonction Mail
-- ========================================================================
function notification_Mail(objet, message)
DateMail = os.date('%d/%m/%Y à %H:%M:%S', os.time())                  -- (09/16/98 à 23:48:10)
commandArray['SendEmail']=objet..DateMail..'#'..message..'#'..EmailTo -- Envois Mail(s)
end
-- ========================================================================
-- Fin fonction Mail
-- ========================================================================

-- ========================================================================
-- Début fonction SMS Freemobile
-- ========================================================================
function notification_SMS(sms)
-- Premiére compte freemobile CC
local user1 = 'xxxxxxxxxxxx'            -- A remplacer par identifiant Free Mobile
local pass1 = 'xxxxxxxxxxxx'      -- A remplacer par la clé d'identification au service SMS Free
-- Deuxiéme compte freemobile BC
local user2 = 'xxxxxxxxxxxx'            -- A remplacer par identifiant Free Mobile
local pass2 = 'xxxxxxxxxxxx'      -- A remplacer par la clé d'identification au service SMS Free
-- SMS
local Message = sms..'%20%2D%20'..Jour..'%2F'..Mois..'%2F'..Ans..'%20%2D%20'..Heure..'%3A'..Minute..'%3A'..Seconde
-- Envois Sms à user1
command1="curl -s 'https://smsapi.free-mobile.fr/sendmsg?user="..user1.."&pass="..pass1.."&msg="..Message.."'"
print(command1)
os.execute(command1)
-- Envois Sms à user2
command2="curl -s 'https://smsapi.free-mobile.fr/sendmsg?user="..user2.."&pass="..pass2.."&msg="..Message.."'"
print(command2)
os.execute(command2)
end
-- ========================================================================
-- Fin fonction SMS Freemobile
-- ========================================================================

-- ========================================================================
-- Début des notifications
-- ========================================================================
-- Notification n°1 - 
if (devicechanged[intrusion] == 'On') and (otherdevices['Alarme'] == 'On') then
    objet = 'Alerte Intrusion - le '          -- Objet du Mail
    message = 'La porte vient de s\'ouvrir'   -- Corps du Mail
    sms = 'Alerte%20intrusion%20!'            -- Le contenu du SMS encodé sous forme d'url (en Percent-encoding)
    notification_Mail(objet, message)
    notification_SMS(sms)
    print('Alerte intrusion')

-- Notification n°2 -
-- elseif (devicechanged['Vacances'] == 'On') then
--    objet = 'xxxxxxxxx '                        -- Objet du Mail
--    message = 'xxxxxxx'                         -- Corps du Mail
--    sms = 'xxxxxx'                            -- Le contenu du SMS encodé sous forme d'url (en Percent-encoding)
--    notification_Mail(objet, message)
--    notification_SMS(sms)
--    print('Test2')

end
-- ========================================================================
-- Fin des notifications
-- ========================================================================

-- ========================================================================
-- Fin du script LUA
-- ========================================================================
return commandArray
Dernière modification par ZIONIII le 04 déc. 2016, 13:07, modifié 2 fois.
Rpbi2: Stretch Lite + Domoticz bêta + MyDomoAtHome + Monit
Passerelles: RFLINK (433Mhz;2,4Ghz;Wifi) + RFXCON 433Mhz + Razberry 1(Z-WAVE)
Milight,Sonde de température DIY, QUBINO - Fil Pilote ...
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

Bonjour.
merci pour le partage!
un seul bémol: chez moi, les adresses mail @free.fr ne reçoivent pas les mails.
les autres adresses reçoivent bien
:?
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
ZIONIII
Messages : 85
Inscription : 07 avr. 2016, 19:18

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par ZIONIII »

Moi tout fonctionne depuis plusieurs mois.

Si tu as une Freebox
- Ne pas activer le SMTP sortant
Et dans Domotitcz
- Réglages / Paramètres / Email

De: xxxxx@free.fr
A: xxxxx@free.fr
Serveur: smtp.free.fr
Port : 25

Et rien d'autre
:D
Rpbi2: Stretch Lite + Domoticz bêta + MyDomoAtHome + Monit
Passerelles: RFLINK (433Mhz;2,4Ghz;Wifi) + RFXCON 433Mhz + Razberry 1(Z-WAVE)
Milight,Sonde de température DIY, QUBINO - Fil Pilote ...
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

Merci pour ta réponse.
ma box est Orange, même si elle est de couleur noire :)
Que ce soit dans ton script ou dans Règlages / Paramètres / Email / tester

- si le mail du destinataire est toto@machintruc.fr ou toto@machinchose.org, le mail est bien reçu par le destinataire dans les deux cas.
-il n'est pas reçu si l'adresse est trucmuche@free.fr et ce dans les deux cas aussi.
(je n'avais pas remarqué que c'était pareil dans le test des paramètres de configuration email).
C'est bien la preuve que ton script (qui m'a bien rendu service) n'y est pour rien. :roll:

As-tu essayé chez toi avec une adresse free?
Si oui, je n'ai plus qu'à chercher pourquoi mon domoticz fait de la discrimination. J'espère que Free ne va pas porter plainte...
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

Bon, j'ai un peu progressé: en fait, c'est free qui discrimine...

j'ai mis une adresse "non-free" dans la zone "De:" de la configuration email et une adresse free dans la zone "A:"

Après le test de cette configuration, l'expéditeur a reçu un billet doux :
toto@free.fr>: host free.fr[212.227.148.176] said: 550
mail dropped, bare LF found


Si j'ai bien compris, une sombre histoire de CR/LF dans les headers du mail. :o
voir: http://www.dolibarr.fr/forum/509-webmai ... ez-free-fr
Du coup, je passe la main car je ne peux pas y faire grand chose...
ça voudrait dire que Domoticz est blacklisté par free?

Bizarre quand même que je sois le premier impacté par ça... :?
Merci pour tout et la bonne journée!
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par patrice »

J'utilise free pour Domoticz avec le paramétrage indiqué par ZIONIII et cela fonctionne correctement
pourquoi ne pas faire comme cela ?
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

bonjour

mais je "fais exactement comme ça"...
qu'est-ce qui vous fait dire que je ne "fais pas comme ça"?
Ce n'est qu'un problème lié à l'adresse de destination.

juste une question:
que se passe-t-il chez vous si vous mettez une adresse de mail @free.fr dans le zone "A:" de Règlages / Paramètres / Email et qu'ensuite vous appuyez sur "TESTER"?
Le mail de test parvient-il bien sur cette boite mail de free?
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

[Résolu]
...Enfin, je devrais dire [Contourné]
Comme je l'ai écrit plus haut, ce script n'est nullement en cause.
IMAP de Free rejette les mails composés par (mon) Domoticz.
De même que l'appétit vient en mangeant, la solution est venue en dormant. :D
Je place dans la zone "A:" une adresse de messagerie .fr ou .org dont je suis propriétaire.
ensuite, depuis les paramètres de cette boite mail, je redirige vers l'adresse "@free.fr" souhaitée.
Et l'affaire est dans le sac.
Il serait vraisemblablement possible de remédier à ça en allant taper dans le code mais je redoute un peu les effets de bord.
Merci à tous pour vos avis éclairés ;)
...et la bonne journée!
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par vil1driver »

patrice a écrit :J'utilise free pour Domoticz avec le paramétrage indiqué par ZIONIII et cela fonctionne correctement
pourquoi ne pas faire comme cela ?
oddali a écrit : qu'est-ce qui vous fait dire que je ne "fais pas comme ça"?
bien ceci :
oddali a écrit : j'ai mis une adresse "non-free" dans la zone "De:"
comme Patrice, aucun soucis.

tu utilises le SMTP de ton FAI (orange en l’occurrence)
DE : ton mail @ free.fr
A : ton mail @ free.fr

et hop
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
oddali
Messages : 68
Inscription : 19 mars 2016, 17:22
Localisation : TOURS

Re: Script Lua Notification Mail et SMS (Freemobile)

Message par oddali »

vil1driver a écrit : comme Patrice, aucun soucis.
tu utilises le SMTP de ton FAI (orange en l’occurrence)
DE : ton mail @ free.fr
A : ton mail @ free.fr
et hop
Eh non! pas hop du tout quand je fais ça... :?:
(J'utilise bien smtp d'orange, mon FAI).

A - De: mon mail1@free.fr A: mon mail2@free.fr => mon mail 2 ne reçoit rien et mon mail1 n'est pas averti.
B - De: mon mail@toto.fr A: mon mail2@free.fr => mon mail 2 ne reçoit rien et mon mail@toto.fr reçoit: host free.fr[212.227.148.176] said: 550
mail dropped, bare LF found

C - De: mon mail@toto.fr A: monmail@tata.org => message reçu.
D - De: mon mail2@free.fr A: mon mail@tata.org => message reçu.

et quand IMAP dit: 550 mail dropped, bare LF found il dit bien ce qu'il veut dire...
La seule réponse qui peut me faire avancer c'est:
"Je viens de faire à l'instant les tests A et B et dans les deux cas, le destinataire reçoit bien le mail".
Peut-être une question de version de Domoticz?
merci pour cette réponse.
Pi3 (prod) + Pi3(sécurité)- Dz V:3.4834 - RFLink- Prises Phenix 4000B - OWL CM180 - FOSCAM - YANA.
Répondre