LUA: Demande aide sur premier script

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 <\>.
taad
Messages : 61
Inscription : 17 juil. 2017, 21:41

LUA: Demande aide sur premier script

Message par taad »

Bonjour à tous,

Ayant compris avant les vacances que je serais plus que limité avec le blocky, je me mets au LUA pour gérer mes volets.

Je rencontre quelques soucis avec mon 1er script et je n'arrive pas à comprendre pourquoi ca ne fonctionne pas

Le script est le suivant :

Code : Tout sélectionner

-- Definition des heures d'ouverture et de fermeture des volets
Heure1="07:00:00"
Heure2="08:30:00"
Heure3="10:00:00"
Heure4="12:00:00"
Heure5="14:00:00"
Heure6="16:45:00"
Heure7="11:11:00"
Heure8="11:12:00"

commandArray = {}

print ("script Domotique Volet");
-- loop through all the devices

for deviceName,deviceValue in pairs(otherdevices) do
        Jours_Actuel=os.date("%A")
        Heure_Actuelle=os.date("%X")
            if Heure_Actuelle == Heure7 then
                commandArray['Volet Cuisine'] = "on"
                print ("fermeture des volets")
                print (Jours_Actuel, Heure_Actuelle)
            end
            if Heure_Actuelle == Heure8 then
                commandArray['Volet Cuisine'] = "Off"
                print ("ouverture des volets")
                print (Jours_Actuel, Heure_Actuelle)
            end
end
Le log renvoyé est :

Code : Tout sélectionner

 2017-09-24 11:10:06.336 EventSystem: reset all events...
