Plugin-teleo (pour compteur Veolia)

Si tu es client de Veolia Grand Lyon, le plugin ne prend pas en charge ce site, les données accessibles ne contiennent pas l’index de consommation sur lequel est basé les calculs du plugin

OK, dommage. Effectivement, client Veolia Grand Lyon.
merci, je vais rester en veille sur ce fil, peut être qu’il aura une évolution sur le site prochainement

En fait s’il devient possible d’avoir l’index dans le fichier exporté je pourrais l’intégrer mais je doute que le site évolue car il m’a semblé lire que Veolia allait perdre son monopole à Lyon en 2022

Oui, je l’ai lu aussi, mais je voulais rester positif :woozy_face:

Salut @mgo,
J’avais le même problème que toi, installation qui boucle non-stop.
J’ai désactivé le plugin et me suis connecté en ssh sur jeedom.
Enfin j’ai lancé la commande suivante dans le répertoire du plugin :

cd /var/www/html/plugins/teleo/resources
bash install_apt.sh

Comme dit précédemment, l’installation est très longue mais fonctionne.
Ensuite tu as simplement à activer le plugin et c’est ok.
@Aegis,
Merci pour ce plugin. Petite remarque, j’ai dû modifier mon mot de passe car celui-ci contenait le caractère single quote et me générait l’erreur suivante :

Erreur de lancement du script : problème de droits d'exécution - Abandon

Après changement du MDP, tout fonctionne.

Hello

Merci pour ton retour. Pour les dépendances je regarderai ce week-end pour voir s’il est possible de faire autrement.

Pour le password oui effectivement les simple quote posent problème

Hello,

Peux-tu taper en ssh la commande suivante :

 sudo apt-get install -y python3-lxml

J’ai poussé la version de la semaine dernière plus une nouvelle version en Beta et Stable :

07/02/2021

  • Ajout de la personnalisation de la couleur de template comme dans le plugin Linky de @Salvialf
  • Réorganisation des paramètres de l’équipement pour plus de lisibilité
  • Ajout d’un paramètre Contrat pour les utilisateur de Veolia IDF uniquement, permettant d’indiquer sur quel contrat se fait la récupération des données (à n’utiliser que si plusieurs contrats sont liés à un même compte). Cependant le plugin ne permet pas actuellement de gérer plusieurs compteurs pour une même installation Jeedom.

13/02/2021

  • Ajout sudo sur la commande de suppression du fichier de mesure
  • Gestion simple/double quote dans le mot de passe

De plus j’ai modifié l’installation de lxml en essayant d’abord sudo apt-get install -y python3-lxml
et limité la durée d’installation autorisée à 30 minutes.

1 « J'aime »

j’ai réinstallé le plugin, il n’y a pas eu de problème pour les dépendances qui se sont installées en 5 min

Merci beaucoup, je vais maintenant testé le plugin

Hello

Pour ceux qui veulent un petit truc avec les stats jeedom :

Repiquer les infos du plugin, c’est pas obligatoire mais ça permet d’avoir tout au sein d’un même virtuel

Coté stats on dispose des valeurs -1, du ratio j/j-1 et d’une estimation du tarif


Valeurs-1 (plus facile pour copier/coller)

