Mikael, de planet domotique, m’a proposé de tester l’eedomus, une box domotique équivalente à la Vera fabriquée par une entreprise française (cocorico) ConnectedObject. J’ai donc reçu cette petite boîte verte par la poste en fin de semaine dernière.
Il existe déjà un grand nombre de test de cette boite sur des blogs de références :
Ces tests sont très complets et il ne me semble pas utile d’en refaire une Nième version. Je vais donc plutôt essayer de comparer cette boite à la Vera pour orienter votre choix, si vous souhaitez vous équiper en Z-wave, ou pour renouveler un équipement.
Pour faire cette étude je vais prendre 3 axes :
- L’eedomus est-elle capable de me rendre les services de ma box actuelle (la Vera) ?
- A l’usage, cette box est-elle pratique et simple d’accès ?
- Quelles sont ses faiblesses ou les points à améliorer ?
Chacun de ces axes fera l’objet d’un article. débutons avec cette première question : Eedomus = Vera ?
1/ L’eedomus en remplacement de ma Vera ?
Pour faire cette étude, je vais prendre 2 cas d’usages essentiels chez moi :
- La gestion du chauffage
- Les scènes de la vie courante & la gestion de l’éclairage.
1.1/ La gestion du chauffage
L’exemple n’est pas pris au hasard, puisque comme vous le savez sûrement je suis le co-auteur d’un plug-in de thermostat intelligent sur la Vera. Et si vous êtes un lecteur assidu, vous savez peut-être aussi que l’idée de base de se plugin se base justement sur l’algorithme utilisé par l’Eedomus… Donc je n’ai pas trop d’inquiétude sur ce point 🙂
1.1.1/ Différents modes de commandes
J’utilise 2 types de commandes différents pour piloter mes radiateurs :
- Modules On / Off encastrés avec mesure de la consommation : Configuration classique aucun problème.
- Modules en fil pilote : Pour la Vera il y’a besoin d’un petit plugin, ici on utilise un module d’état. Cela nécessite un tout petit peu plus de manip tout en restant très simple (plus d’info ici pour les intéressés).
- Thermostat Horstmann : Je ne l’ai pas testé mais il est bien dans la liste des périphériques supportés
C’est très complet, notre eedomus permet de gérer le chauffage de notre petite maison
1.1.2/ La régulation de température
Voyons comment notre petite boîte s’en sort pour garder notre maison à la température souhaitée :
Le fonctionnement est sensiblement le même avec un bémol, sur l’eedomus les cycles de chauffes durent entre 5 et 10 minutes. Cela a l’avantage du fournir une température plus constante à la pièce avec quand même deux inconvénients : la durée de vie de module qui contrôle (exception faite en fil pilote), l’importance de la position du capteur dans la pièce.
Le pilotage des températures de consigne se fait en fonction du calendrier intégré à l’eedomus. Celui-ci est particulièrement bien pensé : On défini des plages de temps : Levé / Journée / Retour de travail / etc .. Avec un calendrier pour les vacances.
Je pense que c’est pertinent pour 80 % des gens. Chez moi j’ai des emplois du temps tellement variable que ce ne n’est pas toujours adapté mais ce n’est pas grave car il est possible de modifier les règles « standard ». De plus vous pouvez connecter via un peu de bidouille (et un serveur web) vos calendriers Google (plus d’info ici)
1.1.3/ La mesure de la température
Voila un point important pour une bonne gestion du chauffage, la pertinence de la mesure de chauffage.
- Vous allez enfin pouvoir utiliser vos sondes Zwave (un comble ^^), l’eedomus gérant bien les températures décimales (a contrario de la Vera). La plus part des capteurs de mouvement intègre maintenant des capteurs de températures, ou avec les Fibaro et leurs modules gérants des sondes 1-Wire.
- Si vous le souhaitez, vous pourrez aussi ajouter des sondes Oregon : il vous faudra adjoindre un RFXCOM LAN pour pouvoir les lire (plus d’info ici). C’est un peu comme pour la Vera ou il faut ajouter un RFXCOM Usb (même si c’est un peu plus cher : 243€ pour la version LANà la place de 99€ pour son équivalent USB) ou encore utiliser une Zibase ^^
- Température extérieur : L’eedomus fourni une sonde de température extérieure virtuel qui récupère l’information des données météos. Très pratique pour débuter quand on n’as pas de capteur extérieur.
La gestion correcte des sondes Zwave est vraiment un gros plus pour moi.
1.1.4/ Bilan de la gestion du chauffage
Quand on considère que toutes ces fonctionnalités sont offertes « out of the box » sans rien avoir à rajouter (comprendre sans plugin), je trouve l’eedomus particulièrement complète et proche des « cas d’usage réel ». On sent que les équipes derrières pense avant tout à l’utilisation que les gens vont en faire plutôt qu’a la technique pure.
Le tout est très réussi, et parfaitement fonctionnel. La gestion des états et des évènements pouvant être personnalisée à loisir, il est possible de faire quelque chose aux petits oignons sans allez mettre les mains dans le moteur. Il manque quelques fonctions comme l’auto-calibrage qui permet d’ajuster les paramètres automatiquement, mais c’est qu’un peu de développement logiciel après tout.
1.2/ Les scènes de la vie courante & la gestion de l’éclairage.
C’est également une fonction de confort importante pour nous. Cette gestion est composées de plusieurs besoins :
- Extinction de toutes les lampes (et appareils électriques) quand la dernière personne quitte l’appartement
- Extinction des lampes à la detection du retour (s’il fait sombre)
- Allumage des lampes à 30% la nuit pour ne pas éblouirs
- Allumage centralisé des lampes d’une pièce via la gestion des groupes.
- Gestion des volets pour obtenir un meilleur confort thermique
- Allumage / Gestion /Extinction de la TV et des périphériques associés
- Retour utilisateur via les lapins (Eau de la bouilloir, Fin de la machine, etc.)
- Simulateur d’aube
1.2.1/ Commande centralisée.
Aujourd’hui, j’ai un bouton Zwave.me à la porte de sortie qui permet de déclencher une scène passant la maison en mode « Absence ».
Le bouton est bien supporté par l’eedomus donc pas de problème. Il est possible de créer des scènes avec tous nos appareils pour tout couper / passer les thermostats en consigne « Eco ». La ou il existe des limitations c’est pour les appareils non Zwave. Si vous pouvez le commander par HTTP, pas de problème. Par contre mon Sonos lui fonctionne sur une autre techno (WebService). Du coup il n’est pas possible de commander l’arrêt de mes sonos comme je le fais aujourd’hui (ou via un serveur php …).
Idem pour le bouton près de mon lit qui gère le mode « couché ».
1.2.2/ Capteur de mouvement.
Qui a peur du grand méchant Lua aimera bien l’eedomus !! Je m’explique. Un capteur de mouvement c’est bien, mais en fonction de l’état de la maison, l’action a déclencher n’est pas la même.
Chez moi par exemple, En cas de détection de mouvement dans le Salon :
- Si l’alarme est activée : On déclenche l’alarme silencieuse
- Si j’ai des invités (qui couche dans mon salon) : je désactive le capteur.
- Si la maison est en mode couché et que c’est le matin : Déclenchement du scénario d’ouverture des volets, prises commandées, chauffage des tartines (je plaisante (presque ^^))
- Si la maison est en mode couchée et que c’est la nuit : allumage de la lumière à 30% pour ne pas éblouir sur le chemin de la pause technique nocturne
- Si la maison est en mode « Absence » et l’alarme désactivée : Je lance de scénario de retour à la maison
- Sinon : J’allume les lumières s’il fait sombre.
Pour chacun j’ai un scénario à part. Et des conditions qui permettent le déclenchement ou non. Et la avec la Vera, pas le choix … le Lua est votre ami (ou pas).
Un petit exemple :
local heure = tonumber(os.date("%H")) local coucher = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", FlagSommeil) local invite = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", Flaginvite) if ((coucher == "1") and (invite == "0") and (heure > 5 and heure < 16)) then return true else return false end
Trivial non ? ^^
Alors qu’avec la l’eedomus tout peux se faire en mode configuration :
C’est plus simple non ? Ce n’est pas encore parfait, il manque de pouvoir rajouter des parenthèses (il gère les priorités par ordre selon les règles booleen mais ce n’est pas très user friendly quand même). Il manque également le fait de pouvoir mettre des plages horaires (c’est faisable via des flag + Macro mais quand même) … Mais bon rien à voir avec du code quand même.
1.2.3/ Gestion des volets pour obtenir un meilleur confort thermique
De la même façon, pour gagner en confort et en économie d’énergie j’ai mis en place quelques règles :
- Si je ne suis pas chez moi, que la température Extérieur est supérieur à 30°C et que la température Intérieur est inférieur à la température Extérieur alors je baisse les volets (60%) (pour éviter l’effet de serre en été) et je les réouvre quand il fait moins de 28°C
Ce qui donne en Lua :
local Volets = { 32, 39, 40, 41 } local athome = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", 6) local TempExt = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ,ExterieurSo) TempExt= tonumber(TempExt) local TempSalon = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ,SalonSo) TempSalon= tonumber(TempSalon) local function MultipleControle (devices, value) local index for index = 1, #devices, 1 do local device = devices[index] if (device) then luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget" , {newLoadlevelTarget = value}, device) end end end if (athome == "0" and TempExt~=nil and TempSalon~=nil and TempExt > 30 and TempExt > TempSalon ) then MultipleControle (Volets, 60) return true elseif (TempExt~=nil and TempSalon~=nil and TempExt < 28 ) then MultipleControle (Volets, 60) return true else return false end
Ou un autre exemple (plutôt pour l’hiver) :
- Si je ne suis pas la : Ouverture des volets le matin 5 minutes après le levé du soleil (pour profiter de l’effet de serre)
- Si je ne suis pas la ou qu’il fait moins de 15° dehors, : Fermeture des volets 30 minutes après le couché du soleil (pour limiter les pertes thermiques par les fenêtres).
Ce qui en lua donne :
local Volets = { 32, 39, 40, 41 } local athome = luup.variable_get("urn:upnp-org:serviceId:SwitchPower1", "Status", 6) local TempExt = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature" ,97) TempExt= tonumber(TempExt) local function MultipleControle (devices, value) local index for index = 1, #devices, 1 do local device = devices[index] if (device) then luup.call_action("urn:upnp-org:serviceId:SwitchPower1", "SetTarget" , {newTargetValue = value}, device) end end end if (athome == "0" or (TempExt~=nil and TempExt<15 and luup.is_night())) then if (luup.is_night()) then MultipleControle (Volets, 0) else MultipleControle (Volets, 1) end return true else return false end
Vous l’aurez compris, en terme de user friendly de la Vera, on repassera même si cela permet d’aller très loin sur la personnalisation. Voyons voir si l’eedomus sait faire aussi bien sans coding : Oui
Cela nécessite de créer plus de règle mais on peut faire exactement la même chose, par exemple la première règle cela donne :
C’est donc pour moi un gros point fort de l’eedomus 🙂
1.2.4/ Retour utilisateur via les lapins (Eau de la bouilloire, Fin de la machine, etc.)
Cela m’arrivant d’être tête en l’air, j’ai mis en place des retours utilisateurs pour signaler à l’utilisateur les évenements pouvant se produire.
Par exemples quand ma machine à laver a terminé j’ai un message sur mes lapins, et sur prowl. Pour la Vera il existe un plugin (je que suis en train d’améliorer). Avec l’eedomus c’est intégrable via les règles et des flags (comme plus haut).
Le Kartoz est intégré en Natif, on install l’app sur le Karotz, on rentre l’install id et le tour est joué. Par contre, pas de support pour le Nabaztag.
Pour Prowl, vous pouvez créer des requêtes http, la aussi, une intégration en direct sera souhaitable mais cela ferait beaucoup de travail pour les développeurs … Le secret c’est l’ouverture à la communauté ^^ mais nous y reviendrons.
1.2.5/ Simulateur d’Aube.
Lorsque l’on ajoute un module variateur, cela crée également une macro de simulation d’Aube. Cette Macro est activable de manière connexe à la gestion du calendrier intégré à la Box. Bien sur vous pouvez créer une règle personnalisée de manière à déclencher de manière indépendante (pratiques si vous êtes plusieurs dans la maison avec des horaires différents).
1.2.6/ Bilan sur les scènes de la vie courante & la gestion de l’éclairage.
Au final, la gestion des scènes est beaucoup plus poussée et intuitive que sur la Vera. Ici pas besoin de mettre les mains dans le code sans pour autant être limitée dans les choses possibles. C’est donc du tout bon 🙂
Les limitations sont plutôt pour contrôler des éléments qui ne sont pas en Zwave. TV, Sonos, Nabaztag, Prowl, Google Calendar, etc. Il existe bien la possibilité de mettre en place des actionneurs HTTP, ou des requêtes mais cela reste limité et avec un certain nombre de contrainte.
1.3/ Conclusion
Ma première impression de cette box, c’est la puissance de son paramétrage. Sans avoir besoin de développer quoi que ce soit, j’arrive àremplacer (ou presque) tous les usages que je fais de ma Vera aujourd’hui. Usage qui sont possibles sur la Vera au prix de développements spécifiques réalisés moi même ou par d’autres utilisateurs. Alors qu’ici tout est dans la boîte, pas besoin de sortir le tournevis, c’est vraiment bluffant.
Il existe bien sur, des limitations concernant l’intégration de périphériques extérieurs (comprendre non Zwave). Chose qui est compensé par les plugin d’utilisateurs sur la Vera et qui font défaut ici. L’eedomus reste relativement jeune et il est pas exclu qu’un jour, cette possibilité nous soit offerte. Ce jour la je bascule c’est sur ^^.
Dans le prochain article je parlerais un peu plus de l’ergonomie car c’est un point important qui est plutôt très bien réalisé sur cette boîte (faut dire que sur la Vera c’est pas terrible et je vous parle même pas de la Zibase (qui à fait beaucoup de progrès mais bon)).