-
Notifications
You must be signed in to change notification settings - Fork 1
domonode
domonode
est le nom d'un logiciel que je développe activement pour les besoins de ma domotique.
Qui dit domotique, dit "box domotique", c'est à dire une sorte de mini-serveur qui:
-
centralise les informations domotiques, aggrège les information, les stocke / historise
-
propose une interface pour configurer sa domotique
-
contient des 'scénarios', déclenchés manuellement ou automatiquement qui vont automatiser le comportement de la maison, et donc la rendre "intelligente".
Au commencement de mon installation, j'ai opté pour le logiciel open-source Jeedom qui est une référence dans le domaine (et que je ne peux que vous conseiller)
Mais je suis un geek pathologique, donc à un moment m'est venu l'envie de faire mon propre logiciel pour contrôler ma domotique, quelque chose qui serait adapté parfaitement à mes besoins et qui adresserait les 'limites' que j'ai trouvées à Jeedom.
J'ai appelé ce logiciel perso domonode
, et (un jour) il sera publié sous licence open-source sur github
Le logiciel se veut extrêmement générique: c'est une sorte de framework très basique qui expose des entités via des plugins. Au final, domonode pourrait donc se résumer à un arbre d'entités.
Au démarrage de domonode, le programme charge des plugins ; un plugin sert:
-
soit à ajouter des fonctionnalités dans domonode. par exemple le plugin
trigger
permet de programmer le lancement d'entitéscommande
quand quelque chose se produit (ex: telle entitévaleur
a dépassé tel chiffre) -
soit à exposer de nouvelles entités dans cet arbre. Par exemple le plugin
teleinfo
va exposer plusieurs valeurs récupérées de mon compteur électrique: consommation instantanée, cumulée, etc...
Exemple de plugins déjà écrits:
Sont:
- des objets qui ont un type (
valeur
,commande
(=action), oulien
vers une autre entité) - chaque entité peut avoir des attributs qui lui sont rattachés.
- chaque entité peut avoir d'autres entités qui sont ses enfants.
Quelques exemples d'entités:
Des catégories d'équipements exposés par Jeedom, qui sont à leur tour exposées dans domonode via un plugin passerelle:
Quelques valeurs exposées par le plugin apcups
qui s'occupe de gérer l'onduleur de ma baie informatique:
Le détail d'une entité valeur
, ici la charge CPU d'un serveur:
Une entité de type script
qui permet d'écrire une commande avec un peu de code javascript: