VOUS ÊTES ICI: Accueil » Blog » Domotique » Eedomus » [MAJ] Interface graphique des consommations et températures pour l’Eedomus v2
Eedomus

[MAJ] Interface graphique des consommations et températures pour l’Eedomus v2

Bonjour à tous,

Me revoilà avec une nouvelle version de mon application pour suivre la consommation électrique, la , la luminosité et plein d’autres.

Cette article à juste pour but de présenter, à ceux ayant déjà mis en place la première version , les nouveautés et la méthode pour migrer sur la nouvelle version.

Pour les nouveaux il faut suivre cette article : ici

Tout d’abord voici les évolutions :

  • Découpage de l’application par onglet :
    Onglets
  • Dans l’onglet « Bilan » on retrouve maintenant uniquement le récapitulatif de la consommation sur plusieurs périodes, le top cinq des consommations les plus élevés et des liens vers les autres onglets
    Tableau de bord
  • Dans l’onglet « Bilan par périphérique » on retrouve une nouvelle fonctionnalité permettant de voir la consommation de chaque périphérique sur des périodes prédéfinies ou sur la période sélectionnée. On peut aussi cliquer sur la petite icône en bout de ligne pour afficher sous forme de graphique la consommation journalière de chaque périphérique.
    Bilan par périphérique
    Bilan par périphérique par jour
  • Dans l’onglet « Consommation » on retrouve tous les graphiques liés à la consommation de la première version
    Consommations
  • Dans l’onglet « Environnement » on retrouve différents graphiques :
    • Le premier représente la température dans le temps ainsi que les consignes de chauffage dans le temps
    • Le deuxième représente la luminosité dans le temps (un palier de 30 lux a été appliqué afin de limiter les données affichées)
    • Le troisième représente le taux d’humidité dans le temps
    • Le quatrième représente le taux de dans le temps
    • Le cinquième représente la dans le temps
    • Le cinquième représente le dans le temps
    • Le dernier représente la pluie dans le temps

    Environnement

  • Dans l’onglet « Evénements » on retrouve une time line avec les 10 000 derniers changements d’état/valeurs des périphériques (il faut jouer sur la période affichées pour voir les événements plus anciens)
    Evénements
  • Le menu a été revu afin de pouvoir y afficher plus de périphériques sans avoir systématiquement la scrollbar. Un système de plier/déplier à donc été ajouté
    Menu
  • Le d’import des données depuis l’ a été revue afin de gérer les nouvelles fonctionnalités tout en limitant le nombre d’appel à l’API eedomus
  • Une sauvegarde sous forme de fichier (répertoire data) des données bruts récupérées par l’API eedomus a été ajoutée afin de pouvoir via un nouveau script repartir de zéro ou relancer l’import si besoin pour ceux n’ayant pas l’abonnement prémium à l’eedomus et donc avec un historique de 24h uniquement. Attention pour le moment il s’agit juste de la sauvegarde, le script de restauration n’existe pas !!
  • Optimisations diverses sur l’affichage des graphiques
  • La base de donnée a été revue pour plus de flexibilité et de performance

Mise en place

Pour la mise en place depuis zéro, il faut consulter l’article précédent que j’ai mis à jour : ici

Migration

Pour la migration je vais vous expliquer les grandes lignes afin que vous puissiez conserver votre historique pour ceux qui n’ont pas l’abonnement premium d’eedomus.

  • Pour commencer et par mesure de sécurité faites un export de votre base de donnée. Cela permettra de faire un retour arrière si besoin
  • Ensuite renommer votre base de donnée en allant sur phpMyAdmin, votre base de donnée puis dans l’onglet Opération. Remplir ensuite la case « Renommer la base de données comme suit : » en suffixant le nom avec « _old » par exemple
    Renommage BDD
  • Ensuite suivre l’ensemble du premier article pour mettre à jour vos sources et créer une nouvelle base de données. Attention : ne pas lancer l’import avant d’avoir migrer vos données avec la procédure ci-dessous : ici
  • Pour finir il faut récupérer les anciennes données. Pour cela rien de plus simple, il fau exécuter quelques requêtes dont voici quelques exemples :
    • Pour récupérer vos consommations : INSERT INTO nouvelle_base.consommation SELECT * FROM ancienne_base.consommation
    • Pour récupérer vos périphérique : INSERT INTO nouvelle_base.peripherique SELECT * FROM ancienne_base.peripherique
    • Pour récupérer vos pièces : INSERT INTO nouvelle_base.piece (id, libelle) SELECT id, libelle FROM ancienne_base.piece
    • Pour récupérer vos usages : INSERT INTO nouvelle_base.usage_periph SELECT * FROM ancienne_base.usage_periph
    • Pour récupérer vos températures : INSERT INTO nouvelle_base.environnement (date_debut, id, peripherique, valeur) SELECT date_debut, id, peripherique, temperature FROM ancienne_base.temperature; update nouvelle_base.environnement set type= »temperature » where id in (SELECT id FROM ancienne_base.temperature);
  • Maintenant vous pouvez lancer la mise à jour de vos données depuis l’eedomus avec la nouvelle version
  • Une fois la mise à jour effectuée, il faut ajouter des images à vos pièces. Pour cela vous pouvez suivre la procédure dans le premier article

Et voilà normalement vous possédez maintenant la nouvelle version avec les données récolter par la première version !

N’hésitez pas à laisser des commentaires si vous rencontrez des soucis, j’essayerais d’y répondre au mieux.

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Damien

Damien

Passionné d’informatique et étant ingénieur dans le même domaine, je me suis lancé dans l’aventure domotique il y a quelques mois. C’est donc naturellement que j’ai commencé à développer quelques fonctionnalités, que je souhaite partager avec vous !!

30 Comments

Cliquez ici pour poster 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.

  • Un truc comme ca devrait surtout etre integré en natif ds l eedomus.
    Il est vraiment dommage de voir qu un pan aussi important de la domotique ne soit pas gerer correctement par n importe ql box domotique.

  • Bonjour,

    je suis de passer à ta version 2 (super travail). Je suis reparti de zéro, donc pas de migration.
    J’ai toujours ce message d’erreur dans la fonction d’import :
    Notice: Undefined index: type in /var/nginx/www/domotique/eedomus/consoelec/importEedomus.php on line 30

    Notice: Undefined index: type in /var/nginx/www/domotique/eedomus/consoelec/importEedomus.php on line 31

    Notice: Undefined index: type in /var/nginx/www/domotique/eedomus/consoelec/importEedomus.php on line 32

    Merci d’avance.

  • bonjour,
    merci pour ce super boulot !!

    j’ai une question , pour ajouter un type de mesure (par exemple le vent) ou je doit le faire ?(j’ai pas de mesure de co2, je peut le changer en mesure de vent par exemple)

    merci d’avance et encor Bravo pour ce partage

    • Oui tu peut remplacer co2 par ton type il faut juste penser a modifier la colonne type de la table environnement en base de donnée pour ajouter ton type.

      • Bonjour

        y à t’il moyen de faire un « bouton » pour lancer manuellement depuis eedomus l’export bdd. Pratique lorsque l’on teste l’ajout ou la modification de périphériques dans le fichier de configuration ?

        Merci

  • Bonjour,

    La gestion est un peu plus complexe que ce qui est déjà implémenté car il faut récupérer pour chaque période/tranche horaire le type de journée …
    Si tu te sens de le faire fonce !!! 🙂

    Je n’ai pas eu le courage d’autant plus que je n’en ai pas l’utilité pour le moment.

    Le code est à mettre avec les autres type d’abonnement EDF.

    Bonne soirée

  • J’ai vu que tu avais ajouté la consigne chauffage, c’est super!!!
    Par contre, il faut chercher le code API qui n’est pas montré dans le périphérique en lui même.
    Pour ceux qui vont le chercher, il faut allez dans « Configuration » et la, dans les collones du tableau, on peux rajouter les ID des périphériques et hop le tour est joué.

    Merci pacific_boy

  • bonsoir
    voila mon probleme
    dans bilan par peripherique j’en ai 6 qui fonctionne bien j’en ai rajoute 3 et je n’arrive pas a les voir
    ca enregistre bien dans la base de donnees dans consommation mais pas dans la base peripherique
    alors que j’ai fait pareil que les autres
    y a t’il un nombre maxi
    pouvez vous m’aider
    cdt
    chris

  • Bonjour,

    Avant tout, bravo et merci pour ce script très sympa 🙂

    Pour répondre à Christophe, j’ai le même problème.
    A priori il manque l’inscription en base des périphériques, c’est pour ça qu’ils n’apparaissent pas alors que leurs valeurs sont bien stockées.
    Ma solution a été d’insérer « manuellement » les entrées dans la table « peripherique » en mettant l’ID de leur pièce et l’ID « consommation » qui est le 26.

    Voilà.
    Après, pour voir pourquoi ils ne s’inscrivent pas automatiquement en base, ça.. J’ai pas encore cherché 😉

  • Pour information : il semblerait que l’API eedomus ne renvoi pas les consomètres via l’API eedomus qui permet de lister l’ensemble des périphériques. Un mail va leur être envoyé pour leur signaler le problème

  • bonjour
    je suis entrain de suivre le tuto V1 pour mettre en place les scripts sur mon syno avec PHPMyadmin.
    mais j’ai une petite question bête une vois que tout est configuré pour les exports depuis eedomus dans la bdd, comment consulte t’on les données comme les beaux screnshot que tu nous as présenté ?

    merci
    arnaud

  • @Damien,

    Je me suis permis de modifier chez moi la valeur « ordinal: true » à la ligne 741 du fichier tableau-de-bords.js.
    En effet, je voulais avoir le graph de la luminosité extérieures qui m’affiche aussi les périodes « sombres » ayant une valeur à 0 (donc la durée de la nuit).
    Bien que ce paramètre soit global, ça n’impacte pas mes autres graph qui ne connaissent pas de périodes creuses que j’aurais souhaité masquer.

  • salut,

    j’ai un pb avec l’export des données: Operation timed out after 20006 milliseconds with 0 bytes received ceci est le message de l’eedomus avec la fonction Test,

    j’utilise un synology, le dossier eedomus/conso/data est bien dans le le dossier web, le partage là j’ai un doute car eedomus est considérer comme user admin ou autre???? au vu du syno

    j’arrive a collecter les information mais seulement en passant par la commande manuel ( en haut a droite)

    http://192.168.XX.XX/eedomus/conso/

    merci de ton aide

  • J’ai le même problème concernant le job qui tourne en boucle avec les erreurs de Timeout.
    Mais pour répondre à la question sur les droits, c’est le User Web Http qui est utilisé et ça ne pose pas de problème (j’utilise déjà ce genre de chose pour interfacer eeDomus avec Asterisk).

    Par contre, je viens de me rendre compte que certains périphériques ont bien été remonté la première fois, mais maintenant, plus aucune valeur ne remonte… Est-ce lié au timeout justement ?

  • bonjour

    excellent développement j ai simplement un problème je n’ai aucune donnée dans l’affichage de l’onglet événement

    merci d’avance

  • Pour la prise Greenwave, non cela ne fonctionne toujours pas.
    C’est confirmé par le support Eedomus mais qui informe que cette résolution n’est pas une priorité donc qu’elle viendra ultérieurement…

  • Bonjour Damien
    Je me sers de ton appli depuis quelques mois et je souhaiterai faire quelques travaux dedans. Mais avant j’aimerai qu’elle soit mise à disposition de tout le monde via github. Comme ca chacun pourrait apporter ses améliorations et contribuer à cet appli.
    Est ce que tu t’occupes de le faire ? sinon je veux bien m’en charger, en t’en laissant la paternité 🙂

  • Bonjour Damien,

    Je viens vers toi, car ma base date du 11/2015, et cela devient trés long pour le chargement des donnée. Y a t’il une solution pour que cela soit plus rapide?