2018-05-09 11:46:00.264 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_test.lua: /home/pi/domoticz/scripts/lua/script_time_test.lua:16: attempt to concatenate global 'time' (a table value)
Quelqu'un peu éclairer ma lanterne ?
le format *t créé une table pour os.date. Une table c'est plusieur variable et valeur imbriquées. Ici time = os.date('*t') ressemble un peu a ca:
time = {year = 1998, month = 9, day = 16, yday = 259, wday = 4, hour = 23, min = 48, sec = 10, isdst = false}
Tu ne peux pas imprimer une table car c'est plusieur valeurs. Ils ne sait pas les intepreter a la suite. Si tu veux imprimer le temps il faut que tu change le format. En une seul valeur c'est mieux. Genre YY/MM/DD...
En fait os.date te retourne un format de temps sur le timestamp que tu lui entre. (ici tu n'en met aucun donc il s'agit du temps présent)
Essai avec les formats suivant:
Bonjour,
Très intéressé pour accélérer mes scripts j'ai testé la mise en place de votre code.
J'ai procédé ainsi:
1) j'ai créé un fichier modules.lua sous /home/pi/domoticz/scripts/lua
2) j'ai ajouté le dofile et j'ai changé les command array par groupOn ou switchOn
-- heurez à laquelle on passe des ampoules au soleil
Seuil_Heure_Soir="23:00:00"
Seuil_Heure_Matin="08:30:00"
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
commandArray = {}
if (devicechanged['deCONZ - Motion Sensor'] == 'On') then
print("mouvement 1")
if (tonumber(otherdevices['deCONZ - Motion Sensor (2)'])<15) then
print("luminosité<15")
Heure_Actuelle=os.date("%X")
print (Heure_Actuelle)
if Heure_Actuelle > Seuil_Heure_Matin then
print ("il est plus de 8h30 heures")
if Heure_Actuelle < Seuil_Heure_Soir then
print ("il est entre 8h30 et 23 heures")
--commandArray['Group:entree']='On' = mon ancienne commande
groupOn('entree')
else
print("il est plus de 23 heures")
--commandArray['deCONZ - entree_soleil']='On' = mon ancienne commande
switchOn('deCONZ - entree_soleil')
end
else
print ("il est moins de 8h30 heures")
--commandArray['deCONZ - entree_soleil']='On' = mon ancienne commande
switchOn('deCONZ - entree_soleil')
end
end
end
return commandArray
Hello merci pour ton retour. Effectivement ce n'était pas du tout clair !
Effectivement là j'ai fait une erreur de copy pasta mais même le code pour l'allumage ne fonctionne pas...
Jai bien mes prints dans mon log, preuve que le script s'exécute bien. Mais ca n'allume pas mon groupe ni mon appareil selon ce qui doit s'allumer.
En bref, rien ne s'allume pour la version SpeedUp alors que ça marche avec la version de base...
Soit modules.lua est vide
Soit l'ip 127.0.0.1 doit être remplacée (voir page 1)
Soit tu as changé le port
Soit curl n'est pas installé
Soit domoticz est soumis à mot de pass (voir page 2)
MAJ = VIDER LE CACHE(<-Clicable) /!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus modules.lua