[DzVents] Luminosité théorique extérieure

Vous avez créé 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.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Luminosité théorique extérieure

Message 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.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Luminosité théorique extérieure

Message 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 :?
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Luminosité théorique extérieure

Message 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.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Luminosité théorique extérieure

Message 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']
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Luminosité théorique extérieure

Message par Neutrino »

C'est ça, je ne parle que du capteur.
Et il faut vraiment faire attention aux majuscules/minuscules.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Luminosité théorique extérieure

Message 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)
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Luminosité théorique extérieure

Message par Neutrino »

Tu peux faire une capture d'écran de ton capteur dans la liste des dispositifs ?
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Luminosité théorique extérieure

Message par staber »

Salut,

Voici :
Sans titre.png
Sans titre.png (35.12 Kio) Consulté 8395 fois
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Luminosité théorique extérieure

Message 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
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
staber
Messages : 79
Inscription : 21 mars 2016, 02:54

Re: Luminosité théorique extérieure

Message 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
Répondre