Après plus de 3 semaines de développement et de test, je suis heureux de vous proposer la nouvelle bêta numérotée 0.2 de Homy. La plus grosse nouveauté de cette version est la prise en charge du serveur domotique Jeedom (ou du fork NextDom). Vous avez été 133 à demander l’intégration de Jeedom en priorité depuis le lancement de la première bêta d’Homy. Alors, voilà, c’est chose faite 🙂
La version 0.2 intègre également plusieurs nouveautés sous le capot. Il est maintenant possible de configurer une adresse IP locale qui sera utilisée lorsque votre smartphone (ou tablette) est connecté au réseau WiFi local. Une seconde adresse IP ou un nom de domaine pourra être renseigné. On va voir tout ça en détail dans le reste de l’article.
Sommaire
- 1 Homy prend en charge Jeedom ou NextDom
- 2 Configurer Jeedom
- 3 Paramètres de connexion à Jeedom
- 4 Remplissage automatique des paramètres de connexion (QR Code)
- 5 Autres paramètres de configuration
- 6 Problème de connexion à Jeedom avec l’IP externe
- 7 Peut-on utiliser un autre service DNS
- 8 Adaptation de l’interface par rapport à Domoticz
- 9 Commandes supportées (ou pas)
- 10 Classification automatique des accessoires domotiques
- 11 Affichage des unités
- 12 Scénarios (démarrer, arrêter, activer, désactiver)
- 13 Support des icônes personnalisées, affichage compact sans libellé
- 14 Autres nouveautés et changements de la version 0.2
- 15 Autres modifications
- 16 Modifications des libellés
- 17 2 adresses IP supportées : locale en WiFi, externe en 3G ou 4G
- 18 Autres corrections de bugs
- 19 Au programme de la version 0.3
- 20 Au programme des prochaines versions
- 21 Améliorations demandées et bugs signalés
Homy prend en charge Jeedom ou NextDom
Grosse nouveauté de cette version, c’est donc la prise en charge Jeedom ou de NextDom, un projet totalement Open Source basé sur Jeedom.
Configurer Jeedom
Commencez par vérifier que Jeedom est correctement configuré. Ouvrez le page de configuration et allez sur l’onglet API.
- Activez les accès externes : HTTP, JSON RPC et TTS
- Normalement, une clef API est générée automatiquement. Si ce n’est pas la cas, faites le en cliquant sur l’icône d’actualisation.
Paramètres de connexion à Jeedom
Pour vous connecter à votre serveur Jeedom vous aurez besoin de 3 éléments
- La clé API (vu précédemment) qui permet d’autoriser l’application à utiliser l’interface de communication de Jeedom.
- L’adresse IP locale utilisée pour se connecter sur le réseau WiFi ou Ethernet
- L’adresse IP externe qui permet d’accéder au serveur Jeedom depuis internet. Si vous utilisez le plugin officielle (nécessaire pour l’appli mobile officielle), vous avez déjà ce qu’il vous faut.
Remplissage automatique des paramètres de connexion (QR Code)
Si vous utilisez l’application officielle Jeedom, vous avez déjà utilisé le lecteur de QR Code intégré à l’application. Le lecteur permet simplement de pré-remplir les paramètres de connexion :
- Adresse IP locale utilisée pour se connecter sur le réseau WiFi ou Ethernet
- L’adresse IP externe qui utilise le serveur de la société Jeedom SAS ce qui évite de devoir exposer la box et le serveur domotique à internet (au passage, il n’est à aucune configuration à faire)
- La clé API qui permet d’autoriser l’application à utiliser l’interface de communication de Jeedom
Homy intègre un lecteur de QR Code qui permet de faire exactement la même chose. Les paramètres restent toutefois totalement personnalisables. Pour ouvrir le lecteur de QRCode, il suffit de cliquer sur l’icône située à droite du libellé.
Ouvrez le plugin App Mobile (dans la catégorie Communication)
Placez le QC Code dans le carré de reconnaissance optique. C’est terminé !
Autres paramètres de configuration
Pour tenir compte de toutes les configurations, d’autres options avancées sont disponibles
Port
Par défaut, Jeedom utilise le port 80. Il est possible de l’indiquer directement au niveau de l’adresse IP ou dans le champ dédié (attention ne faites pas les deux).
Forcer l’utilisation de l’IP externe
Cochez cette option pour forcer l’utilisation de l’adresse IP lors du test de connexion. Ensuite, Homy s’occupe de choisir le réseau. La priorité est donnée au WiFi pour économiser le forfait Data et pour obtenir une meilleure réactivité (en attendant la 5G).
Chemin relatif
Il est possible que l’adresse de connexion au serveur Jeedom soit de la forme http://IP_SERVEUR/jeedom/core/api/jeeApi.html. Si tel est le cas, cochez cette option.
Ajout automatique des pièces (objets)
Cochez cette option pour ajouter automatiquement les pièces. Les accessoires seront automatiquement associés à la pièce comme sur le serveur Jeedom. Si vous voulez ranger l’accessoire manuellement, décochez l’option synchroniser la pièce pour chaque accessoire.
Problème de connexion à Jeedom avec l’IP externe
Si vous venez de faire l’acquisition ou que vous venez de configurer le plugin officiel pour l’application mobile, il faut souvent attendre quelques heures avant de pouvoir se connecter depuis Homy à l’aide de l’IP Externe (c’est aussi le cas avec l’appli officielle d’ailleurs).
Il n’y a rien de documenté sur ce point et c’est un peu frustrant.
Pour savoir si votre serveur Jeedom est correctement connecté aux serveurs de la société Jeedom SAS, ouvrez l’onglet Réseaux de la configuration.
Dans la partie inférieure droite, vous trouverez l’URL de connexion dans l’encadré DNS (proxy) Market
Assurez-vous que l’option Utiliser les DNS Jeedom est bien cochée. Le status indique si le serveur est bien connecté aux DNS de Jeedom. Si ce n’est pas le cas, vous pouvez tenter de redémarrer mais le mieux est d’attendre que tout ce fasse automatiquement.
Peut-on utiliser un autre service DNS
Oui, absolument, vous n’êtes pas obligé d’utiliser le plugin officiel. Vous pouvez utiliser n’importe quel autre service. (NoIP, OVH, DynDNS…)
Adaptation de l’interface par rapport à Domoticz
Comme je l’avais expliqué dans l’article précédent, Jeedom utilise un système de commande pour chaque action ou chaque information qui remonte d’un accessoire domotique. Par exemple pour “fabriquer” un interrupteur, on aura besoin de trois commandes :
- Une commande pour l’état ON
- Une commande pour l’état OFF
- Et une commande de type info binaire pour afficher l’état de l’interrupteur
Comme Jeedom utilise un système de plugins, il aurait fallu analyser le code de chaque plugin (ce qui est impossible pour les plugins payant à moins de tous les acheter) et donc de est très difficile de prédire les commandes. J’ai donc opté pour un système d’affichage similaire à Jeedom. Toutes les commandes et les infos sont affichées individuellement.
Cela pouvait devenir rapidement illisible pour les accessoires qui disposent d’un très grand nombre de commandes. Au delà de 6 commandes, un bouton Plus de commandes fait son apparition. En cliquant dessus, un sélecteur permet de choisir dans une liste une autre commande à exécuter. Ici par exemple, on fait apparaître la liste des effets disponibles pour un éclairage Ambilight.
Commandes supportées (ou pas)
Homy supporte toutes les commandes de l’API Jeedom :
- Execution d’une commande
- Changement de valeur (slider). Utilisé par exemple pour régler le volume ou la luminosité d’une ampoule
- Changement de couleur (ampoule ou ruban de LED RGB)
Pour le moment, l’historique n’est pas récupéré par Homy. Il faudra donc continuer à le consulter sur le serveur.
Classification automatique des accessoires domotiques
Jeedom dispose d’un système de catégorisation des états et des type de données, mais il ce système est très rarement utilisé dans par les développeurs des plugins. Il m’a fallu pas mal de temps pour arriver à quelque chose d’homogène. Comme je l’avais annoncé dans l’article précédent, il m’est impossible de tester tous les plugins disponibles. Je me suis donc concentré sur les plugins gratuits et Open Source proposés sur le market NextDom.
Homy analyse donc le generic_type et le logicalId de chaque commande pour en déterminer son type. Cela permet d’afficher automatiquement l’icône correspondante. Vous retrouverez entre parenthèses la clé JSON qui est utilisée pour les objets JSON génériques
- LIGHT: ampoule (bulb)
- POWER ou ENERGY : bouton (onoff)
- FLAP: volet (blinds)
- OPENING: porte (door)
- GB ou BARRIER : (portail)
- GARAGE: (garage)
- HEATING : chauffage (heating)
- THERMOSTAT : (thermostat)
- ALARM ou SIREN: sirène (siren)
- SABOTAGE : sabotage
- FLOOD : fuite, inondation
- TEMPERATURE : (temperature)
- BRIGHTNESS : luminosité (lux)
- UV : indice (uv)
- CO2 : teneur en (co2)
- NOISE : bruit ou niveau de pollution sonore (soundlevel)
- PRESSURE : baromètre ou pression atmosphérique (pressure)
- RAIN: pluie (rain). Peut être le cumul journalier
- WIND_SPEED : vitesse du vent (windspeed)
- WIND_DIRECTION : direction du vent (winddirection)
- VOLTAGE : tension (voltage)
- SMOKE : détecteur de fumées (firealarm)
- LOCK : contact, fermeture (contact)
- HUMIDITY : humidité (humidity)
- PRESENCE : détection de présence ou de mouvement (motionsensor)
- LIGHT_COLOR ou LIGHT_SET_COLOR : ampoules (rgb)
Affichage des unités
Homy ne gère pas l’affichage des unités. Il est très facile de spécifier l’unité pour chaque commande depuis le serveur Jeedom.
Scénarios (démarrer, arrêter, activer, désactiver)
Homy prend en charge les scénarios développés sous Jeedom. Il est possible de réaliser 4 actions :
- Démarrer manuellement (START)
- Arrêter manuellement un scénario en cours d’exécution (STOP)
- Activer ou désactiver un scénario
Pour exécuter ou arrêter un scénario manuellement, il suffit de toucher le libellé de l’état. Jeedom ne propose que deux actions : START / STOP. Homy se contente donc d’inverser l’état avant d’envoyer la commande au serveur.
Jeedom permet de désactiver l’exécution d’un scénario depuis l’API. Par sécurité, il faut cocher une option dans les réglages du connecteur.
Une fois l’option cochée, cliquez sur l’état (activé / désactivé) pour inverser celui-ci. Par sécurité, Homy vous demande de confirmer votre choix pour ne pas impacter votre installation domotique au cas ou le bouton serait touché par inadvertence.
Restrictions sur les scénarios Jeedom, suppression manuellement (coté Homy)
Homy ajoute automatiquement les nouveaux scénarios et actualise l’état d’un scénario déjà existant. Si un scénario est supprimé sur le serveur Jeedom, il faudra le supprimer manuellement directement depuis Homy. Ouvrez le panneau de configuration et ouvrez la liste des scénarios
Cliquer sur Configurer
Et enfin supprimer l’accessoire en bas de la page
Support des icônes personnalisées, affichage compact sans libellé
Certains plugins permettent de personnaliser l’affichage des commandes avec une icône. Toutes les icônes de Jeedom sont supportées par Homy. Il est également possible de masquer le libellé des commandes qui disposent d’une icône. Pour cela, il suffit de cocher l’option dans les paramètres
Par exemple, voici le widget du brumisateur alphawise pour lequel j’ai attribué des icônes (arbitraires) pour chaque commande
Le même accessoire avec le masquage des libellés activé
Autres nouveautés et changements de la version 0.2
2 nouvelles clés à 2 états ont été ajoutées. Vous pouvez les utiliser dans les objets JSON pour vos projets Arduino / ESP32 / ESP8266
- Portail (ou barrière) (fermé / ouvert). Clés disponibles : portail, barrier, gate
- Garage (fermé / ouvert). Clés disponibles : garage
Autres modifications
La luminosité pouvait être récupérée uniquement avec la clé lux. Les clés brightness et luminosite (attention, sans accent) ont été ajoutées.
Modifications des libellés
Les libellés suivants ont été modifiés :
- Détecteurs -> Sécurité
- Motorisation -> Automatisme
- Thermostat -> Confort
2 adresses IP supportées : locale en WiFi, externe en 3G ou 4G
Pour les connecteurs Domoticz HTTP et Jeedom, il est maintenant possible de spécifier deux adresses IP différente. La première sera utilisée lorsque vous êtes connecté à votre réseau WiFi local. La seconde sera utilisée par Homy si la présence d’un réseau 3G ou 4G est détectée. La connexion WiFi est utilisée par défaut dès qu’elle est disponible pour économiser le forfait internet. Il est toutefois possible de forcer l’utilisation de la connexion 3G/4G
Autres corrections de bugs
- Homy ne pouvait pas terminer la configuration d’un connecteur lorsque la connexion WiFi n’était pas disponible. Depuis la version 0.2, Homy utilise la connexion disponible pour tester le connecteur avant de l’enregistrer.
- Corrections des versions intermédiaires 0.2.1 à 0.2.4. Un grand merci à Max, Christophe et Jérome pour les premières remontées de bugs :
- Doublon lors de la création des pièces
- Absence d’affichage des données numériques
- Pas de suppression des scénarios après suppression du connecteur Jeedom
- Mise à jour tardive lors d’un changement d’état d’une commande
Au programme de la version 0.3
Maintenant que Jeedom est intégré à Homy, je vais me consacrer à la rédaction des tutoriels qui seront disponibles à la fois sur le blog et depuis l’application. Vous trouverez également une communauté d’échange sur le forum pour partager vos expériences et difficultés techniques.
Cette version intégrera également toutes les modifications et les corrections de bugs qui ne vont pas manquer d’apparaître dans les prochains jours au fur et à mesure que vous allez tester Homy en situation réelle.
Pour cela, je vous conseille de m’envoyer le rapport technique de l’accessoire concerné. Depuis la page de configuration, ouvrez la liste des accessoires (actifs, nouveaux ou oubliés)
Cliquer sur Configurer
En bas de la page, cliquer sur Signaler un problème avec cet accessoire pour envoyer par email les données techniques qui me permettront de reproduire le problème. Aucune donnée confidentielle n’est envoyée par email. Vous pouvez consulter les données envoyées avant d’expédier l’email.
Au programme des prochaines versions
Les prochaines versions devraient apporter deux nouveautés importantes.
La première concerne Jeedom avec la possibilité de se connecter au serveur via le plugin jMQTT développé par Domotruc. Il m’a contacté en décembre pour me proposer d’adapter son plugin à Homy. Le plugin jMQTT permet d’accéder à l’interface JSON RPC de Jeedom à l’aide de message MQTT. Domotruc propose d’ajouter une seconde connexion. La première locale permettra de piloter et récupérer les données des accessoires. La seconde permettra de se connecter à un broker distant (par exemple cloudMQTT ou un serveur privé) sur lequel Homy viendra se brancher.
La seconde nouveauté concerne la prise en charge de Gladys Assistant, une autre solution domotique qui dispose d’une grande communauté francophone.
Améliorations demandées et bugs signalés
Je note ici toutes vos remarques et retours d’expériences
- Indiquer l’état par une couleur (allumé / éteint – ouvert / fermé)
- Actualiser plus rapidement un changement d’état
- Erreur de libellé des unités : tension au lieu de courant (oups)
- Pas d’affichage de l’humidité d’un accessoire Xiaomi Home
Problèmes
- Problème d’actualisation des accessoires. Sur certains appareils, l’affichage des accessoires semble poser problème, l’écran reste blanc malgré l’actualisation forcée.
Avez-vous aimé cet article ?