dimanche 17 novembre 2013

1ere interface Domotique (2009)

1ere interface Domotique (2009)


Bonjour à vous,


je vous propose une vue de ma nouvelle interface développée sur Mainlobby + Homeseer.
Beaucoup de travail a été effectué pour le module Météo entre, totalement traduit en francais.
Je vous propose aussi ma longue quête (2 ans environ) pour le choix de mon interface (afin de justifier un peu mon investissement ;) )
Actuellement, le module de domotique est assez vide, mais ce vide va être comblé sous peu, vu que je viens de recevoir ma nouvelle maison. La majorité va être du plcbus.

http://picasaweb.google.fr/lh/photo/ZA_1Pw0WbxKrc3wuqjpMrA?feat=directlink


http://picasaweb.google.fr/lh/photo/ctvch0xBYwibzQ_PVPpJqQ?feat=directlink




http://picasaweb.google.fr/lh/photo/68-hRCKiohju8awERkvK9g?feat=directlink



http://picasaweb.google.fr/lh/photo/bYiLcN8HjsdESrMw2f7FOA?feat=directlink




http://picasaweb.google.fr/lh/photo/xFQwcBSHbBF65nmkoV4ZGw?feat=directlink




Pour information, j'ai mis beaucoup de temps pour me décider à utiliser Mainlobby, vu son prix.
J'ai essayé domotics (pas assez modulable), le plugin mediacenter pour homeseer (meme probleme que domotics). J'ai aussi développé l'interface précédente sous Xlobby. Je suis arrivé à faire quelquechose de potable, mais beaucoup trop de travail, et malheureusement, créer une interface semi-pro requiert trop d'investissement. De plus, utiliser XAP, c'est sympa, mais bof...
Je suis passé par d'autres interface encore, comme plutohome, etc... mais rien de convainquant.
De par l'architecture de homeseer, j'ai développé une interface Ajax grace au serveur ASP intégré, mais avoir un mode web ne me convenait pas du tout. étant donné que j'ai un écran tactile, seule une application en mode full screen pouvait me servir. (pour info, il doit etre possible de développer une application en ASP et ainsi ne plus utiliser l'interface Web, mais je ne suis pas spcialiste).
Je ne parle pas de Maestro, qui est sympa, et assez pro, mais vraiment peu modulable ...
Je tiens à signaler que je n'ai jamais testé HS Touch, donc pas de retour ici.

J'ai donc fini par utiliser Mainlobby, et aujourd'hui, je peux dire que
c'est la seule vrai alternative à mes yeux afin d'avoir une interface très pro. Ma précédente interface était plus fun (les screens doivent etre dans ce forum je crois), et il ne m'a fallu que 2 heures pour refaire cette nouvelle interface.
Des dizaines de plugin sont disponibles (on peut ainsi se passer de homeseer), mais vu que j'ai déjà homeseer, je n'ai acheté que le module qui permet de faire le lien entre ces 2 outils.
Mainlobby est magique. dès qu'on a compris la logique, on peut faire ce qu'on veut. le module météo, astro et programme TV a été créé par mes soins en perl (parsing XML pour les non néophytes).
Le module évènements (on peut dire que je l'ai cherché loin celui-la...) a été aussi créé par mes soins. il récupère à travers un plugin gratuit mon agenda Google Mail et l'importe dans mainlobby (pour l'instant en lecture, mais mode écriture vraiment easy).
Je tiens aussi à dire que leur service technique est très pro et très réactif. je me souviens d'un bug sur mainlobby qui me posait problème. je leur ai partagé mon PC, et après une journée de travail, il ont pu fournir un patch !!
N'oublions pas aussi un module database gratuit, qui permet (je l'avoue avec un peu de travail) de pouvoir lire ou écrire dans des bases de données.

Voila, j'espere avoir aidé les personnes qui cherchent encore l'interface qu'ils voudraient utiliser.


Complément en réponse à un forum :
 Oui Fritz tu as raison pour le mode plein écran. je ne suis pas rentré dans les détails, mais pour être plus précis, j'ai trouvé que quoiqu'on fasse, le résultat sous homeseer (en .NET) reste toujours proche d'une simple page web.
si on veut vraiment s'en éloigner, il faut un temps fou pour faire quelque chose qui ressemble à une interface type "application full screen". (supprimer complètement le blanc en fond d'écran, modifier le code pour s'adapter à l'ajax de homeseer qui n'est pas le standard que l'on installe avec .net, ...). Attention, il faut quand même dire, que cette solution était une de mes préférées toutefois. Mais après beaucoup de temps passé sur cette interface, je me suis décidé de stopper son développement, car le résultat n'était pas à la hauteur de mes attentes.


