script ne donne pas de résultat

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
yves67
Messages : 45
Inscription : 12 août 2017, 10:40

script ne donne pas de résultat

Message par yves67 »

Bonjour
j'ai récupéré une fonction qui doit me retourner le nombre de jours du mois
mais je n'arrive pas à imprimer le résultat

Code : Tout sélectionner

return {
	on = {
		devices = {},
		timer = {'every minute'},
		variables = {},
		scenes = {},
		groups = {},
		security = {},
		httpResponses = {},
		customEvents = {},
		system = {},
	},
	data = {},
	logging = {},
	execute = function(dz, triggeredItem)
 
    print("Debut") 
    print(dz.time.year)
 
    local function getDaysForMonth(month, year)       -- Returns number of days in given or current month
            if month == nil then month = dz.time.month end
            if year == nil then year = dz.time.year end
            print("dans la function")
            return os.date('*t',os.time{year=year,month=month+1,day=0}).day
    end
    print("avant la fonction")
    print(__tostring(getDaysForMonth()))
    print("après la fonction")
	end
} 

voici la log :

Code : Tout sélectionner

2020-09-01 13:03:00.619 Status: dzVents: Info: ------ Start internal script: Script #1:, trigger: "every minute"
2020-09-01 13:03:00.620 Status: dzVents: Debut
2020-09-01 13:03:00.620 Status: dzVents: 2020
2020-09-01 13:03:00.621 Status: dzVents: avant la fonction
2020-09-01 13:03:00.621 Status: dzVents: dans la function
2020-09-01 13:03:00.621 Status: dzVents: Info: ------ Finished Script #1
et pas de résultat ??

je séche, merci pour toute aide
Yves67
raspberry + Domoticz 2020-2 + RFTX433E + USB Z-Wave
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: script ne donne pas de résultat

Message par vil1driver »

Salut,

Je ne connais pas mais
La virgule ici doit être de trop

Code : Tout sélectionner

system = {},
Et je changerais ceci

Code : Tout sélectionner

print(__tostring(getDaysForMonth()))
En cela

Code : Tout sélectionner

print(getDaysForMonth())
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
yves67
Messages : 45
Inscription : 12 août 2017, 10:40

Re: script ne donne pas de résultat

Message par yves67 »

ok, ça marche
je croyais que la fonction retourne un nombre et qu'il fallait le transformer en string avec tostring ??
merci beuacoup
Yves67
raspberry + Domoticz 2020-2 + RFTX433E + USB Z-Wave
Répondre