[Résolu] erreur dans script lua

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 <\>.
jule1986
Messages : 68
Inscription : 02 nov. 2015, 18:30
Localisation : Loiret (45)

[Résolu] erreur dans script lua

Message par jule1986 »

Bonjour a tous,

J'ai fait un script qui me est sencé mettre a jour une variable a true si la semaine est paire et a false si celle ci est impaire mais ca ne fonctionne pas...
La variable ne se met pas a jour.
J'ai du me planter quelque part mais où....
Merci d'avance pour votre aide.

Code : Tout sélectionner

local Semaine_paire = 'Semaine_paire'


commandArray = {}
if os.date("%H")== 19 and os.date("%M")== 44 then
--and os.date("%w")== 1 then
    if os.date("%W")%2 == 0 then 
            commandArray['Variable:Semaine_paire'] = 'true'    -- semaine paire
    else    commandArray['Variable:Semaine_paire'] = 'false'    -- semaine impaire
    end
end
return commandArray
Dernière modification par jule1986 le 12 oct. 2017, 07:44, modifié 1 fois.
Wospi
Messages : 110
Inscription : 21 avr. 2017, 08:54

Re: erreur dans script lua

Message par Wospi »

Bonjour, ça donne quoi dans les logs ?
jule1986
Messages : 68
Inscription : 02 nov. 2015, 18:30
Localisation : Loiret (45)

Re: erreur dans script lua

Message par jule1986 »

Bonjour Wospi,

Merci de t'intéresser a mon problème et désolé pour la réponse tardive mais je n'avais pas vu ton message.... :?

Alors dans les log je n'ai rien qui parle de ce script même pas une erreur.
Par contre si j'ajoute un :

Code : Tout sélectionner

print (os.date("%W"))
J'ai ceci dans les log :

Code : Tout sélectionner

2017-10-04 20:14:01.173 dzVents: 40
FredWst
Messages : 21
Inscription : 03 oct. 2017, 21:24

Re: erreur dans script lua

Message par FredWst »

Salut,

il fonctionne ton scripte le seul problème c'est que tu fais tu testes à 19h44 d'ou la ligne en commentaire

Code : Tout sélectionner

--local Semaine_paire = 'Semaine_paire'
commandArray = {}

print('*******'..os.date("%W"))
--if os.date("%H")== 19 and os.date("%M")== 44 then
--and os.date("%w")== 1 then
    if os.date("%W")%2 == 0 then 
            commandArray['Variable:Semaine_paire'] = 'true'    -- semaine paire
            print('semaine paire')
    else    
        commandArray['Variable:Semaine_paire'] = 'false'    -- semaine impaire
        print('semaine impaire')
    end
--end
return commandArray

2017-10-08 18:51:24.244 EventSystem: Script event triggered: test
2017-10-08 18:51:24.244 (RFXCOM) Temp + Humidity (Salon)
2017-10-08 18:52:00.492 LUA: *******40
2017-10-08 18:52:00.493 LUA: semaine paire
2017-10-08 18:52:00.493 EventSystem: Script event triggered: test
2017-10-08 18:52:03.242 dzVents: Info: ------ Start internal script: Régulation chauffage: Device: "Salon (RFXCOM)", Index: 13
2017-10-08 18:52:03.242 dzVents: Info: ------ Finished Régulation chauffage
2017-10-08 18:52:03.250 LUA: *******40
2017-10-08 18:52:03.250 LUA: semaine paire
2017-10-08 18:52:03.251 EventSystem: Script event triggered: test
2017-10-08 18:52:03.252 (RFXCOM) Temp + Humidity (Salon)

fred
jule1986
Messages : 68
Inscription : 02 nov. 2015, 18:30
Localisation : Loiret (45)

Re: erreur dans script lua

Message par jule1986 »

Bonjour,
Merci FredWst pour ta réponse mais si je fait le test a 19h44 c'est car je ne veux pas que mon script se lance toute les minute (ce qui est inutile).
Je voulais même le lancer qu'une fois par semaine a la base mais pour des raisons de sécurité je vais le lancer 1 fois par jour.

Ce qui ne fonctionne pas c'est ma variable utilisateur qui ne se met pas a jour.... pas le fait que le script se lance ou pas.

Merci
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: erreur dans script lua

Message par thier »

On est en semaine impaire donc tu mets un print entre ton else et ton commandeArray suivant. Tu verras comme ça si tu passes dans la bonne branche de ton script. Une remarque générale, on met un max de print dans un script qui ne fonctionne pas pour trouver là où ça coince.

Envoyé de mon SM-T533 en utilisant Tapatalk
Dernière modification par thier le 11 oct. 2017, 19:45, modifié 1 fois.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
jule1986
Messages : 68
Inscription : 02 nov. 2015, 18:30
Localisation : Loiret (45)

Re: erreur dans script lua

Message par jule1986 »

Merci a tous, j'ai réussi grâce a vous....

Le problème se situais bien au niveau de l'heure....

Voici la version qui fonctionne :

Code : Tout sélectionner

commandArray = {}

time = os.date("*t")                                                                                                          

if((time.min == 03) and (time.hour == 00)) then
    
    if os.date("%W")%2 == 0 then 
            commandArray['Variable:Semaine_paire'] = 'true'    -- semaine paire
    else    commandArray['Variable:Semaine_paire'] = 'false'    -- semaine impaire
    end
end
return commandArray
Répondre