== AutoLight==

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 <\>.
technick
Messages : 14
Inscription : 20 juil. 2017, 01:12

== AutoLight==

Message par technick »

- Ce code n'est plus publique -
Dernière modification par technick le 02 janv. 2020, 23:50, modifié 12 fois.
david.2d
Messages : 21
Inscription : 25 avr. 2017, 14:15

Re: == AutoLight V3 ==

Message par david.2d »

Hello,

Plutôt complet, mais difficile à s'approprier :

Je te conseil d'utiliser module.lua, qui te permettra de réduire considérablement tes fonctions générique, pour ne garder que les fonctions propre à ton scripts.
Et de crée des objects de variable pour qu'il soit plus facile d'adapter ton script.

Pour finir la succession de elseIf est un peu compliqué je trouve.

Un exemple de mon script pour la config pour te donner une idée :
lights['Lumiere_Entree'] = { capteurs = {'C-porte',D-couloir}, ecoModeCapteur = {'C-couloir'}, time = 65, autoMode = 1, ecoModeTime = 60*5}
technick
Messages : 14
Inscription : 20 juil. 2017, 01:12

Re: == AutoLight V3 ==

Message par technick »

Bonjour et merci pour ce retour ;-) Je vait donc me renseigner sur "module.lua"...

Pour les elsif c'est une optimisation de la vitesse d'execution, j'avais bien trouvé le moyen de faire des "select case" mais je n'ai pas pris le temps de tester. Mon but premier est, a terme, de pouvoir prioriser les differents scenarios lors de leur execution, quitte a perdre en présision sur les timers.

Technick
david.2d
Messages : 21
Inscription : 25 avr. 2017, 14:15

Re: == AutoLight V3 ==

Message par david.2d »

C'est une bibliothèque de fonctions Lua crée par un membre du Forum : vil1driver

voici le lien de sont GitHub :
https://github.com/vil1driver/lua

Pour uniformiser mes scripts j'utilise cette bibliothèque, à la quelle j'ai un fichier chargé pour ajouter d'autres fonctions ou réécrire certaines existantes, cela permet lors du partage d'utiliser les meme fonctions communes et surtout de rentre ton code beaucoup plus lisible car plus spécifique à ta fonctionnalité.

De plus tu peut l'utiliser dans plusieurs script, avec un simple import, ce qui permet lors d'une modification ou correction d'en faire profiter l'ensemble de tes scripts.
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: == AutoLight V3 ==

Message par denis_brasseur »

En complément de la réponse de David, tu peux utiliser cette bibliothèque dans l'état, et y insérer tes propres fonctions.
L'appel au fichier modules.lua se fait simplement en début de script par :

Code : Tout sélectionner

dofile('/home/pi/domoticz/scripts/lua/modules.lua')

Le chemin est évidemment à adapter.
Cela permet d'avoir un script clair et très épuré, en réutilisant tes fonctions à l'infini.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
david.2d
Messages : 21
Inscription : 25 avr. 2017, 14:15

Re: == AutoLight V3 ==

Message par david.2d »

En complément de la réponse de denis_brasseur :P, je conseil d'ajouter tes propre fonctions dans un fichier séparé, ce qui te permet de facilement faire les MAJ de la bibliothèque et aussi de reconnaître simplement les fonctions que tu doit partager avec ton script de celles dispo dans la bibliothèque commune :)
technick
Messages : 14
Inscription : 20 juil. 2017, 01:12

Re: == AutoLight V3 ==

Message par technick »

-/-
Répondre