Architecture

Documentation eedomus

Cette page décrit les principes de l'architecture eedomus, ainsi que ses avantages et inconvénients

Nous avons tous tendance à considérer qu'une architecture complètement locale est plus sûre en termes de sécurité des données et de fiabilité. Pour autant, l'utilisation de service Cloud est quasiment indispensable pour l'accès distant, pour l'envoi de notifications Push, voire mail, la communication avec les assistants vocaux Alexa, Google, Siri, et enfin pour assurer une sauvegarde automatisée.

Cette page expliquer l'architecture en place pour eedomus.

Sommaire

Centralisation de la configuration sur le Cloud eedomus

La configuration de chaque box est centralisée sur un ensemble de serveurs (une dizaine de serveurs qui forment le Cloud eedomus).

Cela permet une restauration très aisée de la configuration.

Les données historiques y sont également stockées, ainsi que les images de caméra.

Ce mode de fonctionnement assure également qu'une seule version existe (même si un utilisateur peut suspendre les mises à jour automatiques).

Fonctionnement autonome

Le principe de chaque box est qu'elle puisse fonctionner de manière autonome, une fois que sa configuration est chargée.

L'ensemble des périphériques, des règles, des scripts, fonctionnent de manière autonome (sauf quelques règles "cloud", par exemple les règles inter-box).

Les règles, si elles ne peuvent pas être "créées" sur la box aujourd'hui, peuvent être activées/désactivées localement.

Lors d'une coupure internet, la box garde localement toutes les informations (tant qu'elle a assez de mémoire), et les restitue au serveur à la reconnexion. La box garde l'heure quelques heures en cas de coupure de courant. Si la durée est plus longue, il est possible de la remettre à l'heure sur le site web local (on peut retrouver la box qui émet son nom en UPnP sur l'onglet "Réseau" sous Windows).

Communications externes via le Cloud

Le passage par un Cloud est quasiment indispensable pour accéder à son domicile depuis l'extérieur, que ce soit en termes de facilité de mise en place et de sécurité.

Les solutions qui ne s'appuient par sur un serveur externe oblige l'ouverture de ports entrants sur son routeur pour pouvoir y accéder à distance (soit de manière automatique, soit via UPnP-IGD), ce qui est un risque important. Tout matériel devient vulnérable vis à vis des failles de sécurité au bout de quelques années. L'architecture eedomus ne nécessite pas de port forwarding (avec ses risques de sécurité et les difficultés liées au CG-NAT IPv4).

L'architecture eedmomus assure une meilleure sécurité sur ce point en ne nécessitant aucun port entrant pour l'accès distant.

Ainsi, toutes les requêtes depuis internet (lorsqu'on est au bout du monde), transitent par le Cloud eedoums. Et les box eedomus vont "chercher" l'information.

Le second principe est que la communication "locale" reste locale, autant que possible.

La box dispose d'un site internet local (http://ip_de_la_box) qui est quasiment identique au site web mobile (https://m.eedomus.com).

Les applications iOS/Android envoient directement les actions sur la box. Il existe un mode de connexion "direct".

Les applications vont chercher les "historiques" et les "images" sur le Cloud.

Inconvénients de l'architecture

Le principal risque perçu est celui d'une fermeture des serveurs. Nous répondons que le risque de faillite de la société (qui existe depuis 2009) n'est pas plus élevé que celui de la fermeture d'un service non rentable par une société internationale (Google, Orange, ...).

Le second risque est celui d'une panne des serveurs. Nous sommes vigilants 24H/24. Des pannes ponctuelles arrivent comme sur toute infrastructure, mais elles sont plutôt plus courtes que celles d'autres grands acteurs (banques, facebook par exemple).

Un autre risque est celui de la sûreté des données. Le risque zéro n'existe pas en informatique même si nous y prêtons une grande attention. Nous rappelons que nous ne souhaitons pas connaître nos utilisateurs, contrairement à beaucoup de service. Nous conseillons l'utilisation d'un pseudo.

Avantages de cette architecture

Le premier avantage est la sauvegarde de la configuration et des données, et la capacité à récupérer une box reconfigurée en quelques minutes.

Exemple : Nous avons régulièrement des demandes d'utilisateurs dont la box internet et eedomus+ sont grillées et donc "hors service" suite à la chute de la foudre à proximité. Le remplacement intégral, avec toute la configuration, est possible en 24 heures ou quelques jours.

Cette architecture permet de visualiser les dernières informations de sa box (images, déclenchement de capteurs, durée de la coupure) en cas de coupure d'électricité ou d'internet sur son domicile.

Un autre avantage est la possibilité du support, puisque les logs techniques des derniers jours sont remontés sur le serveur. Nous ne serions a priori pas en mesure d'assurer un support efficace, c'est à dire le support, sur une solution totalement autonome.

Cette architecture permet de stocker des Gigaoctets d'images et des centaines de milliers de données en base de données pour un utilisateur. Les ressources de la box ne permettent pas ces performances (une base de données avec un million de ligne par exemple, et un affichage en quelques secondes d'une courbe de mesure sur des milliers de valeurs).

Enfin, nous pouvons apporter des nouveautés régulièrement, nouveaux périphériques, nouvelles fonctionnalités, disponibles pour tous les utilisateurs (sauf ceux qui gèlent leur box à une date donnée).

Evolutions progressives

Nous souhaitons aller vers une plus grande autonomie des box, sans perdre les avantages du Cloud.

Nous souhaitons surtout être plus transparent sur le fonctionnement interne des box, pour faciliter l'analyse en cas de problème.

Pour une meilleure compréhension des box, nous avons ajouté le CPU de la box, la visibilité de logs sur http://ip_eedomus/log.

Nous avons ajouté la visibilité de la configuration Réseau sur les Apps, localement (dont le scan de réseau).

Un historique de la configuration peut être visualisé, sauvegardé sur http://secure.eedomus.com/import_export

Comparaison avec d'autres acteurs

En très grande majorité, les particuliers ne sont pas en mesure de sauvegarder leurs données informatiques sur le long terme. Tout comme il est préférables de stocker son argent dans une banque.

Les outils que l'on utilisent à titre personnel ou d'entreprise vont vers le Cloud : la messagerie Gmail, le stockage de fichier Dropbox, la communication Slack... On peut regretter cette évolution en terme de sécurité, mais le risque de perdre un disque dur sur un PC, et de n'avoir pas fait de sauvegarde quotidienne est plutôt plus élevé. Lorsque le système est payant (Dropbox, même Gmail), les données sont stockées de manière plus sécurisée.

Un service Cloud eedomus de base est offert gracieusement pour tous les utilisateurs. Des services complémentaires Basic et Premium sont disponibles sur options. Ce service est payant chez d'autres acteurs (par exemple Home Assistant).

Concernant les périphériques Wifi ou LAN, nous attachons une importance à ce qu'ils puissent fonctionner sans cloud pour simplifier l'architecture, et assurer une sécurité au besoin. C'est ainsi que sur des périphériques Wifi Shelly versus Tuya, nous préférons les périphériques Shelly qui peuvent être configurer et fonctionner sans aucune application à installer, et ne nécessite aucun cloud pour communiquer (Principes de configuration d'un module Shelly avec eedomus). Autant nous considérons qu'une communication Cloud est nécessaire pour l'accès distant, autant, elle est inutile pour communiquer entre une box domotique et un périphérique wifi dans le même bâtiment.

Les communications en Z-Wave ou en Zigbee sont limitées à de la communication locale par construction.