Présentation + projet serveur domotique sur mesure

Bonjour à tous :slight_smile:

Je passe par la case présentation, je sens que je vais passer beaucoup de temps ici les prochains mois :slight_smile:

J’ai 32 ans, je suis normand et développeur web depuis 12 ans maintenant :innocent:
J’utilise de la domotique grand public (Hue, sonos, prise connecté,… le tout piloté principalement par HomeKit).

Ça fait plusieurs années que j’ai dans l’idée de prendre le contrôle sur ma domotique, le système Apple étant justement trop grand public à mon goût.
Notre déménagement dans notre futur maison d’ici quelques mois m’a donné le déclic.

Après quelques recherches sur les possibilités, je suis parti sur l’idée d’utiliser, sur un raspberry PI, jeedom + application web + homebridge

  • Jeedom parce que ça semble être le plus complet, avec la plus grande communauté, et made in France :clipperton_island: Il servira de HUB entre l’application web, et les différents objets connectés.
  • un serveur web, en local, qui sera le cerveau et consolidera les données de différentes sources ( jeedom, nos agendas, Spotify, météo,…) et pourra contrôler les différents objets en fonction de ces données.
  • une interface web, afin d’afficher toutes les données et agir dessus. Utilisable sur pc, mobile et tablette. Notamment avec une ou deux tablettes aux murs.
  • homebridge : afin de garder la compatibilité avec tous notre environnement Apple et Siri

Je suis conscient que c’est un énorme boulot (mais quand on aime on ne compte pas son temps xD) mais j’y vois plusieurs avantages :

  • une domotique sur mesure avec des scénarios complexes si besoin
  • contrôle total sur mes données
  • une interface sur mesure, j’ai pas trouvé mon bonheur dans mes différentes recherches (je suis sûrement trop pointilleux la dessus)

Je vais essayer d’actualiser ce fil au fur et à mesure de l’avancée de mes réflexions et développement.

Merci d’avance pour votre future aide

2 « J'aime »

Bonjour et bienvenue :slight_smile:
Tes 2 premières lignes la, c’est pareil: jeedom est un serveur web local, qui consolide les données (agenda, météo, pour spotify je sais pas mais ça m’étonnerait pas qu’il existe aussi un plugin)
Doubler le truc ça va doubler ton boulot. Mais ça peut être une sécurité, un 2e serveur pour monitorer jeedom en cas de crash ( un 2e jeedom alors? :smiley: )
bon courage

Merci pour ta réponse.

Oui, plus j’avance dans la découverte de jeedom, plus je me rends compte qu’il fait déjà 90% du boulot que je veux faire. Mais j’ai très peur de la frustration que je vais ressentir quand je serai dans les 10% manquant.
l’API jeedom va me permettre de me faciliter le boulot.
Toi qui est développeur t’as jamais eu de frustration de ne pas pouvoir « mettre les mains dans le code » ?

Bonjour,
Et pourquoi on ne peut pas mettre les mains dans le code ?
Il est ouvert quasi en permanence chez moi :wink:

2 « J'aime »

Héhé, justement parce que je suis développeur, des fois j’aimerais bien que ça marche bien d’un seul clic sans y mettre les mains :slight_smile:
Mais c’est un voeux pieux, comme @Mips j’y met souvent les mains quand même!

2 « J'aime »

Tu peux très facilement programmer dans ou hors jeedom (PP, python…); te créer des fonctions supplémentaires… Modifier le look par du css…
Et nous ajouter des super plugins que l’on se fera une joie de tester :grinning:

Merci à vous pour vos réponses et a tous les sujets que j’ai lu pour m’aider :smiley:

Justement , je suis du genre à devenir fou si une chose ne fonctionne pas exactement selon mon envie, et dans ce cas je préfère y mettre les mains dans le code. :slightly_smiling_face:.

Après quelques jours à tester Jeedom, je suis déja sur que c’est la solution qu’il me faut, il y a un boulot de dingue derrière et des possibilités infinis. ca va bien me changer de Homekit.

Donc je reste sur mon idée de base d’utiliser Jeedom + une application web. Ensuite je verrai quelles fonctionnalités seront gérés par Jeedom, et lesquelles par mon application.

Pour la partie gestion des objets et des données cela restera sur Jeedom, avec des appels API pour les récupérer.

Pour la partie interface je suis pas convaincu par celle que j’ai pu voir sur Jeedom. J’ai une idée très précise de ce que je veux. L’idée sera d’afficher les données de Jeedom + d’autres données sur cette interface qui aura vocation à être affichée et personnalisée dans divers pièces de la maison.

  • Une tablette dans le salon affichant les informations sur les équipements de la maison + les action pertientes selon le moment, les personnes présentes + un plan
  • Une tablette dans la cuisine qui pourra afficher en plus par exemple un timer, des recettes de cuisine,…
  • une version mobile permettant d’acceder aux actions rapides.