Pour ta question Eagles, mon architecture est simple :
Un serveur (XP SP3) qui fait office de serveur multimédia (mediaportal), serveur domotique/intranet (homeseer), NAS, serveur frontend (mainlobby).
tout est donc sur la meme machine, ce qui réduit considérablement les problèmes de connectivités. j'ai par dessus un système de backup + Raid 5 (c'est plus pour garantir de ne perdre mes photos/videos/musiques qu'autre chose). Le reste peut être facilement sauvegardable sur CD par exemple.
Entre homeseer et Mainlobby, j'utilise le plugin mlhsplugin, et là je dois dire que c'est de la balle ! configuration très simple, et agent qui tourne sur les 2 applis (jamais de plantage jusqu'à ce jour). Grace a l'agent, il est tout a fait possible de mettre homeseer et mainlobby serveur sur 2 machines distinctes.
A l'époque, j'avais mis en place XAP sur homeseer pour dialoguer avec Xlobby, mais j'ai été décu par la réactivité.
Pour finir, mon frontend (VISTA SP1) est situé sur une machine distance (Pc portable Tactile de chez HP) a travers mon réseau interne (si vous achetez mainlobby client+serveur, vous avez droit a 5 clients si je me souviens bien). en cas de problème sur le frontend, il reste toujours l'accès a travers la page web de homeseer pour contrôler la domotique.

Je vous fourni ici mes graphs de disponibilité des 2 systèmes (pour la tablette pc, les zones en rouge montrent une indisponibilité la nuit, car j'avais pris la tablette avec moi pour développer l'interface, sans alimentation. donc elle a passé 2 ou 3 nuits éteinte :) )

Graph pour le serveur :
http://picasaweb.google.fr/lh/photo/F4EZEqwUXsFrPb92I9NMtA?feat=directlink



Graphs pour la tablette :
http://picasaweb.google.fr/lh/photo/B2SrQzuNpihZMNNAxJBtJA?feat=directlink




N'hésitez pas si vous avez des questions. pour ma part, j'ai perdu beaucoup de temps avant de prendre cette décision pour mainlobby, mais aujourd'hui, je m'amuse comme un fou :)
Il est même possible de développer ses boutons en flash, etc pour mainlobby (un plugin est fourni gratuitement), mais j'avoue que c'est un peu trop pour moi .

-------------------------------------
SUITE
-------------------------------------
Hello,

Mainlobby fonctionne sur le principe client/serveur. il est indispensable d'avoir les 2 pour fonctionner.
serveur = backend (là ou l'on met les plugin, ...)
client = frontend (la ou on developpe l'interface graphique).
il est possible d'acheter le serveur ou le client seul dans le cas ou l'on veuille avoir plusieurs serveurs/clients. sans rentrer dans les détails pour lancer certaines applications sur le frontend, mainlobby conseille d'avoir un second serveur sur la meme machine. (il faut toutefois signaler qu'il y a une alternative, et qu'on peut se passer d'un deuxième serveur).

Pour le plugin homeseer/mainlobby :
http://store.homeseer.com/store/Main-Lobby-Plug-In-P84C155.aspx

Concernant le développement :
comment fonctionne le serveur :
on installe des plugin (gratuits ou payants) et on les active.
ensuite, ces différents plugin ont des roles, comme se connecter a outlook pour récupérer les mails par exemple, ...
la logique de mainlobby est assez simple : tout mettre sous forme de variable. donc en pratique, tous les résultats des plugins sont mis sous forme de variable (nom_variable~valeur_variable).
Pour ma part, par exemple, il y a un plugin météo, mais il est en anglais uniquement, ce qui pour moi ne m'allait pas du tout.
Ce que j'ai donc fait, c'est écrire un script en perl qui est appelé toutes les X minutes/heures et qui défini des variables du type : temp_demain~12°C, ... l'avantage est d'avoir une météo en francais et qui évolue durant la journée.
Tous les scripts que j'ai créé sont en perl. ils récupèrent simplement un fichier xml (venu d'un site web), et le passe dans une moulinette pour créer les variables pour mainlobby.
Bien sur, je fournis mes scripts gratuitement à ceux qui le veulent (il faut juste que je créer une doc que je n'ai toujours pas faite).

Coté client :
très simple, on drag and drop des images, boutons, issues de librairies (gratuites pour certaines et payantes pour d'autres).
perso, je n'utilise pas de payantes, et on trouve meme quelques librairies sympas sur le forum de mainlobby.
on peut même développer ses propres librairies, mais je ne peux pas aider ici ; pas eu le temps de me mettre au développement flash.
ensuite, pour chaque bouton, texte, slider, ... que l'on met sur l'interface, on affecte une commande qui va par exemple lire une variable sur le serveur et l'afficher en temps réel, et meme bien plus encore comme lancer une appli (qques subtilités ici), un script, ...
Une fois la logique comprise, on peut faire quasiment ce qu'on veut.

Comme je l'avais dit plus haut, une fois que l'on a créé sa première interface, il est très simple de changer d'interface a la volée. vous trouverez ma précédente interface sur ce même forum, et il m'a fallu 2 heures pour la transformer avec celle-ci.

Je sais que mainlobby rebute un peu. la logique est Zarb, mais une fois comprise, il n'y a presque plus de limite !
pour info, je parle de script perl ici, mais on peut sans problème utiliser d'autres langages, tout comme pour homeseer (le truc là aussi intéressant est qu'il suffit d'ajouter qques lignes de codes dans notre script, et il peut fonctionner à la fois pour homeseer et pour mainlobby --> pour homeseer, je ne suis pas d'un grand secours, je n'en maitrise pas les rouages, mais je crois que toutes les variables passent par une base de données - à voir-).

Bon courage en tout cas !

(je tiens à signaler que je n'ai aucune part chez cinemar, mais ce produit est vraiment peu utilisé sur notre continent de part son prix je suppose, et c'est vraiment dommage. profitez du $ !!)