bocloo Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Possesseur essentiellement de box 2 fibaro HC2 sur deux sites différents pour la gestion domotique. Et d'une box Zibase pour la collecte des données d'une quinzaine de sondes Oregon. Mon besoin, c'est de disposer d'un vrai tableau de bord permettant de comparer et d'analyser toutes les données gérées par les diverses box. Et de pouvoir comparer diverses données entre elles : Exemples : * Météos extérieures observées par rapport aux prévisions météos fournies par diverses sites. * Météos extérieures par rapport aux températures de chaque pièce * Comparaisons historiques * Suivi des consommations diverses * etc... Cela passera donc par un stockage le plus exhaustif possible et sur la durée la plus importante possible, des données collectées par les box. A suivre... Citer
Lazer Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Bienvenue par ici. Je t'invite à regarde ce sujet, ça me semble être un début de réponse à ton besoin : Graph De Température, Humidité, Consommation...sur Nas Citer
bocloo Posté(e) le 25 juillet 2014 Auteur Signaler Posté(e) le 25 juillet 2014 Merci Lazer. J'ai vu cet article. J'ai déployé le zip sur un Wampserver. J'ai créé la base et les tables. Je vais configurer la partie HC2 demain et Je ferai le test. L'idée serait de l'héberger chez un fournisseur externe, pour centraliser les données des 2 box fibaros et éventuellement transférer les données des Zibases sous forme de sondes virtuelles, si possible. J'ai une autre piste de travail qui consiste à collecter toutes les données brutes de tous les capteurs, à les centraliser dans une base mysql. Puis à faire un push régulier vers les outils de restitution comme le script ci-dessus et vers d'autres services en lignes Ce qui permettrait de gérer du volume dans le temps. A suivre... Citer
Lazer Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Chez moi, ça tourne justement chez un fournisseur externe, en l’occurrence il s'agit un hébergement mutualisé OVH. Je n'ai jamais pris le temps de migrer toutes les données vers mon serveur @home. Mais j'ai encore quelques trucs à régler avant (finalisation du réseau, sécurisation sur onduleur, etc...). Pourtant ça serait bien utile, aujourd'hui encore j'ai eu une coupure de 2h sans Internet en journée, je m'en suis rendu compte car il y avait un trou de 2h dans les graphs ! Pour les sondes virtuelles Zibase, la technique a déjà évoquée sur le forum, il faut stocker les valeurs dans des variables globales dans la HC2, et modifier légèrement mes scripts pour envoyer ces données vers la base de données. Si tu as besoin d'aide, pose les questions sur le sujet que j'ai linké. En ce qui concerne les outils en ligne, je n'ai personnellement aucune confiance dans la pérennité des données. Le fournisseur peut décider d'arrêter le service du jour au lendemain pour X ou Y raisons. Avec mon outil, enfin surtout avec la base MySQL, si tu as de la place il est assez facile de stocker une quantité de données virtuellement illimitée (j'ai déjà travaillé avec des bases MySQL de quelques Go qui sans optimisation particulière, donc on doit pouvoir aller beaucoup plus loin avec le tunning adéquat). Citer
bocloo Posté(e) le 25 juillet 2014 Auteur Signaler Posté(e) le 25 juillet 2014 J'ai un compte chez OVH et 1and1. Je vais essayer dans les jours qui viennent. Pour la collecte des données, j'ai également eu un souci en début de semaine, pendant une journée entière, sans internet. Donc la solution que j'imagine, c'est d'avoir sur chaque site, la possibilité de collecter toutes les données. Puis de les synchroniser en local ou à distance. Puis ensuite de les publier (avec sauvegarde préalable bien sà»r). Ce qui me permet indéfiniment, si un fournisseur arrête ses services ou met en place un tarif élevé, de ne pas en être dépendant. Concernant les sondes Oregon sur Zibase, je récupère toutes les 15mn, les données de températures et le fichier sensors.xml que je stocke. Idem pour les données de consommation venant de OWL et bientôt de eco-devices. Et Idem aussi pour les netatmo sur chaque site, et les prévisions météo de Wunderground. Plus quelques gadgets de fitness (fitbit, withing, etc...) J'ai des données depuis 1999, sous forme csv, json, xml, sql, etc... Il faut que je trouve le temps de consolider tout ça. C'est aussi pour ça que je ne veux pas dépendre d'un fournisseur ou d'une box. Et c'est aussi pour ça que je préfère que les parties stockage, représentation et analyse des données soit distinctes des possibilités offertes par les box. MySQL semble effectivement être une bonne solution puisque son moteur tourne sur toutes sortes de systèmes d'exploitation. J'ai d'ailleurs une partie de mes données sous SQL server et je vais les mettre sous MySQL, pour la portabilité. Citer
Lazer Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Ah c'est marrant le système de collecte locale 'tampon". J'ai mis en place ce système au boulot pour du monitoring de serveurs (permettant de gérer le cas où le serveur de monitoring qui a la base SQL serait indisponible pendant un certain temps). Je n'ai pas mis ça en place pour mon outil de graph car ça complexifie pas mal les scripts, et ça fait un peu too much pour notre usage domotique. Mais l'idée reste excellente. Tu vas t'amuser pour la consolidation des données. J'espère que tu maitrises les index dans les bases de données, sinon les perfs vont dégringoler très vite. Dernier point, dans mon outil, par défaut je conserve 3 semaines de données précises (c'est à dire échantillonnage chaque minute), et j'archive les valeurs MIN/AVG/MAX de chaque journée dans des tables quotidiennes. Ca me permet de conserver les données longtemps, mais avec un intervalle d’échantillonnage de 24h). On peut de façon similaire faire des tables mensuelles, annuelles, etc.... pour la très longue durée. Le seuil actuel de 3 semaines est facilement modifiable si tu veux conserver une meilleur précision plus longtemps. Citer
bocloo Posté(e) le 25 juillet 2014 Auteur Signaler Posté(e) le 25 juillet 2014 La collecte tampon me semble indispensable. Je croix généralement que les box commencent offrir des possibilités sympas pour la gestion quotidienne. Mais j'ai un vrai besoin de pérennité de mes données. Car je me suis amusé il y a 2 ans à chercher des corrélations et ça m'a fait découvrir que la façon de gérer le chauffage hors gel ou même de chauffer automatiquement certaines pièces (même à 17 degrés) quand on pense rentrer en fin de semaine après 1 semaine ou 2 d'absence n'est pas performante. Il est plus intéressant de remonter la température de certaines pièces, à distance, quelques heures avant de prendre la route de retour. En fonction du taux d'ensoleillement de la journée, même l'hivers, il n'y a même pas besoin d'allumer certains chauffages. Donc en faisant le minimum de conso électrique (par défaut) et en gérant uniquement les cas d'alerte de température basse (ou haute) dans les pièces, on a réduit la facture EDF de 700 euros par an Pour la conso des données, je n'ai pas de problèmes avec les bases de données (à la fois l'optimisation et éventuellement des procédures stockées pour corriger les relevés). Il me faut "juste" trouver le temps. Par exemple, quand j'ai des trous dans les relevés, je veux quand même avoir des données linéarisées en récupérant par exemple la température extérieure (fournie dans les historiques de wunderground) multiplié par un conefficent et reconstituer pour chaque heure, les données manquantes par exemple. Ca va être "amusant". Ton outil m'intéresse, car je vais probablement conserver son fonctionnement tel que décrit et plus tard, à l'occasion, mettre en place des tables de cumuls mensuels et annuels et les alimenter en direct avec mes données historiques Citer
bocloo Posté(e) le 26 juillet 2014 Auteur Signaler Posté(e) le 26 juillet 2014 J'ai importé le module virtuel, puis le scénario associé. Adaptations faites et ça fonctionne nickel. Merci Lazer. Il ne me reste plus qu'à héberger la base associée chez OVH pour pouvoir intégrer la deuxième box HC2, et finaliser mes tests. Bonne journée Citer
Lazer Posté(e) le 26 juillet 2014 Signaler Posté(e) le 26 juillet 2014 Je suis content que les graphs fonctionnent Tes remarques sur la gestion du chauffage sont très intéressantes, car c'est justement un de mes objectifs principal avec cet outil. Mais comme je ne collecte les données que depuis décembre 2013, je n'ai pas encore beaucoup d'historique. Citer
bocloo Posté(e) le 27 juillet 2014 Auteur Signaler Posté(e) le 27 juillet 2014 Hello Lazer, Pour te faire un feed-back. J'ai installé cette semaine un wampserver avec les versions suivantes Version Apache: 2.4.9 - Documentation Version de PHP: 5.5.12 - Documentation Server Software: Apache/2.4.9 (Win32) PHP/5.5.12 Version de MySQL: 5.6.1Page d'admin Je me suis rendu compte que la page d'admin ne s'affichait pas. Contrairement à un hébergement externe, où la page d'admin s'affiche correctement. J'ai soupçonné un problème de script lié à la version. J'ai ouvert le fichier admin.php et je me suis rendu compte que les balises <?php> étaient mal formées. Après correction des balises, la page s'affiche correctement. Et pour le coup, tous les capteurs étaient listés mais désactivés et sans couleur. J'ai tout activé et mis des couleurs. Les flags et les codes couleurs sont bien stockés dans la table des devices mais depuis, plus rien ne s'affiche sur les graphs (page noire). Coincidence ? Je vais chercher..... Une Idée d'évolution possible : Pour ceux qui ont la chance (ou le besoin) d'avoir 2 HC2 comme moi, il faudrait mettre en place, soit une colonne lieu, ou alors des tranches de numéros de devices (exemple id+1000, id+2000, etc...) en fonction du lieu. Ce qui permettrait de stocker les données dans les même base. Et d'avoir des graphs consolidés. Car le souci, est que les id des devices sont les mêmes pour chaque box HC2. J'ai pour l'instant un contournement que je mettrai en place le week-end prochain, je vais modifier les scripts lua, pour poster directement des tranches différentes par chaque box. Mais l'idée d'une colonne différente gérée par le script php serait meilleure, surtout si elle était associée à une option de sélection sur les graphiques. Analyse des données : Tant qu'on a les données brutes historisées, on peut faire ensuite beaucoup de choses. On en reparlera, je crois. J'ai une série d'idées sur le sujet. C'est aussi en partie mon métier. Pour l'instant, si j'arrive à dégager du temps, j'avancerai sur le lissage des données (pour combler les trous en cas de coupure dans la collecte). Et sur la génération de capteurs virtuels des corrélations. Il y a de quoi s'amuser. A suivre... Citer
Lazer Posté(e) le 27 juillet 2014 Signaler Posté(e) le 27 juillet 2014 Oui je code généralement en mettant les balises PHP raccourcies. Tu as surement rencontré ce problème car il faut mettre le paramètre short_open_tag=On dans le fichier php.ini. Chez les hébergeurs, c'est souvent (toujours?) positionné par défaut, mais pas forcément sur les installation at home. Quelqu'un d'autre ici a déjà eu ce souci et en avait parlé sur le forum je crois. En ce qui concerne toutes les évolutions : - tu devrais remettre toutes tes suggestions sur le topic dédié, ça serait plus simple pour suivre les évolutions de l'outil, et ça intéressera les autres forumeurs, car je pense que peut de monde traine dans cette section. - honnêtement, c'est l'été, donc le week-end je suis souvent dehors, en ce moment j'ai pas mal de boulot de semaine, et c'est bientôt les vacances. Donc tout ça pour dire que je n'avance pas du tout sur les développements en ce moment, et je reprendrai surement d'ici l'automne. - tes contributions sont intéressantes, si tu peux partager ce que tu auras produit, on pourra essayer de les intégrer dans l'outil. Citer
Messages recommandés