2017-09-24 11:11:00.902 LUA: fermeture des volets
2017-09-24 11:11:00.902 LUA: Sunday
2017-09-24 11:11:00.902 LUA: 11:11:00
2017-09-24 11:11:00.902 LUA: fermeture des volets
2017-09-24 11:11:00.902 LUA: Sunday
2017-09-24 11:11:00.902 LUA: 11:11:00
2017-09-24 11:11:00.902 LUA: fermeture des volets
2017-09-24 11:11:00.902 LUA: Sunday
2017-09-24 11:11:00.902 LUA: 11:11:00
2017-09-24 11:11:00.902 LUA: fermeture des volets
2017-09-24 11:11:00.903 LUA: Sunday
2017-09-24 11:11:00.903 LUA: 11:11:00
2017-09-24 11:11:00.903 LUA: fermeture des volets
2017-09-24 11:11:00.903 LUA: Sunday
2017-09-24 11:11:00.903 LUA: 11:11:00
2017-09-24 11:11:00.903 LUA: fermeture des volets
2017-09-24 11:11:00.903 LUA: Sunday
2017-09-24 11:11:00.903 LUA: 11:11:00
2017-09-24 11:11:00.903 LUA: fermeture des volets
2017-09-24 11:11:00.903 LUA: Sunday
2017-09-24 11:11:00.903 LUA: 11:11:00
2017-09-24 11:11:00.903 LUA: fermeture des volets
2017-09-24 11:11:00.904 LUA: Sunday
2017-09-24 11:11:00.904 LUA: 11:11:00
2017-09-24 11:11:00.904 LUA: fermeture des volets
2017-09-24 11:11:00.904 LUA: Sunday
2017-09-24 11:11:00.904 LUA: 11:11:00
2017-09-24 11:11:00.904 LUA: fermeture des volets
2017-09-24 11:11:00.904 LUA: Sunday
2017-09-24 11:11:00.904 LUA: 11:11:00
2017-09-24 11:11:00.904 LUA: fermeture des volets
2017-09-24 11:11:00.904 LUA: Sunday
2017-09-24 11:11:00.904 LUA: 11:11:00
2017-09-24 11:11:00.904 LUA: fermeture des volets
2017-09-24 11:11:00.905 LUA: Sunday
2017-09-24 11:11:00.905 LUA: 11:11:00
2017-09-24 11:11:00.905 LUA: fermeture des volets
2017-09-24 11:11:00.905 LUA: Sunday
2017-09-24 11:11:00.905 LUA: 11:11:00
2017-09-24 11:11:00.905 LUA: fermeture des volets
2017-09-24 11:11:00.905 LUA: Sunday
2017-09-24 11:11:00.905 LUA: 11:11:00
2017-09-24 11:11:00.906 EventSystem: Script event triggered: Volet1
2017-09-24 11:11:00.976 LUA: script Domotique Volet
2017-09-24 11:11:00.976 LUA: fermeture des volets
2017-09-24 11:11:00.976 LUA: Sunday
2017-09-24 11:11:00.976 LUA: 11:11:00
2017-09-24 11:11:00.977 LUA: fermeture des volets
2017-09-24 11:11:00.977 LUA: Sunday
2017-09-24 11:11:00.977 LUA: 11:11:00
2017-09-24 11:11:00.977 LUA: fermeture des volets
2017-09-24 11:11:00.977 LUA: Sunday
2017-09-24 11:11:00.977 LUA: 11:11:00
2017-09-24 11:11:00.977 LUA: fermeture des volets
2017-09-24 11:11:00.977 LUA: Sunday
2017-09-24 11:11:00.977 LUA: 11:11:00
2017-09-24 11:11:00.977 LUA: fermeture des volets
2017-09-24 11:11:00.977 LUA: Sunday
2017-09-24 11:11:00.977 LUA: 11:11:00
2017-09-24 11:11:00.978 LUA: fermeture des volets
2017-09-24 11:11:00.978 LUA: Sunday
2017-09-24 11:11:00.978 LUA: 11:11:00
2017-09-24 11:11:00.978 LUA: fermeture des volets
2017-09-24 11:11:00.978 LUA: Sunday
2017-09-24 11:11:00.978 LUA: 11:11:00
2017-09-24 11:11:00.978 LUA: fermeture des volets
2017-09-24 11:11:00.978 LUA: Sunday
2017-09-24 11:11:00.978 LUA: 11:11:00
2017-09-24 11:11:00.978 LUA: fermeture des volets
2017-09-24 11:11:00.978 LUA: Sunday
2017-09-24 11:11:00.978 LUA: 11:11:00
2017-09-24 11:11:00.979 LUA: fermeture des volets
2017-09-24 11:11:00.979 LUA: Sunday
2017-09-24 11:11:00.979 LUA: 11:11:00
2017-09-24 11:11:00.979 LUA: fermeture des volets
2017-09-24 11:11:00.979 LUA: Sunday
2017-09-24 11:11:00.979 LUA: 11:11:00
2017-09-24 11:11:00.979 LUA: fermeture des volets
2017-09-24 11:11:00.979 LUA: Sunday
2017-09-24 11:11:00.979 LUA: 11:11:00
2017-09-24 11:11:00.980 LUA: fermeture des volets
2017-09-24 11:11:00.980 LUA: Sunday
2017-09-24 11:11:00.980 LUA: 11:11:00
2017-09-24 11:11:00.980 LUA: fermeture des volets
2017-09-24 11:11:00.980 LUA: Sunday
2017-09-24 11:11:00.980 LUA: 11:11:00
2017-09-24 11:11:00.980 LUA: fermeture des volets
2017-09-24 11:11:00.980 LUA: Sunday
2017-09-24 11:11:00.980 LUA: 11:11:00
2017-09-24 11:11:00.980 LUA: fermeture des volets
2017-09-24 11:11:00.980 LUA: Sunday
2017-09-24 11:11:00.980 LUA: 11:11:00
2017-09-24 11:11:00.981 LUA: fermeture des volets
2017-09-24 11:11:00.981 LUA: Sunday
2017-09-24 11:11:00.981 LUA: 11:11:00
2017-09-24 11:11:00.982 EventSystem: Script event triggered: Volet1
2017-09-24 11:11:01.051 LUA: script Domotique Volet
2017-09-24 11:12:00.895 LUA: ouverture des volets
2017-09-24 11:12:00.895 LUA: Sunday
2017-09-24 11:12:00.896 LUA: 11:12:00
2017-09-24 11:12:00.896 LUA: ouverture des volets
2017-09-24 11:12:00.896 LUA: Sunday
2017-09-24 11:12:00.896 LUA: 11:12:00
2017-09-24 11:12:00.896 LUA: ouverture des volets
2017-09-24 11:12:00.896 LUA: Sunday
2017-09-24 11:12:00.896 LUA: 11:12:00
2017-09-24 11:12:00.896 LUA: ouverture des volets
2017-09-24 11:12:00.896 LUA: Sunday
2017-09-24 11:12:00.896 LUA: 11:12:00
2017-09-24 11:12:00.896 LUA: ouverture des volets
2017-09-24 11:12:00.897 LUA: Sunday
2017-09-24 11:12:00.897 LUA: 11:12:00
2017-09-24 11:12:00.897 LUA: ouverture des volets
2017-09-24 11:12:00.897 LUA: Sunday
2017-09-24 11:12:00.897 LUA: 11:12:00
2017-09-24 11:12:00.897 LUA: ouverture des volets
2017-09-24 11:12:00.897 LUA: Sunday
2017-09-24 11:12:00.897 LUA: 11:12:00
2017-09-24 11:12:00.897 LUA: ouverture des volets
2017-09-24 11:12:00.897 LUA: Sunday
2017-09-24 11:12:00.897 LUA: 11:12:00
2017-09-24 11:12:00.897 LUA: ouverture des volets
2017-09-24 11:12:00.898 LUA: Sunday
2017-09-24 11:12:00.898 LUA: 11:12:00
2017-09-24 11:12:00.898 LUA: ouverture des volets
2017-09-24 11:12:00.898 LUA: Sunday
2017-09-24 11:12:00.898 LUA: 11:12:00
2017-09-24 11:12:00.898 LUA: ouverture des volets
2017-09-24 11:12:00.898 LUA: Sunday
2017-09-24 11:12:00.898 LUA: 11:12:00
2017-09-24 11:12:00.898 LUA: ouverture des volets
2017-09-24 11:12:00.898 LUA: Sunday
2017-09-24 11:12:00.898 LUA: 11:12:00
2017-09-24 11:12:00.899 LUA: ouverture des volets
2017-09-24 11:12:00.899 LUA: Sunday
2017-09-24 11:12:00.899 LUA: 11:12:00
2017-09-24 11:12:00.899 LUA: ouverture des volets
2017-09-24 11:12:00.899 LUA: Sunday
2017-09-24 11:12:00.899 LUA: 11:12:00
2017-09-24 11:12:00.900 EventSystem: Script event triggered: Volet1
2017-09-24 11:12:00.965 LUA: script Domotique Volet
2017-09-24 11:12:00.966 LUA: ouverture des volets
2017-09-24 11:12:00.966 LUA: Sunday
2017-09-24 11:12:00.966 LUA: 11:12:00
2017-09-24 11:12:00.966 LUA: ouverture des volets
2017-09-24 11:12:00.966 LUA: Sunday
2017-09-24 11:12:00.966 LUA: 11:12:00
2017-09-24 11:12:00.966 LUA: ouverture des volets
2017-09-24 11:12:00.966 LUA: Sunday
2017-09-24 11:12:00.966 LUA: 11:12:00
2017-09-24 11:12:00.967 LUA: ouverture des volets
2017-09-24 11:12:00.967 LUA: Sunday
2017-09-24 11:12:00.967 LUA: 11:12:00
2017-09-24 11:12:00.967 LUA: ouverture des volets
2017-09-24 11:12:00.967 LUA: Sunday
2017-09-24 11:12:00.967 LUA: 11:12:00
2017-09-24 11:12:00.967 LUA: ouverture des volets
2017-09-24 11:12:00.967 LUA: Sunday
2017-09-24 11:12:00.967 LUA: 11:12:00
2017-09-24 11:12:00.967 LUA: ouverture des volets
2017-09-24 11:12:00.967 LUA: Sunday
2017-09-24 11:12:00.967 LUA: 11:12:00
2017-09-24 11:12:00.968 LUA: ouverture des volets
2017-09-24 11:12:00.968 LUA: Sunday
2017-09-24 11:12:00.968 LUA: 11:12:00
2017-09-24 11:12:00.968 LUA: ouverture des volets
2017-09-24 11:12:00.968 LUA: Sunday
2017-09-24 11:12:00.968 LUA: 11:12:00
2017-09-24 11:12:00.968 LUA: ouverture des volets
2017-09-24 11:12:00.968 LUA: Sunday
2017-09-24 11:12:00.968 LUA: 11:12:00
2017-09-24 11:12:00.968 LUA: ouverture des volets
2017-09-24 11:12:00.968 LUA: Sunday
2017-09-24 11:12:00.969 LUA: 11:12:00
2017-09-24 11:12:00.969 LUA: ouverture des volets
2017-09-24 11:12:00.969 LUA: Sunday
2017-09-24 11:12:00.969 LUA: 11:12:00
2017-09-24 11:12:00.969 LUA: ouverture des volets
2017-09-24 11:12:00.969 LUA: Sunday
2017-09-24 11:12:00.969 LUA: 11:12:00
2017-09-24 11:12:00.969 LUA: ouverture des volets
2017-09-24 11:12:00.969 LUA: Sunday
2017-09-24 11:12:00.969 LUA: 11:12:00
2017-09-24 11:12:00.970 LUA: ouverture des volets
2017-09-24 11:12:00.970 LUA: Sunday
2017-09-24 11:12:00.970 LUA: 11:12:00
2017-09-24 11:12:00.970 LUA: ouverture des volets
2017-09-24 11:12:00.970 LUA: Sunday
2017-09-24 11:12:00.970 LUA: 11:12:00
2017-09-24 11:12:00.970 LUA: ouverture des volets
2017-09-24 11:12:00.970 LUA: Sunday
2017-09-24 11:12:00.970 LUA: 11:12:00
2017-09-24 11:12:00.971 EventSystem: Script event triggered: Volet1
2017-09-24 11:12:01.041 LUA: script Domotique Volet 
Rien ne se passe ! Mon volet de cuisine ne bouge pas ! J'en déduis d'après le log que l'ordre n'a pas été donné mais je ne comprends pas pourquoi ?

