Après plusieurs mois de silence, je suis heureux de vous proposer Homy, une application mobile fonctionnant sous iOS et Android permettant de piloter des objets connectés développés à base d’Arduino, ESP8266, ESP32 ou un serveur domotique DIY depuis un smartphone même en dehors de votre domicile.
Pour le moment, je me suis concentré sur Domoticz mais d’autres serveurs seront ajoutés ultérieurement. Il fallait bien lui donner un nom à cette application, je vous propose Homy, la contraction de Home et DIY :D. Homy arrive juste à temps pour noël. Pour tous ceux qui trouverons un kit débutant Arduino / Raspberry Pi sous le sapin, voilà de quoi vous amuser un peu plus pendant les vacances xD.
J’en profite également pour vous dévoiler l’icône de l’application. Rien de bien original pour la version bêta. Si vous avez de meilleures idées, je suis preneur.
Sommaire
- 1 Pourquoi Homy ?
- 2 Avec quoi Homy est-il compatible dans la version bêta ?
- 3 Comment fonctionne le coeur de Homy ?
- 4 Aucun serveur intermédiaire obligatoire, vos données restent privées !
- 5 Connecteurs
- 6 Que peut-on faire avec la version bêta d’Homy ?
- 7 Organisation par lieu
- 8 Organisation par catégorie
- 9 Tous les accessoires
- 10 Comment contribuer à Homy ?
- 11 Données personnelles et vie privée
- 12 L’appli Homy est-t-elle gratuite ?
- 13 Tester Homy sur iOS ou Android (smartphone ou tablette)
- 14 Roadmap
Pourquoi Homy ?
Depuis que je travaille sur le blog Projets DIY, j’ai toujours été frustré de ne pas pouvoir (facilement) piloter ou communiquer depuis mon téléphone avec les projets proposés. Il y a bien des applis qui sont spécialisées dans le domaine, mais c’est un peu le problème, elles sont (trop) spécialisées.
Blynk ou Cayenne que l’on a pu utiliser l’année dernière dans plusieurs projets se concentrent sur les projets Arduino / ESP8266 et nécessitent l’emploi de librairies dédiées.
On trouve des applications qui savent très bien se connecter et piloter des serveurs domotiques DIY mais bien souvent elles sont limitées à un ou deux serveurs. C’est par exemple l’appli officielle pour Jeedom, Pilot pour Domoticz. Quant aux applications généralistes (ImperiHome, Yonomi, Yeti), le plus souvent, elles sont payantes ou ne prennent en charge que les produits commerciaux (ampoules Philips Hue, Amazon Echo, Belkin Wemo, Google Home, thermostats Nest, enceintes Sonos…)
Homy aura donc pour mission de nous permettre d’exploiter les accessoires domotiques et objets connectés développés à partir de solutions Open Source. Arduino, ESP32, ESP8266, serveurs domotiques DIY…
Avec quoi Homy est-il compatible dans la version bêta ?
Même si j’ai de grandes ambitions à long terme pour Homy, il fallait bien commencer par jeter les bases de l’application. Pour la version bêta, je me suis concentré sur la prise en charge de Domoticz ainsi que sur le protocole MQTT.
Et vous, quel logiciel domotique Open Source (ou pas) utilisez-vous ?Poll Options are limited because JavaScript is disabled in your browser.
Homy est capable de communiquer de deux façons avec Domoticz :
- Via l’API standard HTTP et si vous l’avez activé (fortement conseillé) en HTTPS
- Via l’API JSON en utilisant le protocole MQTT.
La plupart des équipements* de Domoticz sont supportés :
- Lampes et interrupteurs (light/switch)
- Sélecteur à plusieurs positions (selector)
- Ampoules à LED de couleur avec variateur d’intensité lumineuse (dimmer) de type RGB. Les autres types (RGBW, RGBWWZ, RBGWZ)sont partiellement supportés. Uniquement la couleur, la luminosité
- Boutons poussoir (push button)
- Interrupteur (switch)
- Variateur de lumière (dimmer)
- Capteurs
- Capteur générique (custom sensor)
- Pluie (rain)
- Poids ou échelle (weight)
- Humidité du feuillage (leafwetness)
- Contacteur de fermeture de porte ou fenêtre ou serrure connectée (types door, contact, doorlock)
- Sonnette (doorbell)
- Luminosité (lux)
- UV (uv)
- Compteurs incrémental (counter, rfxmeter)
- Relevé de puissance électrique (kwh) et relevé de gaz (gas)
- Courant électrique (current)
- Point de rosée (dewpoint)
- Humidité du sol (soil moisture)
- Radiations solaires (solar radiation)
- Pollution sonore (sound level)
- Distance (distance)
- Température (temperature)
- Humidité (humidity)
- Baromètre ou pression atmosphérique (barometer)
- Débit d’eau (water flow)
- Visibilité (visibility) ?
- Vitesse du vent (wind speed)
- Direction du vent (wind direction)
- Qualité de l’air représentée uniquement par la teneur en CO2 dans l’atmosphère avec Domoticz
- Détecteur de mouvement (motion sensor)
- Détecteur de fumées (smoke sensor)
- Actionneurs
- Alerte avec niveau et publication d’un message (alert)
- Sirène à la norme X10 (x10siren, vieille norme domotique)
- Volets motorisés (blinds) avec différentes variantes
- Tout ou rien
- Avec niveau d’ouverture réglable
- Store vénitien (Venetian blinds EU) et US
- Avec les variantes inversées
- Afficheur textuel
- Consigne thermostat (setpoint)
(*) Attention, ce sont les équipements internes de Domoticz, ce qui n’a rien à voir avec les produits commerciaux supportés.
Pour vos projets et objets connectés DIY, Homy prend en charge les objets JSON (la documentation détaillée est en cours de rédaction). Par exemple, si vous développez une sonde de température, il suffira par exemple de publier un message contenant les mesures sous la forme d’un objet JSON
{ temperature : 22, humidity: 66.4}
Le connecteur MQTT est également en mesure de détecter automatiquement les messages envoyés par le firmware Tasmota* très employé pour hacker les produits du fabricant Sonoff. Pour le moment, les commandes Power On/Off ainsi que les capteurs suivants sont supportés :
- SHT30 (température et humidité)
- BMP180, BMP280
- DHT11 et DHT22 (température et humidité)
- AM312 (équivalent du DHT22)
- MHZ19 (teneur en CO2)
- HC-SR04 (mesure de distance)
(*) Attention, sur la Wemos d1 mini, le shield DHT11/DHT22 semble incompatible avec les shields I2C. Aucune broche n’est partagée mais la lecture des données sur le bus I2C ne fonctionne pas malgré tout.
Comment fonctionne le coeur de Homy ?
Le coeur de Homy se charge d’interpréter les messages entrant pour les convertir en objets universels (enfin du point de vue de Homy bien évidemment). De cette façon, allumer une ampoule à l’aide de Domoticz ou d’un shield relai Wemos, ce sera exactement la même chose.
Aucun serveur intermédiaire obligatoire, vos données restent privées !
Ce qui me dérange toujours avec les solutions commerciales, c’est la nécessité de passer par un serveur intermédiaire situé quelque part… Avec Homy, nul besoin d’un serveur intermédiaire. Vous pouvez vous connecter directement à votre box domotique et même directement à un ESP8266. Il vous suffira d’exposer votre serveur domotique à internet en configurant votre box internet.
Je vous déconseille toutefois d’exposer vos équipements à internet. Le mieux est de passer par un serveur intermédiaire. Oui, c’est contradictoire avec ce que je viens d’écrire, mais donner un accès à votre Raspberry Pi depuis internet peut aussi donner un accès à une personne malveillante.
Comme nous ne sommes pas tous des professionnels en sécurité informatique, il est plus prudent de passer par un serveur MQTT en ligne.
Il en existe plusieurs dont certains proposent des offres gratuites. cloudMQTT est le plus connu. L’offre gratuite est limitée à 5 connexions simultanées mais c’est largement suffisant pour un usage personnel :
- Une connexion pour le serveur domotique.
- Si vous avez une flotte d’accessoires à base d’ESP8266, vous pouvez par exemple installer un broker local et renvoyer tous les messages entrants à l’aide d’un flow Node-RED vers cloudMQTT. Une seule connexion sera nécessaire pour vos objets connectés
- Une connexion pour un smartphone
- Eventuellement une seconde connexion depuis un autre smartphone
- Une dernière connexion pour un dashboard mural ou une tablette
cloudMQTT s’étant conformé à la directive Européenne GDPR, la confidentialité de vos données est garantie. Vous pouvez même aller plus loin en passant le paramètre de rétention à faux pour qu’aucun message ne soit sauvegardé sur le serveur MQTT intermédiaire.
Connecteurs
Pour se connecter aux systèmes domotiques, vous aurez à configurer un connecteur. C’est une page de configuration qui permet de saisir les paramètres d’authentification. Ici par exemple, la page de configuration pour un serveur Domoticz.
Connecteur HTTP ou HTTPS à Domoticz
Homy doit périodiquement se connecter au serveur pour actualiser les affichages. Pour éviter de drainer la batterie du smartphone, le nombre de connecteur a donc été limité. Ainsi dans la première version il est possible de configurer jusqu’à 2 connecteurs MQTT et 2 connecteurs Domoticz.
Si les performances sont au rendez-vous, la limite pourra être relevée même si cela semble superflu.
Que peut-on faire avec la version bêta d’Homy ?
La première version d’Homy est donc compatible avec Domoticz (via l’interface HTTP ou MQTT), le firmware Tasmota (les principaux capteurs sont déjà supportés) et les messages génériques au format JSON envoyé en MQTT.
Les accessoires sont organisés de façons logiques pour un accès immédiat aux informations et aux commandes. On y accède par un système d’onglet en bas de l’application
- Lieux
- Favoris
- Catégories
- Tous les accessoires
- Scènes Domoticz
Organisation par lieu
Le premier onglet permet de regrouper les accessoires par lieu et par pièce. Vous pouvez créer autant de pièces et de lieu que vous en avez besoin.
Certaines informations sont mises en avant. Par exemple dans le salon, on dispose d’une sonde d’ambiance dont les mesures apparaissent dans l’entête. A n’importe quel moment, vous pouvez afficher les accessoires sous la forme d’une grille ou d’une liste.
Organisation par catégorie
Homy se charge d’attribuer automatiquement une catégorie à chaque accessoire. Par exemple, une ampoule RGB sera automatiquement classée dans la catégories éclairages.
En fonction de la catégorie ouverte, certaines commandes groupées sont disponibles. Par exemple, il est possible d’éteindre ou d’allumer tous les éclairages en une seule fois.
Même principe, on appuyant 2 secondes on accède aux commandes détaillées de l’accessoire. Pour cette ampoule RGB, on pourra choisir une autre couleur parmi les couleurs pré-configurées et changer la luminosité.
S’il est disponible, l’historique est affiché.
Si la catégorie attribuée automatiquement est mauvaise, il est possible de la modifier depuis le panneau de configuration de l’accessoire accessible à l’aide de la roue crantée. Le bouton Auto permet de ré-attribuer la catégorie trouvée initialement par Homy. C’est également ici que vous pourrez modifier le lieu et la pièce.
Tous les accessoires
Cette page regroupe la totalité des accessoires connectés à Homy. Vous pouvez faire une recherche sur le libellé ou filtrer un type d’accessoire en particulier.
Bien sûr, c’est une présentation très rapide des fonctionnalités proposées par Homy. Je vous laisse les découvrir par vous même :D.
Comment contribuer à Homy ?
Le code source d’Homy n’est pas Open Source pour le moment. Il faudrait pour cela qu’il soit suffisamment documenté et il y a encore trop à faire. Publier le code source sur GitHub impose également d’être en mesure de gérer les modifications d’autres développeurs et je manque de temps et d’expérience dans le domaine.
Dans un tel développement, ce qui prend beaucoup de temps et coûte le plus chère, ce sont les tests. Impossible pour moi d’acheter tous les accessoires du marché. C’est là que vous pouvez contribuer à Homy en testant avec vos matériels et en m’envoyant vos retours d’expériences.
C’est la raison pour laquelle, les prochaines versions majeures seront proposées sous la forme d’une bêta publique à laquelle vous pouvez vous inscrire (et vous désinscrire) à n’importe quel moment. Les liens se trouvent en bas de page.
Vous pouvez également contribuer à Homy sur tous les autres aspects du projet :
- Tester les fonctionnalités et signaler des bugs (affichage incorrect, commandes erronées ou non envoyées…). Pour signaler un bug, utilisez la page GitHub créée à cet effet.
- Partager votre retour d’expérience en indiquant les accessoires compatibles (ou non) avec Homy. Rendez-vous sur cette page dédiée.
- Traduire l’interface. Pour le moment Homy n’est disponible qu’en français et anglais
- Faire un don de matériel que vous n’utilisez plus. Contactez moi par email pour recevoir mon adresse postale
- Faire un don d’argent ce qui permettra d’acheter plus de matériel. Vous pouvez également contribuer à l’achat d’un accessoire (Kit Philips Hue, Ampoule Lifx, Amazon Echo Dot…) en vous rendant sur la plateforme de financement participative Tipeee.
[paypal-donation] |
Données personnelles et vie privée
Tout ce que vous ferez avec Homy restera dans Homy ! Vos données (état des accessoires, nom des lieux et équipements, mesures des capteurs…) restent dans Homy et vos serveurs (locaux ou en en ligne).
Homy n’intègre aucun système d’analyse. Inutile pour moi de savoir quelle est la fonction la plus utilisée d’Homy. Il y a d’autres moyens pour me le dire, comme simplement utiliser un questionnaire comme celui-ci 😀
Quelles fonctions attendez-vous d’une appli domotique sur smartphone ?Poll Options are limited because JavaScript is disabled in your browser.
L’appli Homy est-t-elle gratuite ?
Oui, l’application Homy est totalement gratuite. Temps qu’aucune infrastructure n’est nécessaire pour faire fonctionner Homy, il n’y aura aucune publicité ni de fonctions payantes.
Pour m’aider à financer l’achat de matériels, vous pouvez tout simplement suivre les liens pour acheter vos matériels depuis le blog. Les quelques pourcents du montant de vos achats reversés me permettent d’acheter le matériel pour les prochains développements et tutoriels. Des tutoriels d’aide seront également progressivement intégrés à Homy.
Pour moi, la plus belle façon de m’aider serait de développer une grande communauté autour d’Homy.
Tester Homy sur iOS ou Android (smartphone ou tablette)
La version bêta numérotée 0.0.1 est disponible dès aujourd’hui sur l’Apple Store et le Google Play en français et en anglais. Elle fonctionne sur smartphone mais également sur tablette avec un affichage optimisé pour un écran plus large.
Sur iOS, vous devrez au préalable installer l’application TestFlight. Bien sûr, vous pouvez vous désinscrire à n’importe quel moment du programme depuis l’application TestFlight.
Roadmap
Maintenant que Homy est lancé, voici comment je pense poursuivre les développements
- Finaliser la standardisation des clés pour les JSON génériques (code Arduino)
- Finaliser l’intégration des firmwares Espurna (tout reste à faire) et Tasmota
- Ajouter les raccourcis Siri sur iOS
- Intégrer le support des caméras
- Ajouter le support pour les accessoires radio (Sonoff RF Bridge, MySensors, RFLink…).
Si toutefois vous souhaitez modifier l’ordre ou ajouter d’autres fonctionnalités, vous pouvez les suggérer en utilisant ce questionnaire ou en utilisant les commentaires en dessous de l’article.
Quelle(s) nouvelle(s) fonctionnalité(s) souhaiteriez vous avoir dans Homy ?Poll Options are limited because JavaScript is disabled in your browser.
J’espère que vous apprécierais Homy et qu’il répondra à vos besoins. Dans le prochaines semaines, vous trouverez la documentation technique et des tutoriels pour développer des objets connectés compatibles dans la nouvelle section dédiée à Homy.
|
Avez-vous aimé cet article ?