Sync from remote server: 2025-10-12 18:56:41
This commit is contained in:
130
ATD/SMS.m
Executable file
130
ATD/SMS.m
Executable file
@@ -0,0 +1,130 @@
|
||||
function SMS(IDcentralina,DTcatena,Sito,Users_SMS,Criterio,FileName)
|
||||
|
||||
fileID = fopen(FileName,'a');
|
||||
fmt = '%s \r';
|
||||
|
||||
[rU,cU] = size(Users_SMS);
|
||||
NumTel = cell(1);
|
||||
Language = cell(1);
|
||||
j = 1;
|
||||
if cU > 1
|
||||
for i = 1:rU
|
||||
if isempty(Users_SMS{i,6}) == 0 % l'utente ha un numero di telefono
|
||||
NumTel(j,1) = Users_SMS(i,6);
|
||||
Language(j,1) = Users_SMS(i,4);
|
||||
j = j+1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
%% ------ INVIO SMS TRAMITE MAIL-TO-SMS SKEBBY -------
|
||||
|
||||
% Settaggio Email mittente
|
||||
setpref('Internet','E_mail','aseparma@gmail.com');
|
||||
setpref('Internet','SMTP_Server','smtp.gmail.com');
|
||||
setpref('Internet','SMTP_Username','aseparma@gmail.com');
|
||||
setpref('Internet','SMTP_Password','Mums@2016');
|
||||
props=java.lang.System.getProperties;
|
||||
pp=props.setProperty('mail.smtp.auth','true'); %#ok
|
||||
pp=props.setProperty('mail.smtp.socketFactory.class','javax.net.ssl.SSLSocketFactory'); %#ok
|
||||
pp=props.setProperty('mail.smtp.socketFactory.port','465'); %#ok
|
||||
|
||||
if strcmp(Criterio,'Fukuzono')
|
||||
sms = 1;
|
||||
elseif strcmp(Criterio,'FIFA')
|
||||
sms = 2;
|
||||
elseif strcmp(Criterio,'Soglie')
|
||||
sms = 3;
|
||||
end
|
||||
|
||||
% --- Invio sms di allertamento utenti ---
|
||||
[r,~]=size(NumTel);
|
||||
Condizione = cell2mat(NumTel);
|
||||
|
||||
if isempty(Condizione) == 0 % almeno un utente da avvisare
|
||||
for k=1:r
|
||||
check = char(NumTel(k,1));
|
||||
[~,cC] = size(check);
|
||||
if cC >= 1
|
||||
if Language{k,1} == 2 %ITA
|
||||
if sms == 1
|
||||
testosms = (['ALLARME - Criterio Inverso della Velocità attivato per la Centralina ' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']); %testo sms
|
||||
elseif sms == 2
|
||||
testosms = (['ALLARME - Criterio FIFA attivato per la Centralina ' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']); %testo sms
|
||||
elseif sms == 3
|
||||
testosms = (['ALLARME - Soglie superate per la Centralina ' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']); %testo sms
|
||||
end
|
||||
else %ENG
|
||||
if sms == 1
|
||||
testosms = (['ALARM - Inverse of Velocity Criterion Activated for Datalogger ' IDcentralina ', Array ' DTcatena ', Site: ' Sito...
|
||||
'. Check the email for further details. ''']); %testo sms
|
||||
elseif sms == 2
|
||||
testosms = (['ALARM - FIFA Criterion Activated for Datalogger ' IDcentralina ', Array ' DTcatena ', Site: ' Sito...
|
||||
'. Check the email for further details. ''']); %testo sms
|
||||
elseif sms == 3
|
||||
testosms = (['ALARM - Thresholds activated for Datalogger ' IDcentralina ', Array ' DTcatena ', Site: ' Sito...
|
||||
'. Check the email for further details. ''']); %testo sms
|
||||
end
|
||||
end
|
||||
NUMERO_TEL = num2str(cell2mat(NumTel(k,1))); % numero telefono
|
||||
soggetto = 'ASE: Allarme Fukuzono!';
|
||||
utente = [NUMERO_TEL '@classic.skebby.com'];
|
||||
sendmail(utente,soggetto,testosms)
|
||||
if sms == 1
|
||||
text = ['Alert of Level #5 SMS sent to ' NUMERO_TEL '!'];
|
||||
elseif sms == 2
|
||||
text = ['Alert of Red Code SMS sent to ' NUMERO_TEL '!'];
|
||||
elseif sms == 3
|
||||
text = ['Alert SMS sent to ' NUMERO_TEL ' for the thresholds overcoming!'];
|
||||
end
|
||||
fprintf(fileID,fmt,text);
|
||||
end
|
||||
end
|
||||
% scrivo invio sms a utenti autorizzati nel logfile
|
||||
text = 'Alarm activated, email-to-sms process completed - Alert sent to authorized users!';
|
||||
fprintf(fileID,fmt,text);
|
||||
end
|
||||
|
||||
% --- Invio sms a destinatari ASE ---
|
||||
recipients_ITA{1,1} = '+393482453680'; % Alessandro Valletta
|
||||
recipients_ITA{2,1} = '+393493048545'; % Andrea Carri
|
||||
recipients_ITA{3,1} = '+393406654863'; % Roberto Savi
|
||||
recipients_ITA{4,1} = '+393485113211'; % Andrea Segalini
|
||||
[rASE,~]=size(recipients_ITA);
|
||||
|
||||
for z = 1:rASE
|
||||
if sms == 1
|
||||
smsASE = (['ALLARME di livello massimo - Criterio di Fukuzono Attivato per la Centralina' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']);
|
||||
soggettoASE = 'ASE: Allarme Fukuzono!';
|
||||
elseif sms == 2
|
||||
smsASE = (['ALLARME - Criterio FIFA Attivato per la Centralina' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']);
|
||||
soggettoASE = 'ASE: Allarme FIFA!';
|
||||
elseif sms == 3
|
||||
smsASE = (['ALLARME - Soglie superate per la Centralina' IDcentralina...
|
||||
', Catena ' DTcatena ' nel sito di ' Sito '. Controllare l''email per maggiori dettagli.']);
|
||||
soggettoASE = 'ASE: Allarme Soglie!';
|
||||
end
|
||||
Num_ASE = num2str(cell2mat(recipients_ITA(z,1))); % numero telefono ASE
|
||||
utenteASE = [Num_ASE '@classic.skebby.com'];
|
||||
sendmail(utenteASE,soggettoASE,smsASE)
|
||||
% scrivo invio sms a utenti autorizzati nel logfile
|
||||
if sms == 1
|
||||
text = ['Alert of Level #5 SMS sent to ' Num_ASE '!'];
|
||||
elseif sms == 2
|
||||
text = ['Alert of Red Code SMS sent to ' Num_ASE '!'];
|
||||
elseif sms == 3
|
||||
text = ['Alert SMS sent to ' NUMERO_TEL ' for the thresholds overcoming!'];
|
||||
end
|
||||
fprintf(fileID,fmt,text);
|
||||
end
|
||||
|
||||
text = 'Alarm activated, email-to-sms process completed - Alert sent to ASE users!';
|
||||
fprintf(fileID,fmt,text);
|
||||
fclose(fileID);
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user