Homy bêta 0.2 prend en charge Jeedom / NextDom (appli mobile iOS / Android)

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.

Normalement, cette version aurait du être numérotée 0.0.2 mais j’ai préféré opter pour une nouvelle numérotation de version afin de pouvoir inclure des corrections mineurs entre deux mises à jour.

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.

Avant d’aller plus loin, je tiens à préciser que je n’ai aucun lien commercial avec la société Jeedom SAS. Je tiens à remercier l’équipe de Jeedom de m’avoir accordé un accès à tous les plugins officiels ce qui m’a permis de développer et tester plus facilement cette nouvelle version.

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.

 

homy v0.2 jeedom configuration api

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.

Sans adresse IP externe, il sera impossible de piloter et visualiser vos accessoires depuis internet.

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é.

homy v0.2 jeedom lecteur qrcode parametres connexion

 

Ouvrez le plugin App Mobile (dans la catégorie Communication)

homy v0.2 qrcode param connexion

Placez le QC Code dans le carré de reconnaissance optique. C’est terminé !

homy v0.2 lecteur qrcode jeedom

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.

verification dns jeedom ip externe homy

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.

homy v0.2 jeedom nextdom ambilight

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.

 

homy v0.2 jeedom nextdom commandes supplémentaires

 

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

homy v0.2 jeedom scenario commande

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.

homy v0.2 autoriser activation scenario jeedom

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.

homy v0.2 confirmation desactiver scenario jeedom distance

 

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

homy v0.2 jeedom liste scenarios

Cliquer sur Configurer

Et enfin supprimer l’accessoire en bas de la page

homy v0.2 jeedom scenarios supprimer

 

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

homy v0.2 masquer libelle acessoires icones jeedom

Par exemple, voici le widget du brumisateur alphawise pour lequel j’ai attribué des icônes (arbitraires) pour chaque commande

homy v0.2 jeedom libelles brumisateur alphawise

Le même accessoire avec le masquage des libellés activé

homy v0.2 jeedom libelles masques brumisateur alphawise

 

Autres nouveautés et changements de la version 0.2

Nouveaux types de données

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)

homy v0.2 liste accessoires actifs

Cliquer sur Configurer

homy v0.2 configurer accessoire

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.

homy v0.2 envoyer rapport technique

 

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.

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

4
Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
Idaho948

J’ai bien un accès a jeedom en interne mais pas moyen de mettre en place le contact externe. Pourtant j’ai utilisé le scan. Je n’arrive pas a comprendre pourquoi.

Bonsoir.Si vous venez de configurer le plugin officiel, il faut attendre plusieurs dizaines de minutes (le temps que les DNS soient configurés sur le serveur de Jeedom). J’ai rencontré le même problème. Dites moi si ça fonctionne d’ici demain matin, sinon on regardera s’il y a un autre problème de configuration (il faut bien vérifier que les accès aux API sont activés par exemple).

Markfr

Bonjour à vous,
J’ai testé l’application pour piloter ma box Jeedom et je la trouve (déjà !) bien plus pratique que l’appli officielle. Il y a juste que je n’ai pas trouvé comment voir les images de mes caméras.
J’ai également eu le souci de Idaho948 pour l’accès externe (j’utilise un DNS Free), mais le problème s’est résolu aujourd’hui (de lui même ?).
Un grand merci pour le travail effectué. Continuez comme ça 🙂
Bonne journée.

Bonjour Mark et merci beaucoup 🙂
Oui, les caméras arriveront plus tard, ça faisait beaucoup de développement pour un début.
Pour les DNS, il faut souvent attendre 24 à 48 heures pour qu’ils se propagent.

Domotique et objets connectés à faire soi-même