Script

 

Le Framework de Domotic's

Depuis 1999, j'écris des scripts pour mes différentes installations de domotique! Chaque script est plus ou moins compliqué, et chaque nouveau script est plus ou moins lié avec un script déjà existant. Je vous dis pas le plat de spaghettis que ca faisait ! J'en étais arrivé à ne plus savoir ce que faisaient certains scripts. Et lorsque j'en modifiais un, j'en cassais un ou deux sans le vouloir.

En 2005, j'ai décidé de nettoyer tout cà. J'ai pris toutes mes fonctions vbscripts communes à mes développement, et j'ai créé le framework domotic's. Je maintiens ce framework, vous pouvez l'utiliser sans crainte. Et de version en version, lorsque je l'améliore, je fais bien attention de ne pas modifier la signature de mes fonctions (les paramétres, leurs ordres, etc). Ainsi, si vous l'utilisez, il vous est facile de le changer sans casser vos scripts.

Ce framework commence en version 4, car il fait partie de la 4ieme génération de scripts que j'ai écrit. 6 librairies sont organisées autour de grands thèmes:

  • framework_fso: Ce sont les fonctions liées à la gestion de fichiers,
  • framework_net: Ce sont les fonctions liées au réseau,
  • framework_sql: Ce sont les fonctions liées à l'interface mysql (log + sauvegarde des status),
  • framework_str: Ce sont les fonctions liées aux chaines de caractères,
  • framework_wsh: Ce sont les fonctions liées à l'appel de programmes extérieurs (tar, ps, gzip, etc),
  • framework_x10: Ce sont les fonctions liées au X10 (création de device/event, etc).

Cet ensemble de scripts est gratuit. N'hésitez pas à vous en inspirer. Et à me contacter si vous souhaitez que je le fasse évoluer pour vos besoins ( ou que je documente une fonction ).

Le framework domotic's est livré avec chacun de mes modules. Mais si vous utilisez plusieurs de mes modules, vous avez intérêts de mutualiser le framework pour ne gèrer qu'un fichier de configuration (framework_domotics.inc).

Voici un exemple de ma configuration (cliquez sur l'image pour l'aggrandir) :

Si vous voulez faire pareil, et mutualiser le framework pour vos différents scripts, il vous faut :
1- Déplacer le répertoire lib d'un des modules vers le répertoire c:/program files/homeseer 2/scripts/lib/ de votre PC.
2- Effacer les fichiers du répertoire lib de tous vos modules domotic's.
3- Mettre un fichier framework_domotics.vbs dans le répertoire lib de tous vos modules. Ce nouveau fichier doit contenir uniquement la ligne :

#include ..\..\..\lib\framework_domotics.vbs

Voilà, si vous voulez plus d'informations, je vous propose de passer sur le forum pour en faire profiter les autres ...

En conclusion

Depuis que j'ai uniformisé mes scripts, je passe beaucoup moins de temps à les maintenir. Quand je change une fonction dans le framework, tous mes modules en profite systèmatiquement. Le principe peut paraitre compliqué, mais à long terme, je le trouve très efficace. Et beaucoup moins long que de créer une application Java ou .NET.

© 2005 - Domotic's