[MAJ] Interface graphique des consommations et températures

Partagez ici vos astuces et idées d'utilisation d'eedomus

[MAJ] Interface graphique des consommations et températures

Messagepar pacific_boy » 31 Jan 2015 18:07

Bonjour à tous,

Me revoilà avec une nouvelle version de mon application pour suivre la consommation électrique, la température, 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 : http://forum.eedomus.com/viewtopic.php?f=12&t=2185&p=19790#p19790

Tout d'abord voici les évolutions :
  • Découpage de l'application par onglet :
    Image
  • 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
    Image
  • 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.
    Image
    Image
  • Dans l'onglet "Consommation" on retrouve tous les graphiques liés à la consommation de la première version
    Image
  • 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 C.O.2 dans le temps
    • Le cinquième représente la pression dans le temps
    • Le cinquième représente le bruit dans le temps
    • Le dernier représente la pluie dans le temps
    Image
  • 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)
    Image
  • 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é
    Image
  • Le script d'import des données depuis l'eedomus 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 : http://forum.eedomus.com/viewtopic.php?f=12&t=2185&p=19790#p19790

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
    Image
  • 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 : http://forum.eedomus.com/viewtopic.php?f=12&t=2185&p=19790#p19790
  • Pour finir il faut récupérer les anciennes données. Pour cela rien de plus simple, il fau exécuter quelques requêtes SQL dont voici quelques exemples :
    • Pour récupérer vos consommations :
      Code : Tout sélectionner
      INSERT INTO nouvelle_base.consommation SELECT * FROM ancienne_base.consommation

    • Pour récupérer vos périphérique :
      Code : Tout sélectionner
      INSERT INTO nouvelle_base.peripherique SELECT * FROM ancienne_base.peripherique

    • Pour récupérer vos pièces :
      Code : Tout sélectionner
      INSERT INTO nouvelle_base.piece (id, libelle) SELECT id, libelle FROM ancienne_base.piece

    • Pour récupérer vos usages :
      Code : Tout sélectionner
      INSERT INTO nouvelle_base.usage_periph SELECT * FROM ancienne_base.usage_periph

    • Pour récupérer vos températures :
      Code : Tout sélectionner
      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.
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar olivvvv » 01 Fév 2015 15:14

Hello,

Déjà, géniale ta mise à jour ! merci !

Rapidement, ta procédure de migration est au top, tout fonctionne, la reprise des données..., top !
J'ai ensuite modifié le fichier "paramètres" pour ajouter les "types" et relancé un import manuellement, pareil tout fonctionne à merveille.

je vais m'empresser d'ajouter d'autres périphériques et te ferai un retour !

A+
Olivier
olivvvv
 
Messages : 134
Inscription : 10 Sep 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar olivvvv » 01 Fév 2015 17:01

Déjà une question ;)

Si je souhaite ajouter une courbe de poids, je vais donc paramétrer mon fichier comme suit :

// Poids
// array("id"=>XXXXXXX,"type"=>"poids"),

J'ajoute un nouveau type d'envirronnement "poids"

// Type d'environnement possible
$typeEnvironnement = array("temperature","consigne_chauffage","luminosite","humidite","decibelmetre","pression","pluviometre", "co2","poids");

Cela suffit à enregistrer les données dans la table ?
olivvvv
 
Messages : 134
Inscription : 10 Sep 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 01 Fév 2015 21:13

olivvvv a écrit:Déjà une question ;)

Si je souhaite ajouter une courbe de poids, je vais donc paramétrer mon fichier comme suit :

// Poids
// array("id"=>XXXXXXX,"type"=>"poids"),

J'ajoute un nouveau type d'envirronnement "poids"

// Type d'environnement possible
$typeEnvironnement = array("temperature","consigne_chauffage","luminosite","humidite","decibelmetre","pression","pluviometre", "co2","poids");

Cela suffit à enregistrer les données dans la table ?


Oui normalement cela suffit pour enregistrer les données en base de données.
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar olivvvv » 01 Fév 2015 21:32

Effectivement je vois la donnée en base (au passage vous avez mon poids donc :) )
Par contre pas de type à côté, normal ?

ScreenShot03376.png
ScreenShot03376.png (6.63 Kio) Consulté 19060 fois


Tu as vu je pousse les tests ;)
olivvvv
 
Messages : 134
Inscription : 10 Sep 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 01 Fév 2015 21:39

olivvvv a écrit:Effectivement je vois la donnée en base (au passage vous avez mon poids donc :) )
Par contre pas de type à côté, normal ?

ScreenShot03376.png


Tu as vu je pousse les tests ;)


Sa va pas besoin de régime :)

Ah oui j'ai oublié pour le type, la colonne mySql est un enum, il faut donc modifier la colonne pour lui rajouter le type poids dans la liste.
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar olivvvv » 01 Fév 2015 22:02

Ok vu, merci
olivvvv
 
Messages : 134
Inscription : 10 Sep 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar Nico33 » 03 Fév 2015 08:30

Superbe outil que j'ai installé hier soir. Bravo !
Ton tuto est clair. Ca a marché du premier coup.
Je n'ai pas encore mis tous les appareils mais ça sera fait rapidement.
La seule petite chose constatée et que lorsqu'on veut rafraichir les données, ça semble mouliner pendant des minutes ... Je ne sais pas si c'est normal que ce soit aussi long sachant que je n'ai mis qu'une douzaine de relevés et que j'ai pas l'abonnement.
Du coup, je rafraichis la page au bout de 2 min et c'est ok.
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar Nico33 » 03 Fév 2015 08:35

ah si autre chose, dans l'affichage des évènements (qui ressemble à s'y méprendre à celui de la HC2 ;) et qui est super pratique), si le nom est trop long, la date descend d'une ligne et se superpose à l'état. Ce qui rend le tout illisible.
Je suis sur Firexfox à la dernière version.
Je peux te faire copie d'écran si nécessaire.
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 03 Fév 2015 08:50

Nico33 a écrit:Superbe outil que j'ai installé hier soir. Bravo !
Ton tuto est clair. Ca a marché du premier coup.
Je n'ai pas encore mis tous les appareils mais ça sera fait rapidement.
La seule petite chose constatée et que lorsqu'on veut rafraichir les données, ça semble mouliner pendant des minutes ... Je ne sais pas si c'est normal que ce soit aussi long sachant que je n'ai mis qu'une douzaine de relevés et que j'ai pas l'abonnement.
Du coup, je rafraichis la page au bout de 2 min et c'est ok.


Essaye de lancer le script importEedomus directement dans le navigateur sans utiliser le bouton de mise à jour des données pour voir si tu n'aurais pas des erreurs d’exécutions ?
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 03 Fév 2015 08:50

Nico33 a écrit:ah si autre chose, dans l'affichage des évènements (qui ressemble à s'y méprendre à celui de la HC2 ;) et qui est super pratique), si le nom est trop long, la date descend d'une ligne et se superpose à l'état. Ce qui rend le tout illisible.
Je suis sur Firexfox à la dernière version.
Je peux te faire copie d'écran si nécessaire.


Pour le problème d'affichage je suis au courant mais je n'ai pas eu le temps de m'en occuper. Ma parade, renommer vos périphériques avec des noms assez court en attendant une mise à jour ...
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar Nico33 » 03 Fév 2015 10:09

Merci pour tes réponses.
J'ai bien 21 fois la même erreur : Notice: Undefined variable: retour in /volume1/web/eedomus/importEedomus.php on line 275
Je pense que c'est parce que j'ai laissé des périphs avec 999999 dans la conf?
Toutefois, le script lancé depuis un navigateur tourne en moins de 20 secondes.
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 03 Fév 2015 10:13

Nico33 a écrit:Merci pour tes réponses.
J'ai bien 21 fois la même erreur : Notice: Undefined variable: retour in /volume1/web/eedomus/importEedomus.php on line 275
Je pense que c'est parce que j'ai laissé des périphs avec 999999 dans la conf?
Toutefois, le script lancé depuis un navigateur tourne en moins de 20 secondes.


Oui effectivement il ne faut pas laisser de periph en 999999

En faite c'est normal que tu ai l'impression que sa tourne en boucle quand tu clique sur le bouton car sa radraichi la page que quand il n'y a pas d'erreur. ..
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar Nico33 » 03 Fév 2015 10:51

Je confirme, en mettant à jour tous les champs des périphs et en commentant ceux dont je n'avais pas besoin, ça tourne nickel. J'ai bien une fenêtre qui me dit MAJ ok.
Super !

Il reste juste la fenêtre des évènements avec le défaut de superposition et après ce sera top.
En tout cas l'interface est très belle et bien pratique.
Merci encore.
Nico33
 
Messages : 1013
Inscription : 14 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar Orel' » 04 Fév 2015 10:06

Bonjour,

j'ai un problème, j'ai suivi la procedure mais quand il faut faire la mise à jour par importeedomus.php, j'ai une page blanche, idem avec index.php. j'ai vérifie le chemin d'acces et il est correct. pour vérifié j'ai activé les erreurs PHP sur le syno et quand je relance la requête, il me met:
Parse error: syntax error, unexpected 'id' (T_STRING), expecting ')' in /volume1/web/eedomus/statistiques/sources/parametres.php on line 148

la ligne 148 correspond à:
// array("id"=>999999, "type"=>"co2", "evennement"=>true, "unite"=>"ppm", "libelle"=>"C.0.2 Salon"),

a savoir que j'ai mit des // pour rendre inactif les périphériques dont je ne me sert pas.

cela fait une heure que je cherche l'origine du problème, sans succes.

EDIT: aucune valeurs dans les bases Mysql..

merci de votre aide.
Dernière édition par Orel' le 04 Fév 2015 10:12, édité 1 fois.
Eedomus +
Orel'
 
Messages : 214
Inscription : 01 Mars 2014
Localisation : Val d'Oise - France

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 04 Fév 2015 10:10

Orel' a écrit:Bonjour,

j'ai un problème, j'ai suivi la procedure mais quand il faut faire la mise à jour par importeedomus.php, j'ai une page blanche, idem avec index.php. j'ai vérifie le chemin d'acces et il est correct. pour vérifié j'ai activé les erreurs PHP sur le syno et quand je relance la requête, il me met:
Parse error: syntax error, unexpected 'id' (T_STRING), expecting ')' in /volume1/web/eedomus/statistiques/sources/parametres.php on line 148

la ligne 148 correspond à:
// array("id"=>999999, "type"=>"co2", "evennement"=>true, "unite"=>"ppm", "libelle"=>"C.0.2 Salon"),

a savoir que j'ai mit des // pour rendre inactif les périphériques dont je ne me sert pas.

cela fait une heure que je cherche l'origine du problème, sans succes.

merci de votre aide.


Peux tu m'envoyer ton fichier paramètre par message privé?
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar baltimore » 05 Fév 2015 16:52

Bonjour,

J'avais installé la version 1.07 sans problème il y a environ une semaine mais avec la 2.0 je coince.
Tout d'abord premier point j'ai supprimé l'ancienne base et créé une nouvelle. Je ne voulais pas spécialement récupérer mon historique.

Lorsque je teste j'ai l'erreur suivante :

Warning: fopen(./data/caracteristiques_20150205163851.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 19

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 21

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 23
Erreur SQL avec la requete : INSERT INTO `piece` (`id`,`libelle`) VALUES (12642,'Salle à manger') ON DUPLICATE KEY UPDATE `libelle`='Salle à manger';<br />No database selected<br />


Du coup je me dit que je n'ai pas fait la partie

Encore deux étapes :

Pour la sauvegarde du flux renvoyé par l'eedomus il faut donner les droits d'accès en lecture/écriture au processus HTTP au répertoire "data" des sources téléchargées...


Mais lorsque je vais dans ma base de données je n'ai aucun enregistrement dans la base pièce.

Une idée ?

En tout cas merci pour ton boulot.

A+
Baltimore
baltimore
 
Messages : 101
Inscription : 12 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 05 Fév 2015 16:56

baltimore a écrit:Bonjour,

J'avais installé la version 1.07 sans problème il y a environ une semaine mais avec la 2.0 je coince.
Tout d'abord premier point j'ai supprimé l'ancienne base et créé une nouvelle. Je ne voulais pas spécialement récupérer mon historique.

Lorsque je teste j'ai l'erreur suivante :

Warning: fopen(./data/caracteristiques_20150205163851.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 19

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 21

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 23
Erreur SQL avec la requete : INSERT INTO `piece` (`id`,`libelle`) VALUES (12642,'Salle à manger') ON DUPLICATE KEY UPDATE `libelle`='Salle à manger';<br />No database selected<br />


Du coup je me dit que je n'ai pas fait la partie

Encore deux étapes :

Pour la sauvegarde du flux renvoyé par l'eedomus il faut donner les droits d'accès en lecture/écriture au processus HTTP au répertoire "data" des sources téléchargées...


Mais lorsque je vais dans ma base de données je n'ai aucun enregistrement dans la base pièce.

Une idée ?

En tout cas merci pour ton boulot.

A+
Baltimore

Il doit te manquer la declaration de ta base de donnée dans le fichier paramètre
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Re: [MAJ] Interface graphique des consommations et températu

Messagepar baltimore » 05 Fév 2015 17:01

Oui trop rapide. C'est ce que je viens de vois j'étais en train de modifier mon message.

Maintenant j'ai une autre erreur :


Warning: fopen(./data/caracteristiques_20150205165819.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 19

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 21

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 23

Warning: fopen(./data/historique_peripheriques_120960_20150205165819.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 260

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 262

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 264
1


Cette fois la base Pièce est bien rempli mais bizarre ces warnings, normal ?

A+
Baltimore
baltimore
 
Messages : 101
Inscription : 12 Juin 2013

Re: [MAJ] Interface graphique des consommations et températu

Messagepar pacific_boy » 05 Fév 2015 17:06

baltimore a écrit:Oui trop rapide. C'est ce que je viens de vois j'étais en train de modifier mon message.

Maintenant j'ai une autre erreur :


Warning: fopen(./data/caracteristiques_20150205165819.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 19

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 21

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 23

Warning: fopen(./data/historique_peripheriques_120960_20150205165819.txt): failed to open stream: Permission denied in /volume1/web/eedomus/importEedomus.php on line 260

Warning: fputs() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 262

Warning: fclose() expects parameter 1 to be resource, boolean given in /volume1/web/eedomus/importEedomus.php on line 264
1


Cette fois la base Pièce est bien rempli mais bizarre ces warnings, normal ?

A+
Baltimore


sa c'est ce que tu disais tout a l'heure. Il faut que tu donne les droits en écriture a ton répertoire data sinon le script ne peut oas sauvegarder le flux retourné par l'eedomus
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 !!
pacific_boy
 
Messages : 81
Inscription : 23 Nov 2014

Suivant

Retour vers Mes usages

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron