Envoi de SMS en fonction de T° et visibilité de Weather Underground
Publié : 07 déc. 2015, 12:13
Bonjour à tous,
J'ai un petit problème pour terminer mon script lua qui permet de m'envoyer, tous les matins, un SMS en fonction de la T° et de la visibilité qu'il a fait pendant la nuit.
Le script permet, entre 20h et 6h, de vérifier la température de la sonde Weather Underground ainsi que la distance de visibilité (et c'est ce dernier point qui pose soucis pour le moment).
L'envoi de SMS se fait par l'intermédiaire de Free Mobile (et de ses notifications SMS, très pratique).
Je souhaites donc savoir si vous aviez des informations au sujet de la récupération des informations de la visibilité pour WU.

Pour ces lignes, je n'arrive donc pas à trouver comment modifier la deuxième afin d'y intégrer la visibilité.
local temperature_exterieur = devicechanged[string.format('%s_Temperature', sonde_exterieur)]
local vision_exterieur = ???
Du coup, si quelqu'un à la solution à ce petit problème, je suis fortement preneur!
J'ai un petit problème pour terminer mon script lua qui permet de m'envoyer, tous les matins, un SMS en fonction de la T° et de la visibilité qu'il a fait pendant la nuit.
Le script permet, entre 20h et 6h, de vérifier la température de la sonde Weather Underground ainsi que la distance de visibilité (et c'est ce dernier point qui pose soucis pour le moment).
Code : Tout sélectionner
-------------------------------------------
------ script_device_alertemeteo.lua ------
-------------------------------------------
--- Scirpt de gestion des alertes meteo ---
-------------------------------------------
--------------------------------
---- Variables utilisateur -----
--------------------------------
-- Sonde extérieure
local sonde_exterieur = 'Exterieur'
local visibilite_exterieur = 'Exterieur / Visibilite'
-- VARIABLES RETOUR INFORMATION
local Alerte_Meteo = uservariables['Alerte_Meteo']
-- VARIABLES CALCULS
local Heure = 0
local Minutes = 0
commandArray = {}
if((devicechanged[sonde_exterieur]) or (devicechanged[visibilite_exterieur])) then
Heures = tonumber(os.date("%H"))
Minutes = tonumber(os.date("%M"))
if((Heures >= 20) or (Heures < 6)) then
local temperature_exterieur = devicechanged[string.format('%s_Temperature', sonde_exterieur)]
local vision_exterieur = otherdevices_svalues[visibilite_exterieur] -- L'erreur était sur cette ligne, commentaire à supprimer.
if((Alerte_Meteo == 0) and (temperature_exterieur > 4) and (vision_exterieur <= 5)) then
commandArray['Variable:Alerte_Meteo'] = tostring(1)
print('!*!*!*!*!*!*!*! SCRIPT PREVENTION METEO !*!*!*!*!*!*!*!')
print('Risque de verglas, modification de la variable, visibilité: '..vision_exterieur)
end
if((Alerte_Meteo <= 1) and (temperature_exterieur <= 4) and (vision_exterieur > 5)) then
commandArray['Variable:Alerte_Meteo'] = tostring(2)
print('!*!*!*!*!*!*!*! SCRIPT PREVENTION METEO !*!*!*!*!*!*!*!')
print('Risque de neige, modification de la variable, température: '..temperature_exterieur)
end
if((Alerte_Meteo <= 2) and (temperature_exterieur <= 4) and (vision_exterieur <= 5)) then
commandArray['Variable:Alerte_Meteo'] = tostring(3)
print('!*!*!*!*!*!*!*! SCRIPT PREVENTION METEO !*!*!*!*!*!*!*!')
print('Risque de brouillard & neige, modification de la variable, visibilité: '..vision_exterieur..', température: '..temperature_exterieur)
end
if((Alerte_Meteo <= 3) and (temperature_exterieur < 0) and (vision_exterieur > 5)) then
commandArray['Variable:Alerte_Meteo'] = tostring(4)
print('!*!*!*!*!*!*!*! SCRIPT PREVENTION METEO !*!*!*!*!*!*!*!')
print('Risque de verglas, modification de la variable, température: '..temperature_exterieur)
end
if((Alerte_Meteo <= 4) and (temperature_exterieur < 0) and (vision_exterieur <= 5)) then
commandArray['Variable:Alerte_Meteo'] = tostring(5)
print('!*!*!*!*!*!*!*! SCRIPT PREVENTION METEO !*!*!*!*!*!*!*!')
print('Risque de brouillard & verglas, modification de la variable, visibilité: '..vision_exterieur..', température: '..temperature_exterieur)
end
end
if((Heures == 6) and (Minutes >= 5) and (Alerte_Meteo >= 1)) then
if(Alerte_Meteo == 1) then -- Risque de brouillard
print("Envoi de SMS, risque de brouillard")
commandArray['Variable:Alerte_Meteo'] = tostring(0)
end
if(Alerte_Meteo == 2) then -- Risque de neige
print("Envoi de SMS, risque de neige")
commandArray['Variable:Alerte_Meteo'] = tostring(0)
end
if(Alerte_Meteo == 3) then -- Risque de neige et de brouillard
print("Envoi de SMS, risque de brouillard et de neige")
commandArray['Variable:Alerte_Meteo'] = tostring(0)
end
if(Alerte_Meteo == 4) then -- Risque de verglas
print("Envoi de SMS, risque de verglas")
commandArray['Variable:Alerte_Meteo'] = tostring(0)
end
if(Alerte_Meteo == 5) then -- Risque de varglas et de brouillard
print("Envoi de SMS, risque de brouillard et de verglas")
commandArray['Variable:Alerte_Meteo'] = tostring(0)
end
end
end
return commandArray
Je souhaites donc savoir si vous aviez des informations au sujet de la récupération des informations de la visibilité pour WU.

Pour ces lignes, je n'arrive donc pas à trouver comment modifier la deuxième afin d'y intégrer la visibilité.
local temperature_exterieur = devicechanged[string.format('%s_Temperature', sonde_exterieur)]
local vision_exterieur = ???
Du coup, si quelqu'un à la solution à ce petit problème, je suis fortement preneur!