Page 1 sur 2
prévision de température
Publié : 16 août 2019, 11:28
par jppacaut
bonjour,
j'ai repris un script en lua de prévision de givre et l'ai modifié car seul la prévision de température à 05h le lendemain matin m'intéresse.
tout va bien sauf que je veux m'envoyer un mail avec la valeur de la température prévue. j'arrive à envoyer le mail mais pas la valeur de température.
Qui peut m'aider
merci
JPP
Re: prévision de température
Publié : 16 août 2019, 14:52
par boum
Le fichier zip à l'air d'être vide.
Sans le script d'origine, je tente une réponse à l'aveugle…
Pour avoir la température dans le message, il suffit de faire :
Code : Tout sélectionner
local temp = 25 -- remplacer par la fonction qui renvoie la prévision
local msgTemp = 'La température sera de ' .. temp .. '°C'
et utiliser msgTemp pour la notification.
Re: prévision de température
Publié : 16 août 2019, 19:46
par jppacaut
merci pour ta réponse
avant d'aller plus loin j'essaie de t'envoyer le script
merci
Re: prévision de température
Publié : 16 août 2019, 21:33
par denis_brasseur
Peut être comme ceci :
Code : Tout sélectionner
commandArray['SendEmail']='temperature#temperature demain :'..temp..'#tonadressemail@gmail.com'
***** ATTENTION, tu affiche ton adresse mail en clair, et ton API, modifie ton message initial !! *****
Je tenterais ceci, sauf que je ne sais pas a quoi correspond temp_alert[19] :
Code : Tout sélectionner
--Principe :--a une heure donnée, va chercher les previsions de temperature pour dans 12h
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
local debugging = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local temp_alert_idx =19
local heure =17 ---heure de declenchement
local minute =00 -- minute de declenchement
local api ="xxxxxxxx"
local lat =999999999
local long =888888888
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- for PI
commandArray = {}
now=os.date("*t")
if (now.min == minute and now.hour == heure) then
--if now.min % 1 == 0 then -- toutes les minutes
config=assert(io.popen('/usr/bin/curl https://api.forecast.io/forecast/'..api..'/'..lat..','..long..'?units=ca&exclude=currently,minutely,daily,alerts,flags'))
blocjson = config:read('*all')
config:close()
jsonValeur = json:decode(blocjson)
temp = jsonValeur.hourly.data[12].apparentTemperature
-- dew = jsonValeur.hourly.data[12].dewPoint
-- print('temper: '..temp..' dew: '..dew)
print("temper: "..temp)
--commandArray[2] = {['UpdateDevice'] = temp_alert_idx .. "|0|" ..temp} -- Mise à jour température prévue
commandArray[#commandArray+1]={['UpdateDevice'] = temp_alert_idx .. "|0|" ..temp}
--commandArray['SendEmail']='temperature#(temperature demain:{{temp_alert[19]}})#xxxxx@gmail.com'
commandArray[#commandArray+1] = {'temperature#temperature demain :'..temp..'#tonadressemail@gmail.com'}
end
Re: prévision de température
Publié : 16 août 2019, 21:52
par papoo
pour info, le script original est la
viewtopic.php?f=10&t=3295
Re: prévision de température
Publié : 17 août 2019, 11:46
par jppacaut
merci à Denis pour ton aide
j'ai tenté ton script et je reçois le message suivant dans les logs de domoticz:
2019-08-17 11:25:58.753 Error: EventSystem: commandArray in script /home/pi/domoticz/scripts/lua/script_device_temperature.lua should only return ['string']='actionstring' or [integer]={['string']='actionstring'}
????
je suis débutant en programmation
JP
Re: prévision de température
Publié : 17 août 2019, 13:46
par denis_brasseur
Chez moi, le script fonctionne, et me retourne la valeur de la température.
2019-08-17 13:36:03.033 Status: LUA: temper: 23.31
Script implémenté depuis l'interface domoticz, Réglages, Plus d'options, Événements, type Trigger : Time.
Ton device est bien de type : Custom Sensor ?
Active la ligne :
Et désactive la mise a jour du Device, afin de voir le résultat
Code : Tout sélectionner
--commandArray[#commandArray+1]={['UpdateDevice'] = temp_alert_idx .. "|0|" ..temp}
Re: prévision de température
Publié : 17 août 2019, 16:21
par jppacaut
je me suis mal fait comprendre
le premier script que j'ai publié me retourne bien la valeur de la température dans les log de domoticz et sur une custom page mais je n'arrive pas à m'envoyer la valeur de la température par mail
je reçois le message temp et non la température chiffrée.
Re: prévision de température
Publié : 17 août 2019, 17:49
par papoo
je dirais
Code : Tout sélectionner
commandArray['SendEmail']='temperature#temperature dans 12 heures : '..temp..'#jppacaut@gmail.com'
Re: prévision de température
Publié : 17 août 2019, 18:31
par denis_brasseur
papoo à raison.
@ jppacaut
Mais lis les messages jusqu'au bout.
Dans mon premier message, j'ai écrit ceci :
denis_brasseur a écrit : 16 août 2019, 21:33
Peut être comme ceci :
Code : Tout sélectionner
commandArray['SendEmail']='temperature#temperature demain :'..temp..'#tonadressemail@gmail.com'