LUA : Qualité de l’air dans le monde

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
ebretteville
Messages : 58
Enregistré le : 08 févr. 2016, 23:06
Localisation : Cherbourg - Caen | France
Contact :

Re: LUA : Qualité de l’air dans le monde

Message par ebretteville » 11 juil. 2018, 18:51

Après l'avoir fait sur la ligne 102, il a fallu le faire aussi sur 196

Voilà les logs maintenant:

Code : Tout sélectionner

 2018-07-11 18:49:50.482 Status: LUA: <font color='#f3031d'>=========== Qualité de l'air (v1.1) ===========</font>
2018-07-11 18:49:50.482 Status: LUA: <font color='#f3031d'>--- --- --- /usr/bin/curl -m8 "https://api.waqi.info/feed/geo:47.39519;0.70429/?token=639770050428159616834e5139ab53c2eb519ab6"</font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- co : 0.1 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- pression : 1015.8 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- pm25 : 27 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- pm10 : 12 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- o3 : 34.9 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- no2 : 9.6 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- Qualite de l'air : 35 --- --- --- </font>
2018-07-11 18:49:51.902 Status: LUA: <font color='#f3031d'>--- --- --- polluant dominant : o3 --- --- --- </font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- aqi : 35 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- url : http://www.ligair.fr/ --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- name : Surveillance de la qualité de l'air dans la région Centre --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- coordonnees gps : 47.3952359:0.7042447 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- city_name : Pompidou, Tours --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- city_url : http://aqicn.org/city/france/region-centre/tours/pompidou/ --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- dominentpol : o3 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- date et heure :2018-07-11 14:00:00 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- time zone :+01:00 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- timestamp :1531317600 --- --- ---</font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>--- --- --- température :25.5 --- --- --- </font>
2018-07-11 18:49:51.903 Status: LUA: <font color='#f3031d'>========= Fin Qualité de l'air (v1.1) =========</font> 
En revanche, je n'ai pas d'update des devices, je regardes le nommag et ou retour aux idx

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


nono212
Messages : 24
Enregistré le : 03 sept. 2018, 14:15
Localisation : Bruxelles

Re: LUA : Qualité de l’air dans le monde

Message par nono212 » 03 oct. 2018, 00:42

Salut J' ai un souci j'arrive pas a faire fonctionner le script ,j' ai un probleme avec le token

2018-10-03 00:36:24.661 Status: LUA: <font color='#f3031d'>=========== Qualité de l'air (v1.1) ===========</font>
2018-10-03 00:36:24.661 Error: EventSystem: in Qualite: [string "--[[..."]:111: attempt to concatenate local 'API_key' (a nil value)

J' ai bien crée la variable api_key en format text et j'y ai mis mon token


local token_aqicn = "api_key"
ou est ce que je me plante?
Fichiers joints
api.png
api.png (70.42 Kio) Vu 1792 fois

nono212
Messages : 24
Enregistré le : 03 sept. 2018, 14:15
Localisation : Bruxelles

Re: LUA : Qualité de l’air dans le monde

Message par nono212 » 03 oct. 2018, 10:50

en attendant votre réponse j'ai mis le token directement dans la variable (local API_key =token_aqicn)
mais j' ai une autre question :
Je ne sais pas pourquoi le script est lancé 6 x ...

2018-10-03 10:46:16.422 Status: EventSystem: Script event triggered: Qualité de l'air
2018-10-03 10:46:44.267 Status: EventSystem: Script event triggered: Qualité de l'air
2018-10-03 10:46:45.368 Status: EventSystem: Script event triggered: Qualité de l'air
2018-10-03 10:46:46.498 Status: EventSystem: Script event triggered: Qualité de l'air
2018-10-03 10:46:47.598 Status: EventSystem: Script event triggered: Qualité de l'air
2018-10-03 10:46:48.737 Status: EventSystem: Script event triggered: Qualité de l'air

papoo
Messages : 1893
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: LUA : Qualité de l’air dans le monde

Message par papoo » 03 oct. 2018, 13:28

ebretteville a écrit :
11 juil. 2018, 18:51
Après l'avoir fait sur la ligne 102, il a fallu le faire aussi sur 196

Voilà les logs maintenant:
Tu devrais éditer ton message, ton api est en clair dans les logs
tu utilises ce script via un fichier lua dans le répertoire scripts/lua ou directement depuis "réglages > plus d'options > Événements"
si c'est via "Événements", c'est peut être la cause.

pour ma part, c'est via un fichier et je stocke mon api dans une variable utilisateur par facilité, pour ne pas poster celle-ci lorsque je poste mon script. si cela fonctionne avec l'api "en dur" dans ton script c'est aussi bien, ça fait une requête de moins.
pour le lancement X fois :
si tu passes via "Événements" pour le stockage de ton script pense à sélectionner time
2018-10-03 13_28_05-Domoticz.png
2018-10-03 13_28_05-Domoticz.png (5.42 Kio) Vu 1766 fois
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


juchalin
Messages : 152
Enregistré le : 07 déc. 2016, 12:08

Re: LUA : Qualité de l’air dans le monde

Message par juchalin » 12 déc. 2018, 14:59

Salut un grand merci pour le partage par les temps qui cours (je suis à Lille) c'est précieux ce genre d'info, j'ai tenté d'utiliser tout ça (c'est la première fois que je m'attaque à un script), mais ça ne marche pas.
J'ai bien créé la variable avec la clé........

