Ce post pour présenter mon projet d’interface web à installer par exemple sur un NAS et qui permet de communiquer avec l’eedomus.
J’ai maintenant une version non finalisée mais qui fait ce dont j’ai besoin sans planter.
Comme j’ai peu de temps à y consacrer, l’objectif serait de voir si cette interface intéresse d’autres personnes et si certains voudraient m’aider à la finaliser pour qu’elle puisse être utilisée par d’autres.
Quelques captures d’écrans
Sur iPad
Une vue "automatique" avec les pièces et les modules par pièces

Des exemples de vue avec des icônes placés sur un fond:


Sur iPhone
Vue "automatique":

Et une vue avec fond :

Le principe de fonctionnement est un peu différent de l'interface eedomus :
L'icône indique l'état du module, un clic sur l'icône actionne le module (allumer/éteindre, ouvrir/fermer). Ici un clic sur l'icône batterie indique le module en alerte :

Un clic long ouvre un menu popup, par exemple un menu pour la gestion d'un volet :

Pour partir de l’origine de mon projet, j’avais fait une interfcace « MyVera » pour ma Vera Lite.
Quelques infos ici :
https://sbdomotique.wordpress.com/
http://ma-maison-domotique.blogspot.com ... -pour.html
Elle est en AJAX (et utilise la librairie Sencha Touch).
Nouvelle vie, nouvelle maison, j’avais arrêté la domotique mais j’ai fini par m’y remettre en particulier pour domotiser un chauffe-eau et le faire fonctionner en heures creuses.
Après un peu d’hésitations, j’ai choisi de prendre une eedomus. J’en suis content pour sa stabilité et les mises à jour, plutôt déçu par sa réactivité (ma petite Vera Lite traitait beaucoup plus vite les demandes et était très robuste) mais surtout son interface ne me convient pas.
J’ai donc remis les mains dans le code de MyVera pour le faire fonctionner avec l’eedomus.
Il resterait à debugger (surtout la partie configuration), à ajouter d’autre modules ou rendre compatible certaines fonctions de MyVera que je n’ai pas mises à jour.
Dans l’idéal il faudrait modifier le code pour utiliser la librairie extjs (qui remplace Sencha Touch).
Pour la partie synchronisation avec l’eedomus, j’utilise l’API en mode local en faisant un appel toutes les 6 s à la fonction periph.caract à laquelle je donne la liste des modules que je veux synchroniser.
Ceci n’a pas l’air de perturber l’eedomus (et ces appels toutes les 6 s ne se font que lorsque l’interface est ouverte donc peu souvent).
Ce faible délai de synchro permet une mise à jour de l’interface avec une réactivité acceptable mais une nouvelle fonction dans l’API pour cette synchro serait préférable (si la TEAM de l’eedomus me lit…) :
il serait mieux d’avoir une fonction qui ne donnerait que les changements d’état de modules depuis une date donnée ce qui permettrait de minimiser les informations échangées (car la plupart du temps un module ne change pas d’état).
Comme ces changements d’état sont peu fréquents, ceci pourrait être encore plus optimisé avec un fonctionnement du type de celui de la Vera Lite : lors d’un appel à l’API, s’il y a eu un changement d’état d’un module, elle l’indique sans délai mais, s’il n’y a pas de changement d’état, la box ne répond rien puis avant qu’il y ait un « timeout », au bout d’une minute, s’il n’y a toujours rien qui a changé elle répond tout de même en disant qu’il n’y a aucun changement. Ceci permet de faire une synchronisation sans aucun délai et permet donc une réponse immédiate sans surcharger les échanges...