Forum eedomus
http://forum.eedomus.fr/

[MAJ] Interface graphique des consommations et températures
http://forum.eedomus.fr/viewtopic.php?f=12&t=2398
Page 1 sur 6  Suivant »
Auteur:  pacific_boy [ 31 Jan 2015 18:07 ]
Sujet du message:  [MAJ] Interface graphique des consommations et températures

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.
Auteur:  olivvvv [ 01 Fév 2015 15:14 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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
Auteur:  olivvvv [ 01 Fév 2015 17:01 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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 ?
Auteur:  pacific_boy [ 01 Fév 2015 21:13 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  olivvvv [ 01 Fév 2015 21:32 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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é 31999 fois


Tu as vu je pousse les tests ;)
Auteur:  pacific_boy [ 01 Fév 2015 21:39 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  olivvvv [ 01 Fév 2015 22:02 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

Ok vu, merci
Auteur:  Nico33 [ 03 Fév 2015 08:30 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  Nico33 [ 03 Fév 2015 08:35 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  pacific_boy [ 03 Fév 2015 08:50 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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 ?
Auteur:  pacific_boy [ 03 Fév 2015 08:50 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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 ...
Auteur:  Nico33 [ 03 Fév 2015 10:09 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  pacific_boy [ 03 Fév 2015 10:13 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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. ..
Auteur:  Nico33 [ 03 Fév 2015 10:51 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  Orel' [ 04 Fév 2015 10:06 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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.
Auteur:  pacific_boy [ 04 Fév 2015 10:10 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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é?
Auteur:  baltimore [ 05 Fév 2015 16:52 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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
Auteur:  pacific_boy [ 05 Fév 2015 16:56 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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
Auteur:  baltimore [ 05 Fév 2015 17:01 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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
Auteur:  pacific_boy [ 05 Fév 2015 17:06 ]
Sujet du message:  Re: [MAJ] Interface graphique des consommations et températu

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
Page 1 sur 6 Le fuseau horaire est UTC+1 heure