Voici le script modifié avec mes paramètre

Code : Tout sélectionner

--[[
name : script_time_qualite_air.lua
encodage UTF8 sans BOM
auteur : papoo
date de création : 06/05/2017
Date de mise à jour : 03/03/2018
Principe : Ce script a pour but d'interroger l'API du site http://http://aqicn.org pour récupérer les informations de pollutions
Cette API utilise une clé gratuite, Il faut donc s'incrire sur http://aqicn.org/data-platform/token/  pour avoir accès à cette clé de 40 caractères
Enregistrez cette clé dans une variable utilisateur et renseignez sont nom dans token_aqicn
URL site : https://pon.fr/qualite-de-lair-dans-le-monde/
URL post : https://easydomoticz.com/forum/viewtopic.php?f=17&t=4044 http://pon.fr/qualite-de-lair-dans-le-monde/
url github : https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_qualite_de_lair.lua
Les données des polluants sont au format de l'indice de qualité de l'air commun européen (AQI) http://www.airqualitynow.eu/about_indices_definition.php
--]]
--------------------------------------------
------------ Variables à éditer ------------
-------------------------------------------- 
local nom_script = "Qualité de l\'air"
local version = "1.1"
local debugging = true  			-- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local dev_air_quality = nil			-- renseigner le nom du device Qualité de l'air associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_indice_alert = 128		-- renseigner le nom du device alert pollution associé si souhaité, sinon nil (dummy - alert)
local dev_poll_dominant = nil		-- renseigner le nom du device polluant dominant associé si souhaité, sinon nil (type text)
local dev_co = nil					-- renseigner le nom du device monoxide de carbonne associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_no2 = 130					-- renseigner le nom du device dioxyde d'azote associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_o3 = nil					-- renseigner le nom du device Ozone associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_p = nil					-- renseigner le nom du device pression atmosphérique  associé si souhaité, sinon nil (barometre)
local dev_pm10 = nil				-- renseigner le nom du device taux de particules associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_pm25 = nil				-- renseigner le nom du device taux de particules associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local send_notification = nil 		-- 0: aucune notification, 1: toutes, 2: (50 > Pollution <=100), 3: (100 > Pollution <=150), 4: (150 > Pollution <=200), 5: (Pollution > 200)
local token_aqicn = token_aqicn 	-- renseigner le nom de la variable contenant le token aqicn de 40 caractères préalablement créé (variable de type chaine)
--[[ si vous souhaitez une localisation via votre adresse ip laissez les variables ville, latitude, et longitude à nil
	 si vous souhaitez une autre localisation utilisez la variable ville
	 si votre ville comporte plusieurs stations et que vous souhaitez récupérer les informations de la station la plus proche,
	 renseigner vos latitude longitude en laissant ville à nil
]]--
local ville = lille       		-- renseigner le nom de la ville dont vous souhaitez remonter les informations de pollution ex : "limoges", nil si vous souhaitez utiliser Latitude et longitude (plus precis)
local latitude = nil 			-- renseigner la latitude du lieu dont vous souhaitez remonter les informations de pollution ex : "45.84"
local longitude = nil		 	-- renseigner la longitude du lieu dont vous souhaitez remonter les informations de pollution ex : "1.26"

--------------------------------------------
----------- Fin variables à éditer ---------
-------------------------------------------- 
local geo =""
if ville == nil and (latitude == nil or longitude == nil) then geo = 'here' elseif ville ~= nil then geo = ville else geo = 'geo:'.. latitude ..';'.. longitude end
--------------------------------------------
---------------- Fonctions -----------------
-------------------------------------------- 
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
-- json = (loadfile "D:\\domoticz\\scripts\\lua\\json.lua")()  -- For Windows
function voir_les_logs (s, debugging) -- nécessite la variable local debugging
    if (debugging) then 
		if s ~= nil then
        print ("<font color='#f3031d'>".. s .."</font>")
		else
		print ("<font color='#f3031d'>aucune valeur affichable</font>")
		end
    end
