Page 4 sur 18

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 21:20
par Neutrino
Bon, ben il faut passer à la méthode de débug pure et dure et coller des print partout.
Ajoute

Code : Tout sélectionner

print ("valeur de Lux :"..otherdevices_svalues['Lux'])
juste avant le if histoire de voir ce qu'il contient.

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 21:27
par staber
Ah ah!!!

Code : Tout sélectionner

2016-04-20 15:25:01.154 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:202: attempt to concatenate field 'Lux' (a nil value)
visiblement c'est elle qui est vide mais pourquoi :?

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 21:42
par Neutrino
C'est peut être une histoire de majuscule/minuscule.
Dans le doute, renomme ton capteur en Luminosité par exemple et renomme le aussi dans le script.

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 21:53
par staber
je suis aveuglé par tant de Lux :D

Bon partout dans le code c'est bien Lux avec une majuscule.

Dans le code :

Code : Tout sélectionner

tonumber(otherdevices_svalues['Lux']
Lux fait référence à la variable Lux ou au capteur Lux ?
si c'est le capteur je renomme mon capteur Lux en luminosite et je modifie le code :

Code : Tout sélectionner

tonumber(otherdevices_svalues['luminosite']

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 22:00
par Neutrino
C'est ça, je ne parle que du capteur.
Et il faut vraiment faire attention aux majuscules/minuscules.

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 22:41
par staber
ça marche pas :x

Code : Tout sélectionner

print ("valeur de Lux :"..otherdevices_svalues['luminosite'])
2016-04-20 16:40:01.364 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:202: attempt to concatenate field 'luminosite' (a nil value)

Re: Luminosité théorique extérieure

Publié : 20 avr. 2016, 22:50
par Neutrino
Tu peux faire une capture d'écran de ton capteur dans la liste des dispositifs ?

Re: Luminosité théorique extérieure

Publié : 21 avr. 2016, 14:46
par staber
Salut,

Voici :
Sans titre.png
Sans titre.png (35.12 Kio) Consulté 8382 fois

Re: Luminosité théorique extérieure

Publié : 21 avr. 2016, 21:35
par Neutrino
Ok, donc, c'est vraiment bizarre. :shock:
tape dans un navigateur : http://IPDOMOTICZ:PORT/json.htm?type=command&param=udevice&idx=122&svalue=5
ça initialisera la valeur à 5 lux

Re: Luminosité théorique extérieure

Publié : 22 avr. 2016, 01:55
par staber
Ça me rassure ce n'est pas une évidence!

Code : Tout sélectionner

http://192.168.1.101:8080/json.htm?type=command&param=udevice&idx=122&svalue=5
{
"status" : "OK",
"title" : "Update Device"
}
OK il est updaté...
2016-04-21 20:00:00.586 LUA: Lat: 48.29999924Long: -70.93000031Alt: 135.00000000
2016-04-21 20:00:00.586 LUA:
2016-04-21 20:00:00.587 LUA: 2016-04-21 20:00:00
2016-04-21 20:00:00.587 LUA: la_baie, latitude:48.31881, longitude:-70.90116
2016-04-21 20:00:00.587 LUA: Home altitude = 117 m
2016-04-21 20:00:00.587 LUA: number Of Day = 112
2016-04-21 20:00:00.587 LUA: 2016 is a leap year !
2016-04-21 20:00:00.587 LUA: Angular Speed = 0.98562628336756 per day
2016-04-21 20:00:00.587 LUA: Declinaison = 12.315610455635°
2016-04-21 20:00:00.587 LUA: Universel Coordinated Time (UTC)0 H.dd
2016-04-21 20:00:00.587 LUA: Solar Hour -4.726744 H.dd
2016-04-21 20:00:00.587 LUA: Altitude of the sun = -3.053779759848°
2016-04-21 20:00:00.587 LUA: Angular hourly = 250.90116°
2016-04-21 20:00:00.587 LUA: Azimuth of the sun = 292.40352397259°
2016-04-21 20:00:00.587 LUA: Duration of the sunstroke of the day = 13.89 H.dd
2016-04-21 20:00:00.587 LUA: Radiation max en atmosphere = 1345.05 W/m²
2016-04-21 20:00:00.587 LUA: Local relative pressure = 1011 hPa
2016-04-21 20:00:00.588 LUA: Absolute pressure in atmosphere = 996.9 hPa
2016-04-21 20:00:00.588 LUA: Coefficient of mitigation M = 81.797758971885 M0:80.656959366046
2016-04-21 20:00:00.588 LUA: curl "http://www.ogimet.com/cgi-bin/getsynop? ... 160421-100"
2016-04-21 20:00:00.937 LUA: ogimet: S07145,2016,04,21,22,00,AAXX 21224 07145 22970 70000 10137 20085 39988 40196 53006 83032 333 60005 83365 87076 90710 91102 93100=
2016-04-21 20:00:00.937 LUA: Station SYNOP = 07145
2016-04-21 20:00:00.938 LUA: 7 Octa
2016-04-21 20:00:00.938 LUA: Kc = 0.52369115797991
2016-04-21 20:00:00.938 LUA: Direct Radiation = 0 W/m²
2016-04-21 20:00:00.938 LUA: Scattered Radiation = 0 W/m²
2016-04-21 20:00:00.938 LUA: Total radiation = 2 W/m²
2016-04-21 20:00:00.938 LUA: Total Radiation in lux = 252.53 Lux
2016-04-21 20:00:00.938 LUA: and at last, Total weighted lux = 132.25 Lux
2016-04-21 20:00:00.938 LUA: valeur de Lux :5
2016-04-21 20:00:00.938 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua: /home/pi/domoticz/scripts/lua/script_time_SolarSensor.lua:204: attempt to perform arithmetic on a nil value
Le code dans cette partie :

Code : Tout sélectionner

if (DEBUG == 1) then
          print("Station SYNOP = " .. WMOID)
          print( Octa .. " Octa")
          print("Kc = " .. Kc)
          print("Direct Radiation = ".. round(directRadiation,2) .." W/m²")
          print("Scattered Radiation = ".. round(scatteredRadiation,2) .." W/m²")
          print("Total radiation = " .. round(totalRadiation,2) .." W/m²")
          print("Total Radiation in lux = ".. round(Lux,2).." Lux")
          print("and at last, Total weighted lux  = ".. round(weightedLux,2).." Lux")
        end
   
        print ("valeur de Lux :"..otherdevices_svalues['luminosite'])

        if tonumber(otherdevices_svalues['Lux'])+round(weightedLux,0)>0   -- No update if Lux is already 0. So lastUpdate of the sensor switch w$
        then
                commandArray[indexArray] = {['UpdateDevice'] = idxLux..'|0|'..tostring(round(weightedLux,0))}
                indexArray=indexArray+1
        end
       commandArray[indexArray] = {['UpdateDevice'] = idxSolarAzimuth..'|0|'..tostring(round(azimuth,0))}
       indexArray=indexArray+1
       commandArray[indexArray] = {['UpdateDevice'] = idxSolarAltitude..'|0|'..tostring(round(sunAltitude,0))}
       indexArray=indexArray+1
Ligne 204 : if tonumber(otherdevices_svalues['Lux'])+round(weightedLux,0)>0

pourtant otherdevices_svalues['Lux'] = 5 et round(weightedLux,0) = 132.25