lastBetween(#[Au sous-sol][EauTeleo][Conso Jour]#,,2 day ago)
lastBetween(#[Au sous-sol][EauTeleo][Conso Hebdo]#,,last sunday 23:59)
lastBetween(#[Au sous-sol][EauTeleo][Conso Mensuelle]#,,last day of 1 month ago 23:59)

Tarifs

#[Au sous-sol][EauTeleo][Conso Jour]#*#[Au sous-sol][Eau][Prix m3]#
#[Au sous-sol][EauTeleo][Conso Hebdo]#*#[Au sous-sol][Eau][Prix m3]#
#[Au sous-sol][EauTeleo][Conso Mensuelle]#*#[Au sous-sol][Eau][Prix m3]#

Tendances (proportions c’est plus exact)

#[Au sous-sol][EauTeleo][Conso Jour]#/#[Au sous-sol][Eau][Jour-1]#*100
#[Au sous-sol][EauTeleo][Conso Hebdo]#/#[Au sous-sol][Eau][Hebdo-1]#*100
#[Au sous-sol][EauTeleo][Conso Mensuelle]#/#[Au sous-sol][Eau][Mois-1]#*100

Ensuite à chacun sa mise en forme
image

3 « J'aime »

Encore merci, tout à l’air de fonctionner
une petite alerte lors de la création du plugin, j’ai perdu le contact avec jeedom, mais en redémarrant tout est rentré dans l’ordre…

La création du plugin ou de l’équipement ?

C’est la création de l’équipement apparemment.
la création des dépendance se fait mais sans message de fin
sinon tout à l’air ok

Bonjour Aegis,
Désolé mais je n’ai plus mon RPI3 B+, j’ai acheté un 4 et revendu mon 3 afin de minimiser les frais.
A l’occasion, je demanderai à un collègue de faire le test voir si on a le même phénomène que mgo, mais vu les commentaires, ça a l’air de fonctionner.

En tout cas, merci pour ce que tu fais (ainsi que tous les autres pour leur contribution).

Hello.

Petit retour, je ne sais pas si c’est un problème que tu viens de corriger, je te le signale tout de même @Aegis.

Je suis sur la dernière beta.
Je viens de me rendre compte qu’il y a un trou dans l’historique de la consommation Jour entre le 01/02 et le 13/02.
Ca peut coïncider avec la mise à jour du plugin le 13/02.
La commande Index est bien complète, des valeurs pour tous les jours.
Voilà les log

Screen et log


teleoFlo.txt (103,3 Ko)

Hello, oui c’est possible, il y avait un pb de suppression du fichier de mesure pour certains (tu peux vérifier si c’est bien ce bug tu dois avoir plusieurs fichiers csv dans le répertoire d’export)

1 « J'aime »

Exact, 2 fichiers csv identiques.

Bonjour
De mon côté, installation des dépendances ok.

Par contre de façon aléatoire, la récupération ne fonctionne pas.
La log teleo_python.log est correcte et le script sort correctement.
Par contre, c’est comme si le script teleo.class.php s’arrêtait brutalement. Tout le système de traitement puis suppression du fichier historique_jours_litres.csv n’est donc pas effectué et donc je me retrouve avec multiples versions de ce fichier.

Pour le savoir, j’ai ajouté une log dans le fichier après le shell_exec et cette log n’est pas affichée… donc il semble bien que le traitement s’arrête brutalement.

Merci pour votre aide,
Olivier

Log teleo.log

[2021-02-17 19:30:15][INFO] : [Notre chez nous][Veolia] Récupération des données - 1ère étape
[2021-02-17 19:30:15][INFO] : [Notre chez nous][Veolia] 1ère étape d’authentification Veolia
[2021-02-17 19:30:15][DEBUG] : [Notre chez nous][Veolia] Commande : sudo /var/www/html/plugins/teleo/resources/get_veolia_data.sh IDF ‹ xxx › « xxx » /tmp/teleo 100

puis plus rien

Log teleo_python.log qui montre que le traitement se termine correctement

[2021-02-17 20:58:23,304][DEBUG] : [Script Python] Finished Request
[2021-02-17 20:58:23,317][INFO] : [Script Python] Fermeture display. Exit code 1
[2021-02-17 20:58:23,318][DEBUG] : [Script Python] unset $DISPLAY
[2021-02-17 20:58:23,944][DEBUG] : [Script Python] stdout=b''
[2021-02-17 20:58:23,945][DEBUG] : [Script Python] stderr=b''

Code modifié de teleo.class.php pour ajouter la log

		  log::add(__CLASS__, 'debug', $this->getHumanName() . ' Commande : ' . $cmdBash);
		  $output = shell_exec($cmdBash);
		  log::add(__CLASS__, 'debug', $this->getHumanName() . ' Fin commande : ' . $cmdBash);

Hello,

Une petite série de questions :

  • Peux-tu me dire sur quel matériel tourne ton jeedom ?
  • Combien de temps mets le script python à récupérer les données dans le cas où çà fonctionne et dans le cas où cela ne fonctionne pas ?
    (Prends le temps entre [Script Python] Initialisation browser et [Script Python] Fermeture display. Exit code 1)
  • Peux-tu regarder dans le log cron_execution si tu as des erreurs liées à l’exécution du plugin ?

Hello

Raspberry PI3… peut être est-ce lié à cela car la machine commence à dater…

Ce jour cela a fonctionné 2 fois et cela a duré 01:50 et 02:12
Les autres fois quand cela n’a pas fonctionné : 02:33 01:37 05:00 01:27 01:33 01:41 01:28 01:23 01:54 01:35 01:29 01:33 01:35 02:01

Par contre, j’ai retrouvé dans la log cron l’arrêt brutal du process qui explique pourquoi le traitement s’arrête (les 2 seules horaires où il n’est pas arrêté, le traitement se passe bien (07h31 et 22h31) qui sont absents de cette log

[2021-02-18 05:31:15][INFO] : Arrêt de plugin::cron(), PID : 26394
[2021-02-18 06:31:03][INFO] : Arrêt de plugin::cron(), PID : 27992
[2021-02-18 07:31:16][INFO] : Arrêt de plugin::cron(), PID : 29920
[2021-02-18 09:31:03][INFO] : Arrêt de plugin::cron(), PID : 20657
[2021-02-18 10:31:03][INFO] : Arrêt de plugin::cron(), PID : 11018
[2021-02-18 11:31:05][INFO] : Arrêt de plugin::cron(), PID : 6092
[2021-02-18 12:15:02][INFO] : Arrêt de plugin::cron(), PID : 24282
[2021-02-18 12:31:02][INFO] : Arrêt de plugin::cron(), PID : 2629
[2021-02-18 13:31:05][INFO] : Arrêt de plugin::cron(), PID : 29767
[2021-02-18 14:31:03][INFO] : Arrêt de plugin::cron(), PID : 26694
[2021-02-18 15:31:03][INFO] : Arrêt de plugin::cron(), PID : 18383
[2021-02-18 16:31:02][INFO] : Arrêt de plugin::cron(), PID : 19897
[2021-02-18 17:31:03][INFO] : Arrêt de plugin::cron(), PID : 21160
[2021-02-18 18:31:07][INFO] : Arrêt de plugin::cron(), PID : 24694
[2021-02-18 19:31:04][INFO] : Arrêt de plugin::cron(), PID : 25162
[2021-02-18 20:31:09][INFO] : Arrêt de plugin::cron(), PID : 2479
[2021-02-18 21:31:03][INFO] : Arrêt de plugin::cron(), PID : 8721

Je n’ai rien vu de special dans cron_execution… donc à comprendre maintenant pourquoi cron ou jeedom kill ce process…
Merci

Pour comparaison sur mon RPI4 4Go, la récupération tourne autour de 40s

La tâche cron plugin à un timeout de 2min, je pensais que c’était dû à ce timeout mais tes résultats montrent des fails avec une durée inférieure. Cependant on va essayer d’augmenter la valeur pour voir si ça améliore les choses :

Dans Réglages - Système - Moteur de tâches, change la valeur du timeout de la ligne plugin / Cron (attention il y aussi une ligne Jeedom / Cron) à 3 minutes sauve et attends la prochaine mise à jour (supprime les fichiers csv du répertoire d’export).