La Geek Attitude

A la recherche de solutions pour améliorer le quotidien

Premiers pas de développeur

Voilà maintenant quelques semaines qu’une idée me taraude l’esprit car j’ai un besoin que Jeedom ne comble pas pour le moment: l’exportation par mail d’une représentation graphiques des données historisées. Je voudrais que chaque premier du mois, Jeedom m’envoi un mail avec les graphiques de mes équipements pour les commandes choisies.

Mon but est de pouvoir consulter mes historiques en dehors de Jeedom, de les stocker quelque part mais également de ne pas garder à vie toutes les valeurs pour ne pas remplir la base de données.

N’ayant pas eu de retour sur un post que j’ai mis sur le forum de Jeedom, j’ai tenté de trouver une solution par moi-même.

La première a été de directement plonger dans la documentation pour développer un plugin… J’ai vite déchanté car, certes, je connais un peu le PHP mais j’ai du mal à rentrer dans la logique qu’il faut suivre pour réaliser un tel développement.

J’ai donc tenté une autre approche qui est de créer un script utilisable dans le plugin script de Jeedom pour générer du code HTML qui pourrait être stocké dans une variable et ensuite être transmis par mail via une scénario. Sur ce coup, je me sentais un peu plus confiant mais fallait-il d’abord trouver les bons outils pour générer des graphiques.

J’ai donc installé un Jeedom de dev sur une machine virtuelle sous Debian Jessie ainsi que PhpMyAdmin et je me suis lancé dans l’aventure. Après avoir écumé quelques sites, je suis tombé sur une librairie javascript permettant assez facilement la création de graphiques: CanvasJS.

La version d’essai est totalement utilisable et montre simplement un petit message qui en informe l’utilisateur.

J’ai donc utilisé le plugin Monitoring pour historiser les températures du processeur du Jeedom de Prod, de mon Raspberry PI3 où tourne un serveur Plex et enfin le serveur virtuel sur lequel mon environnement de test fonctionne.

J’ai du changer les droits d’accès du répertoire /var/www/html pour me permettre d’y créer un répertoire et y mettre mon fichier php ainsi que la librairie CanvasJS. Mon premier jet, développer tout à fait en dehors de Jeedom, ressemble à ceci:

Grahps.jpg

Les valeurs sont condensées à des jours précis car je n’ai pas laissé tourner ma machine virtuelle constamment. Je vais peut-être penser à restaurer un backup de mon serveur de prod pour avoir plus de données. Au final, cela rend exactement ce que je voudrais.

Hormis le code PHP que je suis en train de peaufiner pour dynamiquement pouvoir créer un graphique de ce type sur base de l’ID de la commande, je me pose déjà des questions pour l’après:

  • Comment donner accès à la base de données à mon script? Actuellement, j’ai mis en dur le login et mot de passe. Peut-être existe-t-il une class ou un fichier php à inclure pour directement accéder à la base de données.
  • Comment écrire le résultat de l’exécution du script, à savoir du code HTML, dans une variable pour l’envoyer ensuite par mail en utilisant le plugin Mail?

Si certains ont déjà travaillés sur ce type de projet, cela m’intéresse histoire de ne pas réinventer la roue. Si je me lance dans quelque chose d’inédit, une aide ne serait pas de refus pour, à terme, peut-être créer un vrai plugin permettant via une interface type « ajout d’équipement » dans jeedom, ce serait encore mieux.

EDIT du 28/05/2017: Je n’avais pas bien vu les conditions d’utilisation de cette libraire et il semble qu’on ne puisse pas l’utiliser plus de 60 jours. J’ai donc cherché une autre solution et un nouvel article sera rédigé avec le nouveau choix: Chart.js

Publicités

6 commentaires sur “Premiers pas de développeur

  1. lunarok
    28 mai 2017

    Pour info, en v3 il y a une gestion des rapports intégrée 🙂 On choisit le design et la fréquence et ca génère des rapports automatiquement.

    J'aime

    • Didier Rombauts
      28 mai 2017

      Merci pour l’information. Je vais quand même continuer à tenter de comprendre les plugins en ayant quelque chose de concret, histoire d’apprendre. J’installerai cette v3 pour voir comment cet export fonctionne 😉

      J'aime

    • Didier Rombauts
      4 juin 2017

      Y a-t-il un moyen de récupérer cette v3 pour que je puisse la tester un peu et voir à quoi ressemble cet export de rapport? Je suis assez frileux de passer directement à la v3 (je n’ai même pas encore migré vers la dernière version du plugin zwave car mon installation fonctionne très bien).

      J'aime

      • lunarok
        4 juin 2017

        Tout est expliqué dans la doc Jeedom, il y a une notice dédiée pour le passage en beta.

        J'aime

      • Didier Rombauts
        5 juin 2017

        Merci, je vais regarder cela 😉

        J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Information

Cette entrée a été publiée le 27 mai 2017 par dans consommation, développements, domotique, et est taguée , , , , , , .

Archives

Catégories

%d blogueurs aiment cette page :