Homy bêta 0.2 prend en charge Jeedom / NextDom (appli mobile iOS / Android) • Domotique et objets connectés à faire soi-même

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.

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 ?