Forum KNX francophone / English KNX forum
Extensions lua dans Linknx - Version imprimable

+- Forum KNX francophone / English KNX forum (https://www.knx-fr.com)
+-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3)
+--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10)
+--- Sujet : Extensions lua dans Linknx (/showthread.php?tid=2958)



Extensions lua dans Linknx - sphinkx - 09/05/2014

Pour les besoins d'un crépusculaire logiciel, j'ai modifié le code de Linknx pour permettre l'appel de nouvelles fonctions dans les scripts lua.

Les voilà, semblables à leurs homonymes XML sauf la dernière tryrule qui est nouvelle.

isException(day)

sendemail(to,subject,body)

getruleactive(ruleid)

setruleactive(ruleid,boolean)

dorule(rule,boolean)

cancelrule(rule)

tryrule(rule)

Si ces modifications vous intéressent ou si les développeurs/mainteneurs de Linknx trouvent utile de les incorporer au code officiel, dites-le moi.



RE: Extensions lua dans Linknx - Energy01 - 15/08/2014

Salut,

je serais intéressé par tes modifs du code de linknx

pourrais-tu les mettre a dispo quelque pars ou les envoyer par mail par exemple

PS: je suis curieux de ton "crépusculaire logiciel" également qu'as tu fais et pour quel besoin ?

merci d'avance
@+
Anthony.


RE: Extensions lua dans Linknx - sphinkx - 22/08/2014

Bonjour,

Sur base du code source de linknx-0.0.1.30, j'ai modifié les fichiers en pièce jointe.
J'ai dû ajouter un suffixe .txt pour pouvoir les charger. A vous de l'enlever.


Il n'y a plus qu'à recompiler.

Bon amusement et faites vos commentaires...



Voilà le détail:

emailgateway.cpp et emailgateway.h

La fonction EmailGateway:ConfusedendEmail renvoie un code "int" de réussite.

luacondition.cpp et luacondition.h

Ajouté les fonctions lua suivantes pour les scripts de type action:

isException(day)

Renvoie une indication booléenne du statut "exception" du jour.

sendemail(to,subject,body)

Envoi d'un courriel.
Renvoie une indication booléenne de réussite.


getruleactive(ruleid)

Renvoie une indication booléenne de l'activation ou non de cette rule ou nil si cette rule n'existe pas.

setruleactive(ruleid,boolean)

Active ou désactive la rule.
Renvoie true quand terminé ou nil si la rule n'existe pas.

dorule(rule,boolean)

Execute les actions on true/if true ou on false/if false de la rule selon la demande.
La condition de la rule n'est pas prise en compte/évaluée.
Renvoie true quand terminé ou nil si la rule n'existe pas.

tryrule(rule)

Evalue les conditions de la rule et execute les actions correpondantes de la branche on true/if true ou on false/if false.
Renvoie true quand terminé ou nil si la rule n'existe pas.

cancelrule(rule)

Annule toutes les actions en cours ou en attente pour cette rule.
Renvoie true quand terminé ou nil si la rule n'existe pas.




ruleserver.cpp et ruleserver.h

Ajouté l'accès au flag "activation" d'une rule.

ioport.cpp

Petite retouche pour permettre la compilation avec g++.