[DzVents] Vigilance MétéoFrance V2
Re: LUA: vigilance météoFrance V2
Oui, impeccable 
Re: LUA: vigilance météoFrance V2
Bonsoir
J'ai régulièrement des pb avec les apostrophes...
J'avoue mon incompréhension !
J'ai régulièrement des pb avec les apostrophes...
Code : Tout sélectionner
2017-12-13 22:55:00.340 LUA: =========== vigilance meteofrance V2 (v1.04) ===========
2017-12-13 22:55:00.602 LUA: --- --- --- Conseils : Vent/Orange- Limitez vos déplacements et renseignez vous avant de les entreprendre.- Prenez garde aux chutes d'arbres ou d'objets.- N'intervenez pas sur les toitures.
2017-12-13 22:55:00.602 LUA: --- --- --- Commentaire : Fort coup de vent hivernal accompagné de grains orageux marqués, prévu cette nuit sur les régions proche de la Manche, puis gagnant les régions du nord-est. Réactons marquées des cours d'eau sur le bassin artois-picardie.
2017-12-13 22:55:00.604 LUA: --- --- --- Couleur Vigilance : 3 pour le departement : 80
2017-12-13 22:55:00.604 LUA: --- --- --- risque trouvée : 1
2017-12-13 22:55:00.604 LUA: --- --- --- Couleur Vigilance : 3 pour le departement : 80
2017-12-13 22:55:00.604 LUA: --- --- --- risque trouvée : 3
2017-12-13 22:55:00.604 LUA: --- --- --- risque trouvée : 2
2017-12-13 22:55:00.604 LUA: --- --- --- Couleur Vigilance Vague submersion : 3 pour le departement : 80
2017-12-13 22:55:00.604 LUA: --- --- --- vigilance : pluie-inondation
2017-12-13 22:55:00.604 LUA: --- --- --- vigilance : orages
2017-12-13 22:55:00.604 LUA: --- --- --- vigilances : pluie-inondation, orages
2017-12-13 22:55:00.605 LUA: --- --- --- CouleurVigilance : 3
2017-12-13 22:55:00.605 LUA: --- --- --- vigilance Forte pluie-inondation, orages --- --- ---
2017-12-13 22:55:00.605 LUA: ========= Fin vigilance meteofrance V2 (v1.04) =========
2017-12-13 22:55:00.607 Error: SQL Query("UPDATE DeviceStatus SET nValue='0',sValue='Vent/Orange- Limitez vos déplacements et renseignez vous avant de les entreprendre.- Prenez garde aux chutes d'arbres ou d'objets.- N'intervenez pas sur les toitures.',LastUpdate='2017-12-13 22:55:00' WHERE (ID = '625')") : near "arbres": syntax error
2017-12-13 22:55:00.609 Error: SQL Query("UPDATE DeviceStatus SET nValue='0',sValue='Fort coup de vent hivernal accompagné de grains orageux marqués, prévu cette nuit sur les régions proche de la Manche, puis gagnant les régions du nord-est. Réactons marquées des cours d'eau sur le bassin artois-picardie.',LastUpdate='2017-12-13 22:55:00' WHERE (ID = '626')") : near "eau": syntax error_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
Re: LUA: vigilance météoFrance V2
bizarre effectivement, je n'ai pas ce problème sur ma machine.
mets tes devices conseils et commentaire à nil pour le moment, je te proposerai une solution rapidement.
mets tes devices conseils et commentaire à nil pour le moment, je te proposerai une solution rapidement.
Re: LUA: vigilance météoFrance V2
Merci pour ton soutien.
J'ai le même pb, semble-t-il, pour ce script :
J'ai le même pb, semble-t-il, pour ce script :
Code : Tout sélectionner
--[[
~/domoticz/scripts/lua/script_time_Prevision_Pluie_jml.lua
OBJET :
Annonce dans combien de minutes il va pleuvoir, basé sur l'API de prévision pluie dans l'heure de météofrance :
- sur un device Alert : "Pluie forte dans 15 minutes"
- par mail
- par pushNotification
- par annonce Vocale : Je vous dérange pour vous prévenir qu'une pluie 'forte' est annoncée par météo france dans '35' minutes.
REQUIS :
device type : Alert , Nom :"Alerte Pluie dans l'heure"
ORIGIN :
https://easydomoticz.com/prvision-pluie/
https://easydomoticz.com/forum/viewtopic.php?f=10&t=1991
API :
http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/920630
http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/pluie/search/rueil-malmaison
FONCTIONNEMENT :
Toutes les 5 minutes , interroge l'API meteoFrance de prévision de pluie dans l'heure
Parcours les 12 cadrans :
Trouve l'heure de la 1er pluie
Trouve l'intensité la plus forte de l'heure
Avec jsonPrevision.dataCadran[n].niveauPluie
1 = Pas de précipitation
2=faible
3=modéré
4=forte
met à jour le device : "Alerte Pluie dans l'heure"
alerte par : mail, push notif, synthese vocale
Annonce vocale : seulement une annonce vocale , toutes les 3heures.
]]--
-- --------------------------------
------ Paramètres à éditer ------
--------------------------------
local CITY_CODE = xxx -- Le code de votre ville est l'ID retourné par cette URL : http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/pluie/search/nom de votre ville
local RAIN_ALERT_IDX = 1028 -- renseigner l'id du device alert associé si souhaité, sinon nil
local NOTIFICATION_PUSH = true
local NOTIFICATION_MAIL = true
local NOTIFICATION_VOCAL = false
local EMAIL = 'xx@gmail.com' -- adresse mail, séparées par ; si plusieurs
---------------------------------------------------------------------------
--Fonctions
---------------------------------------------------------------------------
package.path = package.path .. ';' .. '/home/pi/domoticz/scripts/lua/?.lua'
My = require('My_Library')
---------------------------------------------------------------------------
commandArray = {}
now = os.date("*t")
if now.min % 5 == 0 then
print('--- script_time_meteofrance_pluie_JML.lua --- ')
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()
local config = assert(io.popen('curl http://www.meteofrance.com/mf3-rpc-portlet/rest/pluie/' .. CITY_CODE .. '.json'))
local fileContent = config:read('*all')
config:close()
local jsonPrevision = json:decode(fileContent)
rainLevel = 0
when = 0
data = jsonPrevision.dataCadran
for i = 1, 12 do
if data[i].niveauPluie > 1 and when == 0 then
-- Find the first time that the rain is announced
when = i
end
if data[i].niveauPluie > rainLevel then
-- Find the maximum level of rain announced
rainLevel = data[i].niveauPluie
end
end
if rainLevel == 0 then
commandArray[#commandArray + 1] = { ['SendEmail'] = 'Domoticz Anomalie#' .. os.date("%H:%M") .. ' -- Anomalie dans le script : script_time_PrevisionPluie_JML.lua<br> L\'Api de meteoFrance renvoie un JSON inattendu. niveauPluie n\'est pas correct (devrait être de 1 à 4)<br>Contenu du Json : -------------<br>' .. fileContent .. '#' .. EMAIL }
elseif rainLevel == 1 then
if otherdevices_svalues["Alerte Pluie dans l'heure"] ~= "Pas de pluie dans l'heure" then
-- Don't update the device if there is no change. (so that don't change the timestamp of the devie)
commandArray[#commandArray + 1] = { ['UpdateDevice'] = RAIN_ALERT_IDX .. "|1|Pas de pluie dans l'heure" }
end
else
if when == 1 then
whenText = " maintenant"
else
whenText = " dans " .. tostring(when * 5) .. " minutes"
end
if rainLevel == 2 then
rainLevelText = "légère"
elseif rainLevel == 3 then
rainLevelText = "modérée"
elseif rainLevel == 4 then
rainLevelText = "forte"
end
commandArray[#commandArray + 1] = { ['UpdateDevice'] = RAIN_ALERT_IDX .. '|' .. rainLevel .. '|Pluie ' .. rainLevelText .. whenText }
if My.Time_Difference(otherdevices_lastupdate["Alerte Pluie dans l'heure"]) > 3 * 60 * 60 then
if NOTIFICATION_VOCAL == true and now.hour > 8 and now.hour <= 20 then
My.Speak("Je vous dérange pour vous prévenir qu\'une pluie " .. rainLevelText .. " est annoncée par méteo france" .. whenText, "normal")
end
if NOTIFICATION_PUSH == true then
commandArray[#commandArray + 1] = { ['SendNotification'] = 'Alerte Pluie#Pluie ' .. rainLevelText .. whenText }
end
if (DEBUG_MODE) then
commandArray[#commandArray + 1] = { ['SendEmail'] = 'JSON Alerte Pluie#' .. os.date("%H:%M") .. ' -- Api de meteoFrance <br>Contenu du Json : -------------<br>' .. fileContent .. '#' .. EMAIL }
end
end
end
end --if now.min
return commandArray
Code : Tout sélectionner
2017-12-13 22:40:00.582 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_Prevision_Pluie_jml.lua: /home/pi/domoticz/scripts/lua/My_Library.lua:42: attempt to index local 'timestamp' (a nil value)
2017-12-13 22:44:00.690 Error: SQL Query("UPDATE DeviceStatus SET nValue='0',sValue='Vent/Orange- Limitez vos déplacements et renseignez vous avant de les entreprendre.- Prenez garde aux chutes d'arbres ou d'objets.- N'intervenez pas sur les toitures.',LastUpdate='2017-12-13 22:44:00' WHERE (ID = '625')") : near "arbres": syntax error
2017-12-13 22:44:00.692 Error: SQL Query("UPDATE DeviceStatus SET nValue='0',sValue='Fort coup de vent hivernal accompagné de grains orageux marqués, prévu cette nuit sur les régions proche de la Manche, puis gagnant les régions du nord-est. Réactons marquées des cours d'eau sur le bassin artois-picardie.',LastUpdate='2017-12-13 22:44:00' WHERE (ID = '1059')") : near "eau": syntax error
2017-12-13 22:45:00.695 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_Prevision_Pluie_jml.lua: /home/pi/domoticz/scripts/lua/My_Library.lua:42: attempt to index local 'timestamp' (a nil value)
2017-12-13 22:50:00.636 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_Prevision_Pluie_jml.lua: /home/pi/domoticz/scripts/lua/My_Library.lua:42: attempt to index local 'timestamp' (a nil value)_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
Re: LUA: vigilance météoFrance V2
tu l'as pas mal customisécalouis a écrit :Merci pour ton soutien.
J'ai le même pb, semble-t-il, pour ce script :
l'erreur provient de ton fichier My_Library.lua, de la fonction contenant local timestampcalouis a écrit :Code : Tout sélectionner
2017-12-13 22:40:00.582 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_Prevision_Pluie_jml.lua: /home/pi/domoticz/scripts/lua/My_Library.lua:42: attempt to index local 'timestamp' (a nil value)
ton domoticz ne supporte apparemment pas lescalouis a écrit :Code : Tout sélectionner
2017-12-13 22:44:00.690 Error: SQL Query("UPDATE DeviceStatus SET nValue='0',sValue='Vent/Orange- Limitez vos déplacements et renseignez vous avant de les entreprendre.- Prenez garde aux chutes d'arbres ou d'objets.- N'intervenez pas sur les toitures.',LastUpdate='2017-12-13 22:44:00' WHERE (ID = '625')") : near "arbres": syntax error
Code : Tout sélectionner
'Code : Tout sélectionner
"Code : Tout sélectionner
-- ====================================================================================================================
-- Conseil météo
-- ====================================================================================================================
if ( dz_conseil_meteo ~= nil and conseil ~= nil and CouleurVigilance > 1 ) or ( dz_conseil_meteo ~= nil and conseil ~= nil and display_conseils == true ) then -- Mise à jour du devise texte conseil météo si il existe
commandArray[#commandArray+1] = {['UpdateDevice'] = dz_conseil_meteo.."|0|".. TronquerTexte(conseil,240)}
elseif (dz_conseil_meteo ~= nil and conseil == nil) or ( dz_conseil_meteo ~= nil and conseil ~= nil and display_conseils == false ) then -- Mise à jour du devise texte conseil météo si il existe même s'il n'y a pas de conseil disponible
commandArray[#commandArray+1] = {['UpdateDevice'] = dz_conseil_meteo.."|0|Aucun conseil disponible"}
end
-- ====================================================================================================================
-- Commentaire météo
-- ====================================================================================================================
if ( dz_commentaire_meteo ~= nil and commentaire ~= nil and CouleurVigilance > 1 ) or ( dz_commentaire_meteo ~= nil and commentaire ~= nil and display_commentaire == true ) then -- Mise à jour du devise texte commentaire météo si il existe
commandArray[#commandArray+1] = {['UpdateDevice'] = dz_commentaire_meteo.."|0|".. commentaire}
elseif (dz_commentaire_meteo ~= nil and commentaire == nil ) or ( dz_commentaire_meteo ~= nil and commentaire ~= nil and display_commentaire == false ) then -- Mise à jour du devise texte commentaire météo si il existe même s'il n'y a pas de commentaire disponible
commandArray[#commandArray+1] = {['UpdateDevice'] = dz_commentaire_meteo.."|0|Aucun commentaire disponible"}
end
-- ==================================================================================================================== Re: LUA: vigilance météoFrance V2
Bonsoir Papoo
Pour My_Library.lua, c'était aussi un pb d'apostrophe...plus de message d'erreur.
J'ai procédé de même pour ton script, mais pas de message avec apostrophe en ce moment.
Wait and see
En tout cas, merci pour ton aide.
Pour My_Library.lua, c'était aussi un pb d'apostrophe...plus de message d'erreur.
J'ai procédé de même pour ton script, mais pas de message avec apostrophe en ce moment.
Wait and see
En tout cas, merci pour ton aide.
_ Raspberry Pi3 Stretch + Domoticz V4.11214
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
_ dzVents Version: 2.4.28
_ Python 3.5.3
_ usbZwave
_ RFX433XL USB Version: Pro XL1/1035
_ GW Xiaomi
_ station meteo Oregon & Netatmo
_ LMS
_ Yeelight
_ Tradfri
_ Zigate plugin 4.11.012 + Version : 031d
Re: LUA: vigilance météoFrance V2
Bonsoir Papoo ou Bonjour,
Ce sript peut il fonctionner sous Windows 7 ?
J ai commencé à l'adapter (Curl..) mais coupure internet,je jette l'éponge pour ce soir (matin)
Merci par avance de ton aide éventuelle (et par ailleurs pour tous les scripts que tu partage )
cdt
Bertrand
Ce sript peut il fonctionner sous Windows 7 ?
J ai commencé à l'adapter (Curl..) mais coupure internet,je jette l'éponge pour ce soir (matin)
Merci par avance de ton aide éventuelle (et par ailleurs pour tous les scripts que tu partage )
cdt
Bertrand
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: LUA: vigilance météoFrance V2
pour curl windows
sources https://github.com/vil1driver/lua/blob/ ... odules.lua de vil1driver
Code : Tout sélectionner
-- download curl : https://bintray.com/vszakats/generic/download_file?file_path=curl-7.54.0-win32-mingw.7z
curl = 'c:\\Programs\\Curl\\curl.exe ' -- ne pas oublier l'espace à la finRaspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Re: LUA: vigilance météoFrance V2
Bonsoir,
Pour le lien vers Curl, je pense que la syntaxe doit être bonne , je l'utilise dans un autre script:
J'ai également modifié la ligne 243 :
local config=assert(io.popen(curl.. 'http://www.vigilance.meteofrance.com/da ... _LFPW_.xml'))
J'ai néanmoins ce message d'erreur ligne 246 :
Merci de votre aide éventuelle
Cdt
Bertrand
Edit: Je viens de trouver Mon erreur passée en rouge plus haut, en recopiant la syntaxe dans l'autre script j'ai oublié de changer le nom "config" en "rid"
Comme bien souvent , le problème était entre la chaise et le clavier
Pour le lien vers Curl, je pense que la syntaxe doit être bonne , je l'utilise dans un autre script:
Code : Tout sélectionner
local curl = 'C:/curl-7.50.3-win32-mingw/bin/curl.exe '
local config=assert(io.popen(curl.. 'http://www.vigilance.meteofrance.com/da ... _LFPW_.xml'))
J'ai néanmoins ce message d'erreur ligne 246 :
Code : Tout sélectionner
2017-12-15 18:17:00.267 dzVents: =========== vigilance meteofrance V2 (v1.04) ===========
2017-12-15 18:17:00.274 Error: EventSystem: in script_time_vigilance_meteofrance_V2.lua: [string "--[[ ..."]:246: attempt to index global 'rid' (a nil value)
Cdt
Bertrand
Edit: Je viens de trouver Mon erreur passée en rouge plus haut, en recopiant la syntaxe dans l'autre script j'ai oublié de changer le nom "config" en "rid"
Comme bien souvent , le problème était entre la chaise et le clavier
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..