end
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
commandArray = {}
time = os.date("*t")
if ((time.min-1) % 5) == 0 then -- toutes les 5 minutes en commençant par xx:01
	voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging)    

    if dev_air_quality then
        dz_air_quality = otherdevices_idx[dev_air_quality]
        if dz_air_quality then voir_les_logs("--- --- --- ".. dev_air_quality .." idx : ".. dz_air_quality,debugging) end
    end
    if dev_indice_alert then
        dz_indice_alert = otherdevices_idx[dev_indice_alert]
        if dz_indice_alert then voir_les_logs("--- --- --- ".. dev_indice_alert .." idx : ".. dz_indice_alert,debugging) end
    end
    if dev_poll_dominant then
        dz_poll_dominant = otherdevices_idx[dev_poll_dominant]
        if dz_poll_dominant then voir_les_logs("--- --- --- ".. dev_poll_dominant .." idx : ".. dz_poll_dominant,debugging) end
    end
    if dev_co then
        dz_co = otherdevices_idx[dev_co]
        if dz_co then voir_les_logs("--- --- --- ".. dev_co .." idx : ".. dz_co,debugging) end
    end    
    if dev_no2 then
        dz_no2 = otherdevices_idx[dev_no2]
        if dz_no2 then voir_les_logs("--- --- --- ".. dev_no2 .." idx : ".. dz_no2,debugging) end
    end    
    if dev_o3 then
        dz_o3 = otherdevices_idx[dev_o3]
        if dz_o3 then  voir_les_logs("--- --- --- ".. dev_o3 .." idx : ".. dz_o3,debugging) end
    end    
    if dev_p then
        dz_p = otherdevices_idx[dev_p]
        if dz_p then voir_les_logs("--- --- --- ".. dev_p .." idx : ".. dz_p,debugging) end
    end
    if dev_pm10 then
        dz_pm10 = otherdevices_idx[dev_pm10]
        if dz_pm10 then voir_les_logs("--- --- --- ".. dev_pm10 .." idx : ".. dz_pm10,debugging) end
    end    
    if dev_pm25 then
        dz_pm25 = otherdevices_idx[dev_pm25]
        if dev_pm25 then voir_les_logs("--- --- --- ".. dev_pm25 .." idx : ".. dz_pm25,debugging) end
    end
    
    
	local API_key = uservariables[token_aqicn] 
    voir_les_logs('--- --- --- /usr/bin/curl -m8 "https://api.waqi.info/feed/'.. geo ..'/?token='.. API_key ..'"',debugging)
	local config=assert(io.popen('/usr/bin/curl -m8 "https://api.waqi.info/feed/'.. geo ..'/?token='.. API_key ..'"'))
    local blocjson = config:read('*all')
	config:close()

	local jsonValeur = json:decode(blocjson)
    if jsonValeur then
        for valeur,i in pairs(jsonValeur.data.iaqi) do
            -- Mise à jour du devise co si il existe et si une valeur est disponible
            if valeur == 'co' then voir_les_logs("--- --- --- co : "..jsonValeur.data.iaqi.co.v .." --- --- --- ",debugging)  
                    if dz_co ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_co ..'|0|'.. tostring(jsonValeur.data.iaqi.co.v)} end
            end
            -- Mise à jour du devise no2 si il existe et si une valeur est disponible
            if valeur == 'no2' then voir_les_logs("--- --- --- no2 : "..jsonValeur.data.iaqi.no2.v .." --- --- --- ",debugging)
                    if dz_no2 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_no2 ..'|0|'.. tostring(jsonValeur.data.iaqi.no2.v)} end
            end
             -- Mise à jour du devise o3 si il existe et si une valeur est disponible
            if valeur == 'o3' then voir_les_logs("--- --- --- o3 : "..jsonValeur.data.iaqi.o3.v .." --- --- --- ",debugging)
                    if dz_o3 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_o3 ..'|0|'.. tostring(jsonValeur.data.iaqi.o3.v)} end
            end
            -- Mise à jour du devise p si il existe et si une valeur est disponible
            if valeur == 'p' then voir_les_logs("--- --- --- pression : "..jsonValeur.data.iaqi.p.v .." --- --- --- ",debugging)  
                    if dz_p ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_p ..'|0|'.. tostring(jsonValeur.data.iaqi.p.v)} end
            end	
            -- Mise à jour du devise pm10 si il existe et si une valeur est disponible
            if valeur == 'pm10' then voir_les_logs("--- --- --- pm10 : "..jsonValeur.data.iaqi.pm10.v .." --- --- --- ",debugging) 
                     if dz_pm10 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm10 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm10.v)} end
            end	
            -- Mise à jour du devise pm25 si il existe et si une valeur est disponible
            if valeur == 'pm25' then voir_les_logs("--- --- --- pm25 : "..jsonValeur.data.iaqi.pm25.v .." --- --- --- ",debugging)  
                    if dz_pm25 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm25 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm25.v)} end
            end

        end
    else
        print('la requete Json ne retourne aucun résultat exploitable')
    end    
		-- Mise à jour du devise aqi si il existe
		voir_les_logs("--- --- --- Qualite de l\'air : "..jsonValeur.data.aqi .." --- --- --- ",debugging)
		if dz_air_quality ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_air_quality..'|0|'.. tostring(jsonValeur.data.aqi)} end
		-- Mise à jour du devise poll_dominante si il existe
		voir_les_logs("--- --- --- polluant dominant : "..jsonValeur.data.dominentpol .." --- --- --- ",debugging)  
		if dz_poll_dominant ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_poll_dominant..'|0|'.. tostring(jsonValeur.data.dominentpol)}end

		local aqi = jsonValeur.data.aqi
		--Mise à jour du devise aqi si il existe	
		if dz_indice_alert ~= nil then	
			if tonumber(aqi) <= 50   then -- niveau 2
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|1|Pas de Pollution'}
				if send_notification > 0 and send_notification < 2 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pas de Pollution!'}
				end
				voir_les_logs("--- --- --- Pas de pollution --- --- ---",debugging)

			elseif tonumber(aqi) <= 100   then -- niveau 3
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|2|Polution Faible'}
				if send_notification > 0 and send_notification < 3 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Faible!'}
				end
				voir_les_logs("--- --- --- Pollution Faible --- --- ---",debugging)   

			elseif tonumber(aqi) <= 150   then -- niveau 4
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|3|Pollution Forte'}
				if send_notification > 0 and send_notification < 4 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Forte!'}
				end
				voir_les_logs("--- --- --- Pollution Forte --- --- ---",debugging)      

			elseif tonumber(aqi) > 150  then -- niveau 5
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|4|Pollution tres forte'}
				if send_notification > 0 and send_notification < 5 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution tres forte!'}
				end
				voir_les_logs("--- --- --- Pollution très forte --- --- ---",debugging)
			else
				voir_les_logs("niveau non defini")
			end
		end	
	if debugging == true then --affichage des informations disponibles en mod debugging
	aqi = jsonValeur.data.aqi
	url = jsonValeur.data.attributions[1].url
	name = jsonValeur.data.attributions[1].name
	lat_long = jsonValeur.data.city.geo[1]..":"..jsonValeur.data.city.geo[2]
	dominentpol = jsonValeur.data.dominentpol
	city_name = jsonValeur.data.city.name
	city_url = jsonValeur.data.city.url
	local s = jsonValeur.data.time.s
	local tz = jsonValeur.data.time.tz
	local v = jsonValeur.data.time.v
	local h = jsonValeur.data.iaqi.h.v 
	local t = jsonValeur.data.iaqi.t.v 
	if aqi then voir_les_logs("--- --- --- aqi : ".. aqi .." --- --- ---",debugging) end
	if url then voir_les_logs("--- --- --- url : "..url .." --- --- ---",debugging) end
	if name then voir_les_logs("--- --- --- name : ".. name .." --- --- ---",debugging) end
	if lat_long then voir_les_logs("--- --- --- coordonnees gps : ".. lat_long .." --- --- ---",debugging) end
	if city_name then voir_les_logs("--- --- --- city_name : ".. city_name .." --- --- ---",debugging) end
	if city_url then voir_les_logs("--- --- --- city_url : ".. city_url .." --- --- ---",debugging) end
	if dominentpol then voir_les_logs("--- --- --- dominentpol : ".. dominentpol .." --- --- ---",debugging) end
	if s then voir_les_logs("--- --- --- date et heure :".. s .." --- --- ---",debugging) end
	if tz then voir_les_logs("--- --- --- time zone :".. tz .." --- --- ---",debugging) end
	if v then voir_les_logs("--- --- --- timestamp :".. v .." --- --- ---",debugging) end
	if h then voir_les_logs("--- --- --- hygrometrie : ".. h .." --- --- --- ",debugging) end
	if t then voir_les_logs("--- --- --- température :".. t .." --- --- --- ",debugging) end
	end 
	voir_les_logs("========= Fin ".. nom_script .." (v".. version ..") =========",debugging)
	 
	  
