Passerelle Combee II

À la suite de mes mésaventures avec la clé ZiGate, j’ai commandé une clé Combee II.

Etant sous Jeedom j’avais découvert la naissance d’un plugin officiel qui lui est dédié (6 € tout de même, mais en principe les plugins officiels sont mieux maintenus dans la durée que les plugins tiers, encore que parfois Jeedom décide arbitrairement de les abandonner aussi). A première vue j’ai failli suivre bêtement la recommandation du plugin qui consiste à installer la gateway deCONZ / Phoston sur le RPI Jeedom. Puis je me suis ravisé, sans avoir à ce moment-là totalement appréhendé l’affaire, je me suis dit qu’il ne fallait pas tout lier à Jeedom. En fait installer la passerelle à part la rend indépendante puisque de toutes façons le plugin Jeedom n’est qu’un client IP de cette passerelle qu’il interroge localement (127.0.0.1) si elle est installée sur la même machine et via son IP dans le cas contraire. D’une part ça permet de la placer au centre de la maison, et également de la contrôler directement avec d’autres applications en se passant de Jeedom (Alexa par exemple), sachant que Jeedom recevra de toutes façons les retours d’état. Et pour faciliter la chose, plusieurs images SD pour RPI sont proposées sur le site Phoscon (attention de base le client DHCP de ces images ne prend pas la GW, de toutes façons vaut mieux figer l’IP, donc éditer la configuration).

Voilà déjà une chose impossible avec l’approche ZiGate. Ensuite à mon sens il faut oublier l’approche tout Jeedom. Ce qui compte c’est que Jeedom connaisse l’état d’un équipement. En effet, prenons l’exemple d’un interrupteur Ikea qui va allumer une ampoule Philipps. On configure la chose depuis Phoscon de façon très simple, ça fonctionne sans Jeedom mais ça n’empêche pas Jeedom d’agir, par exemple dans le cadre d’un scénario plus évolué. L’idée est que ce qui pourra être géré dans Phoscon déchargera Jeedom. La passerelle Phoscon remplace simplement toutes les passerelles propriétaires (Ikea, Hue, etc..), et Jeedom (ou d’autres solutions domotique) viens s’y connecter en IP via une API.

Un autre avantage est que Phoscon se connecte directement et facilement (et gratuitement) avec Alexa / Google Home, ce qui n’est pas le cas de Jeedom qui nécessite un plugin et un abonnement obligatoire (12 € / an, même après avoir acheté un Service Pack Power Ultimate, moi qui pensait que ça incluait tous les plugins officiels). Et je ne parle même pas des connexions avec IFTTT, qui, si elles permettent pas mal d’interopérabilité, n’en sont pas moins compliquées à maintenir. Donc pour demander à Alexa d’allumer la lumière de la cuisine, autant limiter les intermédiaires, Alexa communiquera avec Phoscon / deCONZ plutôt qu’Alexa (en supposant qu’on ai ajouté Alexa à Jeedom) demande à Jeedom qui lui va demander à Phoscon / deCONZ d’allumer la cuisine…

Mobile

Phoscon ne dispose pas d’application mobile, mais la page est responsive et parfaitement utilisable sur un mobile ou une tablette. Cela étant c’est sans intérêt à l’usage si on lie Phoscon à Alexa ou Google Home car l’application mobile des assistant vocaux sera bien plus ergonomique. Je me disais d’ailleurs que lier Jeedom à Alexa présenterait au moins l’intérêt de disposer d’une interface mobile utilisable, en opposition à celle de Jeedom qui est une calamité. En attendant j’utilise Impérihome qui fonctionnait bien avec Jeedom, mais le plugin vient d’être retiré du Market Jeedom au profit d’une approche Impérihome sans plugin qui ne fonctionne pas. Je n’ai pas l’impression que Jeedom et Impérihome (ex ZiBase / ZiBlue & co.) soient très copains…

Intégration Jeedom

Pour revenir à Phoscon, tout ne semble pas géré dans la passerelle, si on peut créer des scènes et des associations, il y a d’autres équipements, les sondes de température par exemple ou d’ouverture de porte que l’on ne peut pas utiliser directement, mais généralement on n’en a besoin que dans Jeedom.

Le plugin remonte des valeurs propres à chaque équipement, on n’aura pas les classiques infos binaires ou numériques (on/off ouvert/fermé) mais un code numérique propre à chaque équipement. Par exemple une télécommande Ikea va envoyer 1002 si on appuie au centre, il n’y a plus ensuite qu’à traiter directement l’information (scénario, virtuel, etc…) pour créer une action dans Jeedom. En revanche les sondes (températures, humidité, pression) remontent bien les valeurs et sont exploitables directement.

Attention cependant aux capteurs, les Xiaomi, par exemple, ne supportent pas de perdre leurs parents, donc si vous changez de canal Zigbee ou si le maillage passe par une prise Zigbee que vous retirez, il vaudra mieux les réinclure (le maillage peut se voir sur l’application graphique deCONZ). De même il ne faut pas oublier qu'un objet Zigbee ne peut être inclut que une sur passerelle. Ainsi si vous incluez un objet avec Foscon alors qu'il est déjà inclut dans la passerelle Xiaomi, cet objet sortira du réseau géré par la passerelle Xiaomi afin de rejoindre celui géré par la passerelle Foscon.

Conclusion

Au départ j’hésitais à remplacer ma douzaine de sondes Oregon gérés par le RFPlayer (les sondes Oregon perdent leur identifiant lors de chaque changement de piles, il faut donc les appairer à nouveau, ça reste fastidieux, même si c'est prévu par le plugin. Et je passe sur toutes les déconvenues liées au RFPlayer que je ne recommande vraiment pas), par des sondes Xiaomi gérées par la ZiGate, mais comme la solution Combee II + plugin deCONZ fonctionne plutôt bien, je pense me tourner de ce côté rapidement. Je mettrait bien sur à jour cette page pour vous narrer mon expérience…

La Combee II + Phoscon sur un RPI (SD ready) peuvent servir de passerelle universelle Zigbee compatible avec les assistant vocaux et ainsi remplacer les passerelles des constructeurs (Ikea, Hue, etc...). Phoscon comme Jeedom avec le plugin DeCONZ s'appuient sur la couche deCONZ. 

Mise à jour

$ sudo systemctl stop deconz

# Mise à jour de la Combee II
$ wget http://deconz.dresden-elektronik.de/deconz-firmware/deCONZ_ConBeeII_0x26580700.bin.GCF
$ sudo GCFFlasher_internal -d /dev/ttyACM0 -t 60 -f deCONZ_ConBeeII_0x26580700.bin.GCF

# Mise à jour Deconz
$ wget -N http://deconz.dresden-elektronik.de/raspbian/deconz-latest.deb
$ sudo dpkg -i deconz-latest.deb
$ sudo reboot

Bonus

Certains me demandent pourquoi j’utilise des RPI alors que j’ai un gros serveur VMWare ESXi dans le garage, ce qui faciliterait la manipulation des VM et leur sauvegarde. Simplement parce que je considère que la domotique gère des fonctions vitales de la vie courante (chauffage par exemple) et qu’elle ne doit dépendre de rien d’autre. Imaginez, le serveur se plante, il faut réparer le serveur sans chauffage… De plus les clés utilisées pour les divers protocoles ne seraient pas idéalement placées au fond du garage

Sources

 

ZiGate mon amour...

La clé ZiGate permet d’utiliser le protocole Zigbee que l’on retrouve chez Ikea, Philips, Xiaomi et bien d’autres. Je l’utilise depuis ses débuts et ça fonctionne plutôt bien. 

Il y a une semaine, je me suis décidé de passer ma clé de 3.0d en 3.0f dans l’espoir de pouvoir inclure une prise et un inter IKEA. La chose devait être simple. 

Après la mise à jour de 3.0d en 3.0f et un redémarrage du plugin et mise à jour des dépendances, mes équipements sont toujours là mais aucune information ne remonte dans Jeedom, les interrupteurs sont inopérants et il est impossible d’associer quoi que ce soit. J’ai fini par mettre à jour la clé en 3.1a sans plus de succès. 

En désespoir de cause j’ai désinstallé le plugin Zigate pour le réinstaller. Là je peux inclure à nouveau mais plus aucune trace de mes 12 équipements. Donc je me refais les inclusions et les configuration (genre « temperature » à renommer en « Température », etc… cocher ce que je veux voir, changer les widget, bref, passionnant… et perte de temps). Certains capteurs qui fonctionnaient avant ne voulaient plus s’inclure. Résolu en changeant de pile (qui remontait pourtant bien les infos avant hier) et en rapprochant le capteur de la Zigate (On peut donc en déduire que pour associer un équipement vaut mieux que la pile soit en très bon état !). 

Et pour les équipements Ikea, c’est encore moins user friendly, le passage en groupe 0 ça va pour une prise mais pas vraiment exploitable pour plusieurs, ni à la portée de tout le monde. Inutile toutefois de débrancher la clé (comme recommandé sur le site Zigate), on peut passer par le mode terminal du plugin...

Commande : 0x0060
Les donnes à envoyer sont 02ABCD01010000 (ou ABCD est la short adresse de la prise IKEA)

Ensuite on peut associer l’inter livré avec la prise (facultatif) et on peut commander cette prise avec l’inter ou Jeedom, retour d’état compris. Si j’ai tout compris un inter commandera toutes les prises, alors que ces dernières sont adressables individuellement dans Jeedom. Pas réussit avec la télécommande qui semble dédiée aux ampoules suédoises. La solution Ikea / Zigate pour les prises est trop compliquée. Personnellement je recommande les prises Osram que l’on trouve régulièrement à 10 € sur Amazon si on veut absolument du Zigbee.

Cette mésaventure pose tout de même question. On sait tous que c’est du DIY et que ça comporte des risques inhérents à la pratique. Il n’en reste pas moins que les sondes de température relèvent du sensible dans une installation qui gère le chauffage. Donc manips à proscrire en plein hiver ! Il reste le cas de la panne à envisager. 

La clé ZiGate et ses plugins (ZiGate ou Abeille) sont en développement permanent et c’est normal pour du DIY. Dans mon aventure je ne sais pas ce qui a merdé (interaction entre la clé, sa mise à jour et/ou le plugin) ni comment j’aurais pu l’éviter. Que sauvegarder ? La clé contient des infos sur les équipements ? Que faut’ il sauvegarder ? Un petit topo sur les bonnes pratiques serait le bienvenu de la part des auteurs (qui sont certainement déjà bien surchargés…).

Énervé j’ai commandé dans la foulée une clé Combee II, je vais tester sans pour autant être persuadé que ce soit mieux, les deux solutions étant du RE (reverse engineering). A suivre ici...

EDIT 01/11/2019 : Suite à la dernière mise à jour du plugin ZiGate plus rien ne démarrait. J'ai donc retiré les équipement qui lui restaient associés et je les ai associés à la Combee II. Bref, ZiGate, c'est terminé, OFF et débranchée.

 

Jeedom : Temporisation d'un équipement

Vous allez tout savoir. Je ne prends jamais ma douche à la même heure, il est donc impossible de programmer le chauffage de la salle de bain avec un agenda. Mais en général j’anticipe un peu ma douche, je me dis me dis que je vais bientôt aller la prendre car je ne vais pas tarder à sortir. Bref, l’objectif est donc de passer un sèche serviettes en marche forcée, ou en mode confort, pendant une ou deux heures. Certains vont me dire de bouger mon cul et d’aller appuyer sur le bouton idoine du sèche serviettes, et ils auront raison car la majorité de ces appareils en sont équipés, et c’est le cas du mien. Mais l’idée ici est que la démonstration soit générique et s’applique à n’importe quel équipement.

S’il est possible d’utiliser un smartphone ou n’importe quel bouton poussoir reconnu dans Jeedom, pour la démonstration je vais utiliser un gadget que j’ai sous la main, le bouton multiclic de Aquara de Xiaomi qui communique avec Jeedom grâce à la ZiGate et le plugin qui va bien (je dis « qui va bien » pour ne pas réemployer le mot « idoine » car ça ferait deux fois, mais en fait ce plugin ne va pas toujours bien, il s’améliore toutefois de versions en version).

Sur ce bouton on peut récupérer 3 valeurs : 2, 3 ou 4 clics. Pourquoi pas 1 seul ou 5, ne me demandez pas, c’est ainsi ! Donc grâce à un virtuel, je vais récupérer ces 3 états et en faire des informations binaires

Ensuite je vais créer un scénario qui sera provoqué par un évènement sur un de ces 3 états. Si Multiclics=2 je déclenche mon scénario. Il est des plus simples, avec une ACTION qui passe le thermostat de la salle de bain en mode Confort suivi d’un bloc DANS qui le repassera en mode Eco dans 120 minutes. Le bloc DANS étant une commande secondaire qui va s’exécuter dans 120 minutes contrairement à sleep ou wait qui laisserait le scénario actif pendant 120 minutes ce qui consommerait de la CPU à ce que j’ai compris, voire provoquerait une erreur.

Variantes

On peut également associer à cette action la grande vitesse de la VMC, je ne l’ai pas fait car elle est déjà gérée par l’hygrométrie. Par contre je pensais à utiliser les 3 valeurs des clics pour lancer 3 temporisations différentes.