Que dois je modifier dans mon script ?
Comment faire pour que le log soit plus court ?

D'avance merci pour votre aide
Dernière modification par taad le 24 sept. 2017, 18:14, modifié 2 fois.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: LUA: Demande aide sur premier script

Message par Neutrino »

Bonjour,

Alors, en premier, il faut bien faire attention au type de script.
Ici, il doit être de type time.
Ensuite, il manque

Code : Tout sélectionner

return commandArray
à la fin de ton script.

Cette ligne retourne un tableau à domoticz qui met à jour les dispositifs.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
taad
Messages : 61
Inscription : 17 juil. 2017, 21:41

Re: LUA: Demande aide sur premier script

Message par taad »

Merci pour ton retour

Return commandarray est bien present à la fin du script.

Comment déclare t on que le script est de type Time ?
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: LUA: Demande aide sur premier script

Message par Neutrino »

Tu passes par l'éditeur intégré ou par un fichier ?
Il existe 5 types de script :
  • All - Will run whenever anything happens that triggers the event system to run a script
  • Device - Will run whenever ANY device state/value change
  • Security - Will run whenever there is a security event
  • Time - Will run once per minute. Scripts are executed one at a time.
  • User Variable - Will run when User Variables are updated
Un peu de lecture pour de bonnes bases :
https://www.domoticz.com/wiki/Events
ou le blog :
https://easydomoticz.com/mon-premier-sc ... ondations/
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
taad
Messages : 61
Inscription : 17 juil. 2017, 21:41

Re: LUA: Demande aide sur premier script

Message par taad »

Je passe par l'editeur intégré car Domoticz est installé sur un NAS Synology.

J'ai trouvé comment déclarer le script en time et j'ai réécris le script entierement. Ca fonctionne mais je ne sais pas pourquoi !

Code : Tout sélectionner

commandArray = {}

print ("script Domotique Volet");

-- Definition des heures d'ouverture et de fermeture des volets
Heure1="07:00:00"
Heure2="08:30:00"
Heure3="10:00:00"
Heure4="12:00:00"
Heure5="14:00:00"
Heure6="16:45:00"
Heure7="18:11:00"
Heure8="18:12:00"

Heure_Actuelle=os.date("%X")

    if Heure_Actuelle == Heure7 then 
        commandArray['Volet Cuisine'] = "On"
        print (Heure_Actuelle, Heure1)
    end
    if Heure_Actuelle == Heure8 then 
        commandArray['Volet Cuisine'] = "Off"
        print (Heure_Actuelle, Heure1)
    end
    
return commandArray
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: LUA: Demande aide sur premier script

Message par Neutrino »

Ta boucle 'for' ne servait à rien.
Content que ça fonctionne ! :D
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Répondre