end --if time

return commandArray
Voici ce que j'obtiens que je veux exécuter le script :
./script_device_pollution.lua
./script_device_pollution.lua: ligne 1: --[[ : commande introuvable
./script_device_pollution.lua: ligne 2: name : commande introuvable
./script_device_pollution.lua: ligne 3: encodage : commande introuvable
./script_device_pollution.lua: ligne 4: auteur : commande introuvable
date: opérande supplémentaire « création »
Saisissez « date --help » pour plus d'informations.
./script_device_pollution.lua: ligne 6: Date : commande introuvable
./script_device_pollution.lua: ligne 7: Principe : commande introuvable
./script_device_pollution.lua: ligne 66: erreur de syntaxe près du symbole inattendu « ( »
./script_device_pollution.lua: ligne 66: ` voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging) '


Merci d'avance

emylive
Messages : 38
Enregistré le : 21 mars 2017, 22:43

Re: LUA : Qualité de l’air dans le monde

Message par emylive » 12 déc. 2018, 17:33

Bonsoir,

Moi aussi une erreur dont je n'arrive pas à me dépatouiller : 2018-12-12 17:30:00.636 Error: EventSystem: in script_time_qualite_air.lua: [string "--[[
..."]:218: <eof> expected near 'local'

Voici mon script, merci Papoo !!

Code : Tout sélectionner

--[[
name : script_time_qualite_air.lua
encodage UTF8 sans BOM
auteur : papoo
date de création : 06/05/2017
Date de mise à jour : 03/03/2018
Principe : Ce script a pour but d'interroger l'API du site http://http://aqicn.org pour récupérer les informations de pollutions
Cette API utilise une clé gratuite, Il faut donc s'incrire sur http://aqicn.org/data-platform/token/  pour avoir accès à cette clé de 40 caractères
Enregistrez cette clé dans une variable utilisateur et renseignez sont nom dans token_aqicn
URL site : https://pon.fr/qualite-de-lair-dans-le-monde/
URL post : https://easydomoticz.com/forum/viewtopic.php?f=17&t=4044 http://pon.fr/qualite-de-lair-dans-le-monde/
url github : https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_qualite_de_lair.lua
Les données des polluants sont au format de l'indice de qualité de l'air commun européen (AQI) http://www.airqualitynow.eu/about_indices_definition.php
--]]
--------------------------------------------
------------ Variables à éditer ------------
-------------------------------------------- 
local nom_script = "Qualité de l\'air"
local version = "1.1"
local debugging = false  			-- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local dev_air_quality = nil		-- renseigner le nom du device Qualité de l'air associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_indice_alert = "alerte pollution"		-- renseigner le nom du device alert pollution associé si souhaité, sinon nil (dummy - alert)
local dev_poll_dominant = "polluant dominant"	-- renseigner le nom du device polluant dominant associé si souhaité, sinon nil (type text)
local dev_co = nil					-- renseigner le nom du device monoxide de carbonne associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_no2 = nil					-- renseigner le nom du device dioxyde d'azote associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_o3 = nil					-- renseigner le nom du device Ozone associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_p = nil					-- renseigner le nom du device pression atmosphérique  associé si souhaité, sinon nil (barometre)
local dev_pm10 = nil				-- renseigner le nom du device taux de particules associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local dev_pm25 = nil				-- renseigner le nom du device taux de particules associé si souhaité, sinon nil (custom, nom de l'axe : AQI)
local send_notification = 1 		-- 0: aucune notification, 1: toutes, 2: (50 > Pollution <=100), 3: (100 > Pollution <=150), 4: (150 > Pollution <=200), 5: (Pollution > 200)
local token_aqicn = "604cda0a78b111ef28" 	-- renseigner le nom de la variable contenant le token aqicn de 40 caractères préalablement créé (variable de type chaine)
--[[ si vous souhaitez une localisation via votre adresse ip laissez les variables ville, latitude, et longitude à nil
	 si vous souhaitez une autre localisation utilisez la variable ville
	 si votre ville comporte plusieurs stations et que vous souhaitez récupérer les informations de la station la plus proche,
	 renseigner vos latitude longitude en laissant ville à nil
]]--
local ville = "limoges" 		-- renseigner le nom de la ville dont vous souhaitez remonter les informations de pollution ex : "limoges", nil si vous souhaitez utiliser Latitude et longitude (plus precis)
local latitude = nil 			-- renseigner la latitude du lieu dont vous souhaitez remonter les informations de pollution ex : "45.84"
local longitude = nil		 	-- renseigner la longitude du lieu dont vous souhaitez remonter les informations de pollution ex : "1.26"

--------------------------------------------
----------- Fin variables à éditer ---------
-------------------------------------------- 
local geo =""
if ville == nil and (latitude == nil or longitude == nil) then geo = 'here' elseif ville ~= nil then geo = ville else geo = 'geo:'.. latitude ..';'.. longitude end
--------------------------------------------
---------------- Fonctions -----------------
-------------------------------------------- 
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
-- json = (loadfile "D:\\domoticz\\scripts\\lua\\json.lua")()  -- For Windows
function voir_les_logs (s, debugging) -- nécessite la variable local debugging
    if (debugging) then 
		if s ~= nil then
        print ("<font color='#f3031d'>".. s .."</font>")
		else
		print ("<font color='#f3031d'>aucune valeur affichable</font>")
		end
    end
end
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
commandArray = {}
time = os.date("*t")
if ((time.min-1) % 5) == 0 then -- toutes les 5 minutes en commençant par xx:01
	voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging)    

    if dev_air_quality then
        dz_air_quality = otherdevices_idx[dev_air_quality]
        if dz_air_quality then voir_les_logs("--- --- --- ".. dev_air_quality .." idx : ".. dz_air_quality,debugging) end
    end
    if dev_indice_alert then
        dz_indice_alert = otherdevices_idx[dev_indice_alert]
        if dz_indice_alert then voir_les_logs("--- --- --- ".. dev_indice_alert .." idx : ".. dz_indice_alert,debugging) end
    end
    if dev_poll_dominant then
        dz_poll_dominant = otherdevices_idx[dev_poll_dominant]
        if dz_poll_dominant then voir_les_logs("--- --- --- ".. dev_poll_dominant .." idx : ".. dz_poll_dominant,debugging) end
    end
    if dev_co then
        dz_co = otherdevices_idx[dev_co]
        if dz_co then voir_les_logs("--- --- --- ".. dev_co .." idx : ".. dz_co,debugging) end
    end    
    if dev_no2 then
        dz_no2 = otherdevices_idx[dev_no2]
        if dz_no2 then voir_les_logs("--- --- --- ".. dev_no2 .." idx : ".. dz_no2,debugging) end
    end    
    if dev_o3 then
        dz_o3 = otherdevices_idx[dev_o3]
        if dz_o3 then  voir_les_logs("--- --- --- ".. dev_o3 .." idx : ".. dz_o3,debugging) end
    end    
    if dev_p then
        dz_p = otherdevices_idx[dev_p]
        if dz_p then voir_les_logs("--- --- --- ".. dev_p .." idx : ".. dz_p,debugging) end
    end
    if dev_pm10 then
        dz_pm10 = otherdevices_idx[dev_pm10]
        if dz_pm10 then voir_les_logs("--- --- --- ".. dev_pm10 .." idx : ".. dz_pm10,debugging) end
    end    
    if dev_pm25 then
        dz_pm25 = otherdevices_idx[dev_pm25]
        if dev_pm25 then voir_les_logs("--- --- --- ".. dev_pm25 .." idx : ".. dz_pm25,debugging) end
    end
    
    
	local API_key = uservariables[token_aqicn] 
    voir_les_logs('--- --- --- /usr/bin/curl -m8 "https://api.waqi.info/feed/'.. geo ..'/?token='.. API_key ..'"',debugging)
	local config=assert(io.popen('/usr/bin/curl -m8 "https://api.waqi.info/feed/'.. geo ..'/?token='.. API_key ..'"'))
    local blocjson = config:read('*all')
	config:close()

	local jsonValeur = json:decode(blocjson)
    if jsonValeur then
        for valeur,i in pairs(jsonValeur.data.iaqi) do
            -- Mise à jour du devise co si il existe et si une valeur est disponible
            if valeur == 'co' then voir_les_logs("--- --- --- co : "..jsonValeur.data.iaqi.co.v .." --- --- --- ",debugging)  
                    if dz_co ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_co ..'|0|'.. tostring(jsonValeur.data.iaqi.co.v)} end
            end
            -- Mise à jour du devise no2 si il existe et si une valeur est disponible
            if valeur == 'no2' then voir_les_logs("--- --- --- no2 : "..jsonValeur.data.iaqi.no2.v .." --- --- --- ",debugging)
                    if dz_no2 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_no2 ..'|0|'.. tostring(jsonValeur.data.iaqi.no2.v)} end
            end
             -- Mise à jour du devise o3 si il existe et si une valeur est disponible
            if valeur == 'o3' then voir_les_logs("--- --- --- o3 : "..jsonValeur.data.iaqi.o3.v .." --- --- --- ",debugging)
                    if dz_o3 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_o3 ..'|0|'.. tostring(jsonValeur.data.iaqi.o3.v)} end
            end
            -- Mise à jour du devise p si il existe et si une valeur est disponible
            if valeur == 'p' then voir_les_logs("--- --- --- pression : "..jsonValeur.data.iaqi.p.v .." --- --- --- ",debugging)  
                    if dz_p ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_p ..'|0|'.. tostring(jsonValeur.data.iaqi.p.v)} end
            end	
            -- Mise à jour du devise pm10 si il existe et si une valeur est disponible
            if valeur == 'pm10' then voir_les_logs("--- --- --- pm10 : "..jsonValeur.data.iaqi.pm10.v .." --- --- --- ",debugging) 
                     if dz_pm10 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm10 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm10.v)} end
            end	
            -- Mise à jour du devise pm25 si il existe et si une valeur est disponible
            if valeur == 'pm25' then voir_les_logs("--- --- --- pm25 : "..jsonValeur.data.iaqi.pm25.v .." --- --- --- ",debugging)  
                    if dz_pm25 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm25 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm25.v)} end
            end

        end
    else
        print('la requete Json ne retourne aucun résultat exploitable')
    end    
		-- Mise à jour du devise aqi si il existe
		voir_les_logs("--- --- --- Qualite de l\'air : "..jsonValeur.data.aqi .." --- --- --- ",debugging)
		if dz_air_quality ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_air_quality..'|0|'.. tostring(jsonValeur.data.aqi)} end
		-- Mise à jour du devise poll_dominante si il existe
		voir_les_logs("--- --- --- polluant dominant : "..jsonValeur.data.dominentpol .." --- --- --- ",debugging)  
		if dz_poll_dominant ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_poll_dominant..'|0|'.. tostring(jsonValeur.data.dominentpol)}end

		local aqi = jsonValeur.data.aqi
		--Mise à jour du devise aqi si il existe	
		if dz_indice_alert ~= nil then	
			if tonumber(aqi) <= 50   then -- niveau 2
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|1|Pas de Pollution'}
				if send_notification > 0 and send_notification < 2 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pas de Pollution!'}
				end
				voir_les_logs("--- --- --- Pas de pollution --- --- ---",debugging)

			elseif tonumber(aqi) <= 100   then -- niveau 3
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|2|Polution Faible'}
				if send_notification > 0 and send_notification < 3 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Faible!'}
				end
				voir_les_logs("--- --- --- Pollution Faible --- --- ---",debugging)   

			elseif tonumber(aqi) <= 150   then -- niveau 4
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|3|Pollution Forte'}
				if send_notification > 0 and send_notification < 4 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Forte!'}
				end
				voir_les_logs("--- --- --- Pollution Forte --- --- ---",debugging)      

			elseif tonumber(aqi) > 150  then -- niveau 5
				commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|4|Pollution tres forte'}
				if send_notification > 0 and send_notification < 5 then
				commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution tres forte!'}
				end
				voir_les_logs("--- --- --- Pollution très forte --- --- ---",debugging)
			else
				voir_les_logs("niveau non defini")
			end
		end	
	if debugging == true then --affichage des informations disponibles en mod debugging
	aqi = jsonValeur.data.aqi
	url = jsonValeur.data.attributions[1].url
	name = jsonValeur.data.attributions[1].name
	lat_long = jsonValeur.data.city.geo[1]..":"..jsonValeur.data.city.geo[2]
	dominentpol = jsonValeur.data.dominentpol
	city_name = jsonValeur.data.city.name
	city_url = jsonValeur.data.city.url
	local s = jsonValeur.data.time.s
	local tz = jsonValeur.data.time.tz
	local v = jsonValeur.data.time.v
	local h = jsonValeur.data.iaqi.h.v 
	local t = jsonValeur.data.iaqi.t.v 
	if aqi then voir_les_logs("--- --- --- aqi : ".. aqi .." --- --- ---",debugging) end
	if url then voir_les_logs("--- --- --- url : "..url .." --- --- ---",debugging) end
	if name then voir_les_logs("--- --- --- name : ".. name .." --- --- ---",debugging) end
	if lat_long then voir_les_logs("--- --- --- coordonnees gps : ".. lat_long .." --- --- ---",debugging) end
	if city_name then voir_les_logs("--- --- --- city_name : ".. city_name .." --- --- ---",debugging) end
	if city_url then voir_les_logs("--- --- --- city_url : ".. city_url .." --- --- ---",debugging) end
	if dominentpol then voir_les_logs("--- --- --- dominentpol : ".. dominentpol .." --- --- ---",debugging) end
	if s then voir_les_logs("--- --- --- date et heure :".. s .." --- --- ---",debugging) end
	if tz then voir_les_logs("--- --- --- time zone :".. tz .." --- --- ---",debugging) end
	if v then voir_les_logs("--- --- --- timestamp :".. v .." --- --- ---",debugging) end
	if h then voir_les_logs("--- --- --- hygrometrie : ".. h .." --- --- --- ",debugging) end
	if t then voir_les_logs("--- --- --- température :".. t .." --- --- --- ",debugging) end
	end 
	voir_les_logs("========= Fin ".. nom_script .." (v".. version ..") =========",debugging)
	 
	  
end --if time

return commandArray

local geo =""
if ville == nil and (latitude == nil or longitude == nil) then geo = 'here' elseif ville ~= nil then geo = ville else geo = 'geo:'.. latitude ..';'.. longitude end
--------------------------------------------
---------------- Fonctions -----------------
-------------------------------------------- 
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
-- json = (loadfile "D:\\domoticz\\scripts\\lua\\json.lua")()  -- For Windows
function voir_les_logs (s, debugging) -- nécessite la variable local debugging
    if (debugging) then 
      if s ~= nil then
        print ("<font color='#f3031d'>".. s .."</font>")
      else
      print ("<font color='#f3031d'>aucune valeur affichable</font>")
      end
    end
end
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
commandArray = {}
time = os.date("*t")
if ((time.min-1) % 5) == 0 then -- toutes les 5 minutes en commençant par xx:01
   local API_key = uservariables[token_aqicn] 
   local config=assert(io.popen('/usr/bin/curl -m5 "https://api.waqi.info/feed/'.. geo ..'/?token='.. API_key ..'"'))

   voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging)
    local blocjson = config:read('*all')
    config:close()
   --print (blocjson)

   local jsonValeur = json:decode(blocjson)

   for valeur,i in pairs(jsonValeur.data.iaqi) do
      -- Mise à jour du devise co si il existe et si une valeur est disponible
      if valeur == 'co' then voir_les_logs("--- --- --- co : "..jsonValeur.data.iaqi.co.v .." --- --- --- ",debugging)  
            if dz_co ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_co ..'|0|'.. tostring(jsonValeur.data.iaqi.co.v)} end
      end
      -- Mise à jour du devise no2 si il existe et si une valeur est disponible
      if valeur == 'no2' then voir_les_logs("--- --- --- no2 : "..jsonValeur.data.iaqi.no2.v .." --- --- --- ",debugging)
            if dz_no2 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_no2 ..'|0|'.. tostring(jsonValeur.data.iaqi.no2.v)} end
      end
       -- Mise à jour du devise o3 si il existe et si une valeur est disponible
      if valeur == 'o3' then voir_les_logs("--- --- --- o3 : "..jsonValeur.data.iaqi.o3.v .." --- --- --- ",debugging)
            if dz_o3 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_o3 ..'|0|'.. tostring(jsonValeur.data.iaqi.o3.v)} end
      end
      -- Mise à jour du devise p si il existe et si une valeur est disponible
      if valeur == 'p' then voir_les_logs("--- --- --- pression : "..jsonValeur.data.iaqi.p.v .." --- --- --- ",debugging)  
            if dz_p ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_p ..'|0|'.. tostring(jsonValeur.data.iaqi.p.v)} end
      end   
      -- Mise à jour du devise pm10 si il existe et si une valeur est disponible
      if valeur == 'pm10' then voir_les_logs("--- --- --- pm10 : "..jsonValeur.data.iaqi.pm10.v .." --- --- --- ",debugging) 
             if dz_pm10 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm10 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm10.v)} end
      end   
      -- Mise à jour du devise pm25 si il existe et si une valeur est disponible
      if valeur == 'pm25' then voir_les_logs("--- --- --- pm25 : "..jsonValeur.data.iaqi.pm25.v .." --- --- --- ",debugging)  
            if dz_pm25 ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_pm25 ..'|0|'.. tostring(jsonValeur.data.iaqi.pm25.v)} end
      end

   end
      -- Mise à jour du devise aqi si il existe
      voir_les_logs("--- --- --- Qualite de l\'air : "..jsonValeur.data.aqi .." --- --- --- ",debugging)
      if dz_air_quality ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_air_quality..'|0|'.. tostring(jsonValeur.data.aqi)} end
      -- Mise à jour du devise poll_dominante si il existe
      voir_les_logs("--- --- --- polluant dominant : "..jsonValeur.data.dominentpol .." --- --- --- ",debugging)  
      if dz_poll_dominant ~= nil then commandArray[#commandArray+1] = {['UpdateDevice'] = dz_poll_dominant..'|0|'.. tostring(jsonValeur.data.dominentpol)}end

      local aqi = jsonValeur.data.aqi
      --Mise à jour du devise aqi si il existe   
      if dz_indice_alert ~= nil then   
         if tonumber(aqi) <= 50   then -- niveau 2
            commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|1|Pas de Pollution'}
            if send_notification > 0 and send_notification < 2 then
            commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pas de Pollution!'}
            end
            voir_les_logs("--- --- --- Pas de pollution --- --- ---",debugging)

         elseif tonumber(aqi) <= 100   then -- niveau 3
            commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|2|Polution Faible'}
            if send_notification > 0 and send_notification < 3 then
            commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Faible!'}
            end
            voir_les_logs("--- --- --- Pollution Faible --- --- ---",debugging)   

         elseif tonumber(aqi) <= 150   then -- niveau 4
            commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|3|Pollution Forte'}
            if send_notification > 0 and send_notification < 4 then
            commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution Forte!'}
            end
            voir_les_logs("--- --- --- Pollution Forte --- --- ---",debugging)      

         elseif tonumber(aqi) > 150  then -- niveau 5
            commandArray[#commandArray+1] = {['UpdateDevice'] = dz_indice_alert..'|4|Pollution tres forte'}
            if send_notification > 0 and send_notification < 5 then
            commandArray[#commandArray+1] = {['SendNotification'] = 'Alerte Pollution#Pollution tres forte!'}
            end
            voir_les_logs("--- --- --- Pollution très forte --- --- ---",debugging)
         else
            voir_les_logs("niveau non defini")
         end
      end   
   if debugging == true then --affichage des informations disponibles en mod debugging
   aqi = jsonValeur.data.aqi
   url = jsonValeur.data.attributions[1].url
   name = jsonValeur.data.attributions[1].name
   lat_long = jsonValeur.data.city.geo[1]..":"..jsonValeur.data.city.geo[2]
   dominentpol = jsonValeur.data.dominentpol
   city_name = jsonValeur.data.city.name
   city_url = jsonValeur.data.city.url
   s = jsonValeur.data.time.s
   tz = jsonValeur.data.time.tz
   v = jsonValeur.data.time.v
   h = jsonValeur.data.iaqi.h.v 
   t = jsonValeur.data.iaqi.t.v 
   voir_les_logs("--- --- --- aqi : ".. aqi .." --- --- ---",debugging)
   voir_les_logs("--- --- --- url : "..url .." --- --- ---",debugging)
   voir_les_logs("--- --- --- name : "..name.." --- --- ---",debugging)
   voir_les_logs("--- --- --- coordonnees gps : "..lat_long.." --- --- ---",debugging)
   voir_les_logs("--- --- --- city_name : "..city_name.." --- --- ---",debugging)
   voir_les_logs("--- --- --- city_url : "..city_url.." --- --- ---",debugging)
   voir_les_logs("--- --- --- dominentpol : "..dominentpol.." --- --- ---",debugging)
   voir_les_logs("--- --- --- date et heure :"..s.." --- --- ---",debugging)
   voir_les_logs("--- --- --- time zone :"..tz.." --- --- ---",debugging)
   voir_les_logs("--- --- --- timestamp :"..v.." --- --- ---",debugging)
   voir_les_logs("--- --- --- hygrometrie : "..h .." --- --- --- ",debugging)
   voir_les_logs("--- --- --- température :"..t .." --- --- --- ",debugging)
   end
    voir_les_logs("========= Fin ".. nom_script .." (v".. version ..") =========",debugging)
        
end --if time

return commandArray
Domoticz+Xiaomi gateway

juchalin
Messages : 152
Enregistré le : 07 déc. 2016, 12:08

Re: LUA : Qualité de l’air dans le monde

Message par juchalin » 12 déc. 2018, 17:45

TU as ton API en claire sur le forum :shock: , elle doit être dans une variable pas dans le script

emylive
Messages : 38
Enregistré le : 21 mars 2017, 22:43

Re: LUA : Qualité de l’air dans le monde

Message par emylive » 12 déc. 2018, 17:55

juchalin a écrit :
12 déc. 2018, 17:45
TU as ton API en claire sur le forum :shock: , elle doit être dans une variable pas dans le script
non mon api est tronqué dans le script posté.
Je l'ai bien créé dans une variable utilisateur
Domoticz+Xiaomi gateway

papoo
Messages : 1893
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: LUA : Qualité de l’air dans le monde

Message par papoo » 15 déc. 2018, 20:05

juchalin a écrit :
12 déc. 2018, 14:59
Salut un grand merci pour le partage par les temps qui cours (je suis à Lille) c'est précieux ce genre d'info, j'ai tenté d'utiliser tout ça (c'est la première fois que je m'attaque à un script), mais ça ne marche pas.
J'ai bien créé la variable avec la clé........

Voici le script modifié avec mes paramètre
bonjour,
pourquoi le mettre en script device vu que c'est un script time?
tu es sous quel OS?
tu l'as enregistré dans quel répertoire? ou passes tu par l’éditeur?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

papoo
Messages : 1893
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: LUA : Qualité de l’air dans le monde

Message par papoo » 15 déc. 2018, 20:10

emylive a écrit :
12 déc. 2018, 17:33
Bonsoir,

Moi aussi une erreur dont je n'arrive pas à me dépatouiller : 2018-12-12 17:30:00.636 Error: EventSystem: in script_time_qualite_air.lua: [string "--[[
..."]:218: <eof> expected near 'local'

Voici mon script, merci Papoo !!
si tu souhaites mettre ta clé API en dur dans le script plutot que dans une variable utilisateur (via Réglages => plus d'options > variables utilisateur)
il faut modifier toutes les lignes qui font appel à la variable utilisateur CAD

Code : Tout sélectionner

API_key = uservariables[token_aqicn] 
par

Code : Tout sélectionner

API_key = token_aqicn 
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre