Page 5 sur 18

Re: Luminosité théorique extérieure

Publié : 22 avr. 2016, 07:27
par jml
bonjour,

je pense que tu n'en es pas loin. Tu as renommé ton capteur en "luminosité" mais tu utilises encore Lux à la ligne 204.

Ta ligne 204 doit devenir :

Code : Tout sélectionner

      print ("valeur de Lux :"..otherdevices_svalues['luminosite'])

        if tonumber(otherdevices_svalues['luminosite'])+round(weightedLux,0)>0 

Re: Luminosité théorique extérieure

Publié : 22 avr. 2016, 16:13
par staber
ça marche c'est juste moi qui suis un boulet!

Originalement ça devait être un problème de majuscule..

Re: Luminosité théorique extérieure

Publié : 22 avr. 2016, 16:49
par staber
Bon ça marche mais ça marche pas :lol:

Dans le but de faire limiter les erreurs j'ai laissé la station SYNOP du script original soit Trappe! Elle se met à jour toute les heures
http://www.ogimet.com/cgi-bin/gsynres?i ... 22&hora=12

Or moi je suis au Canada et le plus proche est La Baie qui semble se mettre à jour toute les 3 heures :
http://www.ogimet.com/cgi-bin/gsynres?i ... 22&hora=12

A chaque fois le script fait une requete avec le temps UTC je pense que ça se passe ici :

Code : Tout sélectionner

 -- Get  SYNOP  message from  Ogimet web  site
       hourUTCminus1 = os.date("!%H")-1
       if string.len(hourUTCminus1) == 1 then
          hourUTCminus1 = "0" .. hourUTCminus1
       end
       UTC = os.date("%Y%m%d").. hourUTCminus1.."00" -- os.date("!%M")
       if (DEBUG == 1) then
          local WMOID = jsonLocation.current_observation.display_location.wmo
          print("WMOID = "..WMOID)
       end

       cmd='curl "http://www.ogimet.com/cgi-bin/getsynop?block='..WMOID..'&begin='..UTC..'"'
       if( DEBUG == 1) then print(cmd) end
       local ogimet=assert(io.popen(cmd))
       local synop = ogimet:read('*all')
       ogimet:close()
       if( DEBUG == 1) then print('ogimet:'..synop) end

       if string.find(synop,"Status: 500") == nil
       then
          rslt = split(synop,",")
          CodeStation = rslt[1]
          rslt = split(synop, " "..CodeStation.. " ") -- LIGNE 149
          Trame = string.gsub(rslt[2], "=", "")
          Trame = CodeStation .." ".. Trame
          rslt = split(Trame, " ")
          Octa = string.sub(rslt[3], 1, 1)  -- 3rd char is the cloud layer.  0=no cloud , 1-8= cloudy from 1 to 8 max , 9 =Fog , / = no data
          if Octa == "/" then   -- not defined ? take the previous value
             Octa = uservariables['octa']
          elseif Octa == "9" then
             Octa = 8
          end
       else
          Octa = uservariables['octa']
       end
toutes les requêtes qui se font avec un code ..UTC.. inexistant génère une erreur :
2016-04-22 10:35:01.368 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:149: bad argument #1 to 'gsub' (string expected, got nil)
Je ne vois que deux solutions :
faire une update de UTC que toutes les 3 heures
Si la variable ne contient rien alors prendre la dernière valeur

Je ne suis pas super bon en programmation mais je me soigne :lol: Bref comment faire ? Avez-vous une autre idée ?

Re: Luminosité théorique extérieure

Publié : 22 avr. 2016, 17:11
par staber
Ok j'ai modifié la ligne

Code : Tout sélectionner

hourUTCminus1 = os.date("!%H")-1
par

Code : Tout sélectionner

hourUTCminus1 = os.date("!%H")-3
ça marche maintenant mais je ne suis pas sur de la validité du résultat.
Les requêtes passée à :
http://www.ogimet.com/cgi-bin/getsynop? ... 60422[b]14[/b]00
le code en gras correspond à l'heure et dans le script original il passe heure -1
en allant chercher heure -3 j'ai accès aux valeurs de ma station. Comme si elle avait 3 heures de retard...
étrange!

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 17:16
par Chris54220
bonjour j'ai essai d'intégré sa a ma domotique en prend toute les infos du première poste mais cela ne marche pas pouvais vous m'aidez SVP

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 17:58
par Neutrino
Salut,
Evidemment qu'on peut t'aider, mais il nous faut bien plus d'infos !
As-tu suivi le wiki ? http://www.domoticz.com/wiki/Real-time_ ... structions

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 18:59
par Chris54220
ah non je retest avec sa il te donne plus d'info si sa marche pas

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 19:25
par Chris54220
j'ai toujours des soucis voila ce qu'il m'affiche dans les logs

2016-04-24 19:20:00.911 LUA: Lat: 48.72444534Long: 6.20777798Alt: 382.00000000

2016-04-24 19:20:00.911 LUA:

2016-04-24 19:20:00.912 LUA: 2016-04-24 19:20:00

2016-04-24 19:20:00.912 LUA: Malzeville, latitude:48.709191, longitude:6.184159

2016-04-24 19:20:00.912 LUA: Home altitude = 27 m

2016-04-24 19:20:00.912 LUA: number Of Day = 115

2016-04-24 19:20:00.912 LUA: 2016 is a leap year !

2016-04-24 19:20:00.912 LUA: Angular Speed = 0.98562628336756 per day

2016-04-24 19:20:00.912 LUA: Declinaison = 13.305178097973�

2016-04-24 19:20:00.912 LUA: Universel Coordinated Time (UTC)17.333333333333 H.dd

2016-04-24 19:20:00.912 LUA: Solar Hour 17.7456106 H.dd

2016-04-24 19:20:00.912 LUA: Altitude of the sun = 12.453941636716�

2016-04-24 19:20:00.912 LUA: Angular hourly = -86.184159�

2016-04-24 19:20:00.912 LUA: Azimuth of the sun = 276.06687061904�

2016-04-24 19:20:00.913 LUA: Duration of the sunstroke of the day = 14.08 H.dd

2016-04-24 19:20:00.913 LUA: Radiation max en atmosphere = 1342.83 W/m�

2016-04-24 19:20:00.913 LUA: Local relative pressure = 1014 hPa

2016-04-24 19:20:00.913 LUA: Absolute pressure in atmosphere = 1010.7 hPa

2016-04-24 19:20:00.913 LUA: Coefficient of mitigation M = 4.5771187478753 M0:4.5622227992875

2016-04-24 19:20:00.913 LUA: curl "http://www.ogimet.com/cgi-bin/getsynop? ... 1604241600"

2016-04-24 19:20:01.122 LUA: ogimet:07145,2016,04,24,16,00,AAXX 24164 07145 21570 73307 10066 20025 39974 40187 53004 72586 878// 333 69925 82825 87640 90710 91114 93100=
07145,2016,04,24,17,00,AAXX 24174 07145 22570 73206 10065 20022 39975 40188 53005 878// 333 60005 81825 85643 85657 90710 91118 93100=


2016-04-24 19:20:01.123 LUA: Station SYNOP = 07145

2016-04-24 19:20:01.123 LUA: 7 Octa

2016-04-24 19:20:01.123 LUA: Kc = 0.52369115797991

2016-04-24 19:20:01.123 LUA: Direct Radiation = 27.95 W/m�

2016-04-24 19:20:01.123 LUA: Scattered Radiation = 70.26 W/m�

2016-04-24 19:20:01.123 LUA: Total radiation = 98.21 W/m�

2016-04-24 19:20:01.124 LUA: Total Radiation in lux = 12431.63 Lux

2016-04-24 19:20:01.124 LUA: and at last, Total weighted lux = 6510.34 Lux

2016-04-24 19:20:01.124 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:203: attempt to perform arithmetic on a nil value

2016-04-24 19:20:01.193 EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 20:54
par Neutrino
Ouai, je t'invite à relire les 2 dernières pages. staber avait le même problème.
Au passage, ça peut servir aussi à d'autres, les messages d'erreur donnent souvent une bonne piste.

Code : Tout sélectionner

 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:203: attempt to perform arithmetic on a nil value 
203 : c'est la ligne de ton script qui bugue. Si tu ne la postes pas, on a du mal à la deviner...
attempt to perform arithmetic on a nil value : Une valeur de cette ligne n'est pas initialisée.

Re: Luminosité théorique extérieure

Publié : 24 avr. 2016, 21:01
par Chris54220
Oui merci j'ai trouve encore merci pour ce script et cette aide