Pour la gestion des scénarios c’est encore assez flou pour le moment, faut que je fasse quelques tests sur la gestion des scenarios dans jeedom.

Bonjour à tous,

Après quelques jours de boulot, je suis enfin parvenu à une première ébauche d’interface qui me convient. L’idée étant qu’elle soit la plus simple d’utilisation possible pour ne pas être le seul à la maison à l’utiliser.

Je vous joins une capture ainsi qu’un vidéo montrant les différentes idées

:

Dans les grandes lignes l’interface se décompose en 5 zones :

  • une zone plan affichant l’état de la maison et des occupants, qui sera intéractive, par défaut celui-ci affichera l’ensemble des pièces et les informations essentielles sur celle-ci. L’objectif étant que le plan s’adapte selon le contexte. En allant dans l’onglet cuisine, le plan zoomerai sur la pièce cuisine. En allant sur l’onglet température le plan afficherai les températures dans chaque pièce.
  • Une zone de bouton d’action rapide, permettant d’allumer ou d’eteindre une lumière, de mettre en pause la musique, lancer un scenario,…
  • un dashboard, affichant les informations pertinente sur la maison, la journée, les équipements, qui s’adapterai en fonction du contexte
  • un panneau d’état, qui permet d’avoir une vue détaillée sur un élément précis de la maison (le chauffage, une pièce,…) et d’afficher toutes les informations disponibles
  • et enfin une zone d’option permettant de gérer l’interface, le serveur, ou jeedom. La partie plus technique.

pour que ce soit un peu plus parlant j’ai fait une petite vidéo.

Pour la partie technique j’avance également petit à petit, mais pour l’instant Jeedom fonctionne parfaitement :smiley:
Demain je reçois logiquement ma clé zigbee Combee, je vais enfin pouvoir avancer de ce coté la.

Bonne soirée à tous

1 « J'aime »

Bonjour,

C’est sympa avec le changement de couleur de fond suivant ce qui se passe :+1:

Merci,

La couleur restera fixe dans la version finale, on pourra la changer selon nos envies mais la dans l’exemple ça fait trop guirlande de noël

Bonne soirée

1 « J'aime »

Bonjour à tous

Je viens faire une petite mise à jour maintenant que l’application est fonctionnelle (et qu’on a enfin notre maison :sweat_smile:)

Je suis resté sur mon architecture ou jeedom sert de hub pour l’ensemble de mes objets, et l’ensemble des scenarios et interactions sont gérés directement par mon application. Pour cela j’utilise l’API Jeedom, ainsi que l’URL de push global. Toutes les infos remontent bien dans mon application c’est parfait !

Et une vidéo montrant plus précisement l’état actuel de l’application

L’ensemble des objets sont contrôlables grâce à des widgets (on / off + slider).
Le plan de la maison est interactif et affiche l’état des lumières, des chauffages, du poêle, ainsi que la température, la présence et la luminosité de chaque pièce. Ainsi que la présence de chaque membre du foyer

Il me reste encore beaucoup de boulot mais je suis content de la direction que ça prends pour le moment :slight_smile:

Bravo, bon courage pour la suite, je bosse sur mon design également, je sais ce que cela représente en temps et investissement !

J’ai une autre approche que la navigation par onglets, je suis plus terre à terre avec des tuiles, un format que j’apprécie et qui correspond mieux aux membres de mon foyer aussi :smiling_face::wink:

J’ai créé un fil spécifique pour en parler et poster mon avancement.

Salut,

J’ai été lire ton fil, je m’y retrouve sur plein de points. Je me suis posé aussi beaucoup de questions pour savoir quelle serai la meilleure méthode d’intégration.

J’ai choisi de passer a 100% par les API jeedom, et d’utiliser jeedom uniquement comme un HUB d’échange entre mon application et les différents objets. J’ai l’avantage d’être développeur depuis 15 ans, donc ca ne m’a pas fait plus peur que ça.

Pour le design, j’ai également une partie de la page d’accueil avec des tuiles, mais elles serviront avant tout à afficher des informations, graphiques,… très peu pour des interactions.
J’ai un peu plus de mal avec des design 100% avec des tuiles (comme les windows phone de l’époque par exemple), c’est assez compliqué ensuite de hierarchiser les données. Je veux surtout eviter l’effet « sapin de noêl » que l’on peut retrouver sur certaines interfaces. L’équilibre est compliqué à trouver.

J’ai hate de voir l’intégration de ta tablette une fois totalement terminée :grinning:. J’ai aussi une ancienne tablette affichant constament l’interface (sauf en notre absence), mais elle est simplement posé sur un meuble… c’est mieux que rien

Je vais suivre ton fil, pour voir les évolutions futures. Je vois que je suis pas le seul à me lancer dans ce genre de projet un peu fou, et pas le seul à ne pas avoir assez de temps pour avancer à un rythme correct :smiley: .
Ca fait déja 2 ans que je bosse dessus et j’ai l’impression de pas avancer.

Pour 2024 j’aimerai avoir avancer sur les points suivants :

  • Historiser les données : pour pouvoir par exemple afficher des tendances de température dans les pièces. Je sais que jeedom le fait il faut que je me renseigne si je peux les récupérer par l’API, ou sinon les enregistrer directement au sein de mon appli.

  • Regrouper des widgets : Certaines ampoules, ou chauffages, son toujours allumés et éteintes en même temps (les 3 ampoules du lustre de la cuisine par exemple). Il faut que les 3 widgets de ces ampoules puissent être remplacé par un seul widget

  • activation automatique du mode dodo : Je ne sais pas encore trop comment m’y prendre, mais j’aimerai que la maison puisse detecter quand tout le monde est couché, afin d’activer le mode « dodo », pour éteindre les lumières, baisser les chaufages, fermer les stores, diminuer la luminosité des lumières quand on se reveil au milieu de la nuit,… J’ai essayé un capteur aqara FP2 pour detecter le nombre d’occupant dans la chambre, mais c’est pas concluant pour le moment

  • Gestion des scènes : C’est une fonctionnalité de base de tout système domotique qu’il me manque pour le moment

  • Gestion des thermostats : Pour le moment on peut allumer un à un les radiateurs et le poêle. Il me faut une gestion plus fine de tout cela, dans laquelle je puisse définir des objectifs de température dans certaines pièces selon des conditions (heures, présence,…)

  • Gestion des températures et couleur des ampoules : Pour l’instant je n’ai que l’option ON / OFF et luminosité.

  • Amélioration des widgets : pouvoir gérer les stores, état en chargement, voir lorsqu’un objet ne réponds plus…

  • amélioration du code : Ayant commencé à bosser sur l’application sans trop savoir ou j’allais, il faut que je stabilise mon achitecture pour avoir plus de stabilité. L’objectif final serai de pouvoir un jour la distribuer afin que toute personne intéréssé puisse la réutiliser.

Avec tout ça je sais d’avance que je ne tiendrai pas mes objectifs

Il te faut l’excellent plugin Thermostat (inexistant sur HomeAssistant par exemple…), couplé à une sonde de température dans la pièce à piloter, et un module fil pilote relié au radiateur de la pièce concernée. Ensuite, tu répercutes le principe partout. Tu peux varier les protocoles, l’essentiel est d’avoir la température en (presque) live, le plugin fait le reste :slight_smile: (si tu as une sonde de température extérieure c’est parfait, sinon tu te caleras sur la météo de ton bled…).

Couplé avec le plugin agenda, c’est le combo parfait !

Je crois qu’il y a des furieux ici qui installent un capteur sous le matelat (vibration je pense, ou contact avec le poids…). :joy::sweat_smile::innocent:

Tu peux aussi activer à partir d’un horaire fixe (comme le principe du mode nuit sur le téléphone), c’est sur c’est du coup un peu plus rigide…

J’ai envisagé l’idée :innocent:. Sinon j’ai toujours ma piste de mon capteur aqara FP2, mais c’est pas assez précis pour detecter 2 personnes dans le lit.
Fat que je vois du coté de l’application sleep cycle que l’on utilise en réveil. J’ai vu qu’elle pouvait être intégré à HomeKit.
En attendant un bouton a coté du lit fera l’affaire pour activer le mode dodo :sweat_smile:

C’est clair :smiling_face:
Si tu pilotes déjà tes lumières, tu peux faire un scénario qui détecte le switch off pendant une plage horaire et active le mode nuit… (en l’étoffant avec d’autres conditions pour éviter les faux positifs).

Salut. Sacré boulot que tu as fait, bravo.

Pour le mode dodo, je regarde l’événement allumer ma chambre et je vérifie l’état de la lumière dans le salon, ainsi que l’état de la TV.
En gros, si le salon est éteint et uq la chambre est allumée, c’est que c’est l’heure.
Cela se fait via les scénarios avec comme déclencheur l’état des lampes. Il est possible aussi de vérifier l’heure pour éviter les faux positifs.
J’ai aussi une télécommande prêt du lit qui allume/éteint la lampe, une qui gère les volets, et un bouton pour forcer le mode dodo : tout éteint.

Pour la partie Gestion des températures et couleur des ampoules, j’ai fait un plugin gratuit plugin-naturallight pour gérer cela.
Si tu veux, tu peux aussi pomper le code et le mettre dans un scénario bloc code et l’adapter si tu as des besoins spécifiques :blush:

Et pour Gestion des thermostats: plugin thermostat et plugin agenda sans hésitation.

Super idée :wink: :+1:

Bonjour,

Le frontend est magnifique et surtout, il est WAF !
Je met le fil en favoris, si tu créé un plugin ou si tu partage la source ca m’intéresse grandement !

Super boulot ! :wink: